|
Pic ile PORT B karaşimşek Devresi Yürüyen ışık Devre Uygulaması 2 |
|
|
PORT B karaşimşek Devresi
PORTB ile 8 ledli karaşimşek devresi
bu devre port b ye bağlı olan ledleri sıra ile yakar.
4 MHZ kristal ile gecikme döngüsü ayarlanmıştır,
hızı ayarlamak için geikme döngüsünde bulunan sayac içeriklerini azaltınız.
| LIST P=16F84 |
| INCLUDE |
"P16F84A.INC" |
|
|
| __CONFIG _CP_OFF &_WDT_OFF &_XT_OSC &_PWRTE_ON |
| ORG 0X00 |
|
|
|
| |
SAYAC1 |
EQU H'0C' |
|
| |
SAYAC2 |
EQU H'0D' |
|
| |
SAYAC3 |
EQU H'0E' |
|
| |
CLRF |
PORTA |
|
| |
MOVLW |
0X00 |
|
| |
MOVWF |
PORTB |
|
| |
BSF |
STATUS,RP0 |
|
| |
CLRF |
TRISB |
|
| |
BCF |
STATUS,5 |
|
| BAS |
MOVLW |
B'00000001' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'00000010' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'00000100' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'00001000' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'00010000' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'00100000' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'01000000' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
MOVLW |
B'10000000' |
|
| |
MOVWF |
PORTB |
|
| |
CALL |
GECIKME |
|
| |
GOTO BAS |
|
|
| GECIKME |
|
|
|
| |
MOVLW |
D'2' |
|
| |
MOVWF |
SAYAC1 |
|
| DON1 |
|
|
|
| |
MOVLW |
D'200' |
|
| |
MOVWF |
SAYAC2 |
|
| DON2 |
|
|
|
| |
MOVLW |
D'250' |
|
| |
MOVWF |
SAYAC3 |
|
| DON3 |
|
|
|
| |
DECFSZ |
SAYAC3,F |
|
| |
GOTO |
DON3 |
|
| |
DECFSZ |
SAYAC2,F |
|
| |
GOTO |
DON2 |
|
| |
DECFSZ |
SAYAC1,F |
|
| |
GOTO |
DON1 |
|
| RETURN |
|
|
|
|
END
|
|
|
|
şimdi bu devre oldukça uzun bir devre;
bunu kısaltabiliriz,
|