PIC16F628 kullanarak daha az elemanla bir karaşimşek
devresi
gerçekleştirilebilir. Bu tür devrelere, kayan led devresi de
denmektedir. Biz bu devrede 16F628'in dahili osilatörünü
kullanıyoruz.
Bu sayede kullanılan devre elemanı en aza iniyor.
Devrede, Pic16F628'in
yanında 8 adet led ve 1 adet 470 ohm direnç
kullanılmıştır. 100nF
kondansatör voltaj filtresi olarak
kullanılmaktadır.
Devrenin
çalışması, programın bit kaydırma
işlemi yapmasından ibarettir.
Programlamada
kullanılan asm ve
hex dosya ektedir
Devre
Şeması:
Devrenin Asm Porgram Kodları:
LIST
P=16F628
INCLUDE "P16F628.INC"
__config
_CP_OFF & _DATA_CP_OFF & _LVP_OFF &
_BODEN_ON &
_MCLRE_OFF & _PWRTE_ON & _WDT_OFF &
_INTRC_OSC_CLKOUT
SAYAC1
EQU h'20'
SAYAC2 EQU h'21'
;=====PORTLARIN
GİRİŞ VE ÇIKIŞLARI AYARLANIYOR=====
CLRF
PORTB
BCF STATUS, 0
BSF
STATUS, 5
CLRF TRISB
BCF STATUS, 5
MOVLW
h'07'
MOVWF CMCON
;=====BAŞLANGIÇ
AYARLARI YAPILIYOR=====
MOVLW h'01'
MOVWF
PORTB
;=====PROGRAM
ÇALIŞMAYA BAŞLIYOR=====
SOL ;SOLA KAYDIRMA
İŞLEMİ YAPILIYOR
CALL
BEKLE
RLF PORTB, F
BTFSS PORTB, 7
GOTO
SOL
SAG
;SAĞA KAYDIRMA İŞLEMİ YAPILIYOR
CALL BEKLE
RRF PORTB,
F
BTFSS
PORTB, 0
GOTO SAG
GOTO SOL
;=====GECİKME
YAPTIRILIYOR=====
BEKLE
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
;=====PROGRAMIN
SONU=====
END
devresi
gerçekleştirilebilir. Bu tür devrelere, kayan led devresi de
denmektedir. Biz bu devrede 16F628'in dahili osilatörünü
kullanıyoruz.
Bu sayede kullanılan devre elemanı en aza iniyor.
Devrede, Pic16F628'in
yanında 8 adet led ve 1 adet 470 ohm direnç
kullanılmıştır. 100nF
kondansatör voltaj filtresi olarak
kullanılmaktadır.
Devrenin
çalışması, programın bit kaydırma
işlemi yapmasından ibarettir.
Programlamada
kullanılan asm ve
hex dosya ektedir
Devre
Şeması:
Devrenin Asm Porgram Kodları:
LIST
P=16F628
INCLUDE "P16F628.INC"
__config
_CP_OFF & _DATA_CP_OFF & _LVP_OFF &
_BODEN_ON &
_MCLRE_OFF & _PWRTE_ON & _WDT_OFF &
_INTRC_OSC_CLKOUT
SAYAC1
EQU h'20'
SAYAC2 EQU h'21'
;=====PORTLARIN
GİRİŞ VE ÇIKIŞLARI AYARLANIYOR=====
CLRF
PORTB
BCF STATUS, 0
BSF
STATUS, 5
CLRF TRISB
BCF STATUS, 5
MOVLW
h'07'
MOVWF CMCON
;=====BAŞLANGIÇ
AYARLARI YAPILIYOR=====
MOVLW h'01'
MOVWF
PORTB
;=====PROGRAM
ÇALIŞMAYA BAŞLIYOR=====
SOL ;SOLA KAYDIRMA
İŞLEMİ YAPILIYOR
CALL
BEKLE
RLF PORTB, F
BTFSS PORTB, 7
GOTO
SOL
SAG
;SAĞA KAYDIRMA İŞLEMİ YAPILIYOR
CALL BEKLE
RRF PORTB,
F
BTFSS
PORTB, 0
GOTO SAG
GOTO SOL
;=====GECİKME
YAPTIRILIYOR=====
BEKLE
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
;=====PROGRAMIN
SONU=====
END