Merhaba Arkadaşlar aşağıdaki kod 7 sıra ledlerin kodudur. ben bu ledleri sırası ile 1 yanacak 2 yanacak 2 yandıktan 5 saniye sonra 1 sönecek
LIST P=16F628A, R=DEC
#include P16F628A.INC
__config _BODEN_OFF & _PWRTE_OFF & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT
cblock 0x20
SETTINGS
PERSET
CONSTATPWM
TIMER
MCOUNT
endc
;******************** Start of Program *******************************
org 0x000 ; coding begins here
goto IOINITILIZE
; ORG 0x004
; GOTO INTPROG
;#define LED0 GPIO,0
;#define LED1 GPIO,1
;#define LED2 GPIO,2
;#define LED3 GPIO,5
;----------------------------------
;---------------------------------
;#define SETTINGS,7
;#define CONT SETTINGS,3;
;#define AK2 SETTINGS,2;
;#define AK1 SETTINGS,1;
;#define PAS SETTINGS,0;
;-------------------------------------
IOINITILIZE
BCF STATUS,RP0 ;Bank 0
CLRF PORTB ;Init GPIO
CLRF PORTA
MOVLW B'00000111' ;Set GP<2:0> to
MOVWF CMCON ;digital IO
BSF STATUS,RP0 ;Bank 1
;CLRF ANSEL ;Digital I/O
MOVLW B'00000000' ;Set GP<3> as inputs
MOVWF TRISA ;and set GP<5:4,2:1:0> ;as outputs
MOVLW B'00000001'
MOVWF TRISB
BCF STATUS,RP0
clrf PORTB
GOTO main
;========================
WaitCy ; tgc = 2*5 cycle tc = ((W)-2)*5 cycle
addlw -1
nop
addlw -1
btfss STATUS,Z
goto $-3
return
;========================
; W'deki değerin 10 katı cycle bekler
Wait10 goto $+1
nop
addlw -1
btfsc STATUS,Z
return
goto $+1
goto Wait10
;========================
; W'deki değerin 1000 katı cycle bekler
WaitKc movwf MCOUNT
; 990 cycle bekliyoruz
W1 movlw 255
call WaitCy
goto $+1
decfsz MCOUNT,F
goto $+2
return
nop
goto $+1
goto W1
main
TEST
BTFSS PORTB,0
GOTO yan
GOTO TEST
yan
MOVLW B'11100000'
MOVWF PORTB
MOVLW 500
CALL WaitKc
MOVLW 1
CALL WaitKc
MOVLW B'00011000'
MOVWF PORTB
MOVLW 500
CALL WaitKc
CLRF PORTB
MOVLW 500
CALL WaitKc
NOP
NOP
;=====================SPOT============================
GOTO main
PROGRAM
GOTO PROGRAM
END