PORTB Karaşimşek Devresi
PIC16F84 PORTB ile 8 ledli karaşimşek devresi
Bu Program portb 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 gecikme 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,
ama bugünlük bu kadar.
devam edecek.
Etiketler :
Pic,
Karaşimşek,
Led,
Yürüyen,
Işık,
Pic6f84,
Pic,
Assembler,
Programming,
Pic16f84a,
Pic16f84c,
devre,
yazılım,
program,
programlama,
kod
Yazan : mania |
27 Şub 2006 Pts  
| 0 defa Okundu.
BU KONUDA HİÇ YORUM BULUNMUYOR...