Trích:
Nguyên văn bởi nhh
Đây là phần đầu code của bạn (Do dài quá diễn đàn cấm nếu số ký tự vượt giới hạn):
Code:
LIST P=16F84A
INCLUDE P16F84A.INC
REG_L EQU 0x0C
REG_M EQU 0X0D
REG_H EQU 0X0E
ORG 0X00
CALL SET_PORTS
;...............................LUOT 1.....................................;
LOOP
LOOP1 ;...LED1:1...LED2:3...DO...LED3:1...LED4:0...XANH...;
MOVLW B'10000000' ;LED1: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000001' ;LED2: 3;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000010' ;LED3: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000011' ;LED4: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP1
RETURN
;...............................................................................;
LOOP2 ;...LED1:1...LED2:2...DO...LED3:0...LED4:9...XANH...;
MOVLW B'10000000' ;LED1: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'01000001' ;LED2: 2;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10010011' ;LED4: 9;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP2
RETURN
;...................................................................................;
LOOP3 ;...LED1:1...LED2:1...DO...LED3:0...LED4:8...XANH...;
MOVLW B'10000000' ;LED1: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'01000001' ;LED2: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00010011' ;LED4: 8;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP3
RETURN
;.................................................................................;
LOOP4 ;...LED1:1...LED2:0...DO...LED3:0...LED4:7...XANH...;
MOVLW B'10000000' ;LED1: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000001' ;LED2: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11100011' ;LED4: 7;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP4
RETURN
;....................................................................................;
LOOP5 ;...LED1:0...LED2:9...DO...LED3:0...LED4:6...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10010001' ;LED2: 9;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'01100011' ;LED4: 6;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP5
RETURN
;...................................................................................;
LOOP6 ;...LED1:0...LED2:8...DO...LED3:0...LED4:5...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00010001' ;LED2: 8;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10100011' ;LED4: 5;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP6
RETURN
;................................................................................;
LOOP7 ;...LED1:0...LED2:7...DO...LED3:0...LED4:4...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11100001' ;LED2: 7;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00100011' ;LED4: 4;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP7
RETURN
;...............................................................................;
LOOP8 ;...LED1:0...LED2:6...DO...LED3:0...LED4:3...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'01100001' ;LED2: 6;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000011' ;LED4: 3;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP8
RETURN
;.............................................................................;
LOOP9 ;...LED1:0...LED2:5...DO...LED3:0...LED4:2...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10100001' ;LED2: 5;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'01000011' ;LED4: 2;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP9
RETURN
;........................................................................;
LOOP10 ;...LED1:0...LED2:4...DO...LED3:0...LED4:1...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00100001' ;LED2: 4;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000011' ;LED4: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP10
RETURN
;...........................................................................;
LOOP11 ;...LED1:0...LED2:3...DO...LED3:0...LED4:0...XANH...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000001' ;LED2: 3;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000011' ;LED4: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000101' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP11
RETURN
;...........................................................................;
LOOP12 ;...LED1:0...LED2:2...DO...LED3:0...LED4:2...VANG...;
MOVLW B'10000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000011' ;LED2: 2;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000100' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000111' ;LED4: 2;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000100' ;LED VANG;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP12
RETURN
;...........................................................................;
LOOP13 ;...LED1:0...LED2:1...DO...LED3:0...LED4:1...VANG...;
MOVLW B'10000001' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000011' ;LED2: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000100' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000111' ;LED4: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000100' ;LED VANG;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP13
RETURN
;.............................................................................;
LOOP14 ;...LED1:0...LED2:0...DO...LED3:0...LED4:0...VANG...;
MOVLW B'10000001' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000011' ;LED2: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000100' ;LED3: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000111' ;LED4: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000000' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000100' ;LED VANG;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOP14
RETURN
;.......................HET LUOT 1..................................;
|
lam on guip toi co ai co mach den giao thong chay nhu the nay hog <ve plc ha>
khi bat cong tac on thi den xanh sang truoc' 10s sau do den vàng sang 8s sau do den đỏ sáng 2s , ai giup toi di