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,