Picproje Elektronik Sitesi

DERLEYİCİLER => PIC Assembly => Konuyu başlatan: crapsh - 31 Ocak 2013, 14:42:01

Başlık: 12F675 kullanarak buton ile led kontrolü
Gönderen: crapsh - 31 Ocak 2013, 14:42:01
Merhaba Arkadaşlar,

12F675 de buton ile led kontrolü gibi asm dilinde basit bir program yazmaya çalışıyorum fakat sonuç alamadım. yazdığım program aşağıdadır hata yı gören arkadaşların yardımını istiyorum.

;LED
   LIST   P=12F675
   INCLUDE   "P12F675.INC"
SAYAC1   EQU   H'0C' i
SAYAC2   EQU   H'0D'
   CLRF    GPIO
   BCF     STATUS,RP0
   CLRF    GPIO
   MOVLW   07h
   MOVWF   CMCON
   BSF           STATUS,RP0
   CLRF        ANSEL
   MOVLW   H'01'
   MOVWF   TRISIO
   BCF          STATUS,RP0
BASLA
   BTFSS   GPIO,0
   GOTO   BASLA   
   BSF           GPIO,1   
   BSF           GPIO,2   
   CALL           TIMER
   CLRF    GPIO
   CLRF    GPIO
   GOTO   BASLA
TIMER   
   MOVLW   H'FF'   
   MOVWF   SAYAC1   
TIMER1
   MOVLW   H'FD'
   MOVWF   SAYAC2
TIMER2
   DECFSZ   SAYAC2,F
   GOTO   TIMER2
   DECFSZ   SAYAC1,F
   GOTO   TIMER1
   RETURN
   END
   
Başlık: Ynt: 12F675 kullanarak buton ile led kontrolü
Gönderen: Kabil ATICI - 31 Ocak 2013, 20:34:54
Sayac1 ve sayac2 için atadığın adreslere bir bak.
veri kağıtlarında 20h'dan başlıyor görünüyor... (sayfa 8)
Başlık: Ynt: 12F675 kullanarak buton ile led kontrolü
Gönderen: ipek - 31 Ocak 2013, 22:48:22
pullup'ları açar isen gpio,0 'a direnç koymaya gerek kalmaz

ram bölgesinide macro'layarak kullanabilirsin

config satırını eklemwyi sakın ihmal etme

__CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF &_PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF

list      p=12f675    ;list directive to define processor
Errorlevel,-302
#include "p12f675.inc"    ;processor specific variable definitions
;-------------------------------------------------------------------
  CBLOCK H'20'
SAYAC1   
SAYAC2
  ENDC
;----------------------------------------------------------------------- 
   CLRF    GPIO
   BCF     STATUS,RP0
   CLRF    GPIO
   MOVLW   07h
   MOVWF   CMCON
BSF           STATUS,RP0
;----------------------------------------------------------
movwf WPU ; Select Weak Pull-up Enabled
bcf OPTION_REG,7 ; Enable all Weak Pull-up
movlw b'00000001'
;----------------------------------------------------------

   CLRF        ANSEL
   MOVLW   H'01'
   MOVWF   TRISIO
   BCF          STATUS,RP0
BASLA
   BTFSS   GPIO,0
   GOTO   BASLA   
   BSF           GPIO,1   
   BSF           GPIO,2   
   CALL           TIMER
   CLRF    GPIO
   CLRF    GPIO
   GOTO   BASLA
TIMER   
   MOVLW   H'FF'   
   MOVWF   SAYAC1   
TIMER1
   MOVLW   H'FD'
   MOVWF   SAYAC2
TIMER2
   DECFSZ   SAYAC2,F
   GOTO   TIMER2
   DECFSZ   SAYAC1,F
   GOTO   TIMER1
   RETURN
   END
Başlık: Ynt: 12F675 kullanarak buton ile led kontrolü
Gönderen: crapsh - 31 Ocak 2013, 23:45:10
yazdığınızı aynı şekilde kopyalayıp yapıştırdım fakat çalışmadı acaba hatamı var bi yerde ?

   __CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF &_PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF

   list      p=12f675    ;list directive to define processor
   Errorlevel,-302
   #include "p12f675.inc"    ;processor specific variable definitions
;-------------------------------------------------------------------
   CBLOCK H'20'
   SAYAC1   
       SAYAC2
     ENDC
;----------------------------------------------------------------------- 
   CLRF   GPIO
      BCF   STATUS,RP0
      CLRF   GPIO
      MOVLW   07h
      MOVWF   CMCON
   BSF   STATUS,RP0
;----------------------------------------------------------
   movwf   WPU         ; Select Weak Pull-up Enabled
   bcf   OPTION_REG,7   ; Enable all Weak Pull-up
   movlw   b'00000001'
;----------------------------------------------------------
   CLRF    ANSEL
   MOVLW   H'01'
   MOVWF   TRISIO
   BCF     STATUS,RP0
BASLA
   BTFSS   GPIO,0
   GOTO   BASLA   
   BSF      GPIO,1   
   BSF      GPIO,2   
   CALL    TIMER
   CLRF    GPIO
   CLRF    GPIO
   GOTO   BASLA
TIMER   
   MOVLW   H'FF'   
   MOVWF   SAYAC1   
TIMER1
   MOVLW   H'FD'
   MOVWF   SAYAC2
TIMER2
   DECFSZ   SAYAC2,F
   GOTO   TIMER2
   DECFSZ   SAYAC1,F
   GOTO   TIMER1
   RETURN
   END
Başlık: Ynt: 12F675 kullanarak buton ile led kontrolü
Gönderen: ipek - 01 Şubat 2013, 01:27:08
hemen isis'ledim start verilince gpio2 ve 3 led bağladım yanıyorlar gpio0 'da buton var basınca sönüyor.