Phần còn lại:
Code:
;.......................LUOT 2......................................;
LOOPA ;...LED1:1...LED2:0...XANH...LED3:1...LED4:3...DO...;
MOVLW B'10000000' ;LED1: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000001' ;LED2: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000010' ;LED3: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11000011' ;LED4: 3;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPA
RETURN
;......................................................................;
LOOPB ;...LED1:0...LED2:9...XANH...LED3:1...LED4:2...DO...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10010001' ;LED2: 9;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000010' ;LED3: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'01000011' ;LED4: 2;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPB
RETURN
;......................................................................;
LOOPC ;...LED1:0...LED2:8...XANH...LED3:1...LED4:1...DO...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00010001' ;LED2: 8;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000010' ;LED3: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000011' ;LED4: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPC
RETURN
;......................................................................;
LOOPD ;...LED1:0...LED2:7...XANH...LED3:1...LED4:0...DO...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'11100001' ;LED2: 7;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000100' ;LED3: 1;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000011' ;LED4: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPD
RETURN
;......................................................................;
LOOPE ;...LED1:0...LED2:6...XANH...LED3:0...LED4:9...DO...;
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'10010011' ;LED4: 9;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPE
RETURN
;......................................................................;
LOOPF ;...LED1:0...LED2:5...XANH...LED3:0...LED4:8...DO...;
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'00010011' ;LED4: 8;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPF
RETURN
;......................................................................;
LOOPG ;...LED1:0...LED2:4...XANH...LED3:0...LED4:7...DO...;
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'11100011' ;LED4: 7;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPG
RETURN
;......................................................................;
LOOPH ;...LED1:0...LED2:3...XANH...LED3:0...LED4:6...DO...;
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'01100011' ;LED4: 6;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPH
RETURN
;......................................................................;
LOOPI ;...LED1:0...LED2:2...XANH...LED3:0...LED4:5...DO...;
MOVLW B'00000000' ;LED1: 0;
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'10100011' ;LED4: 5;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPI
RETURN
;......................................................................;
LOOPJ ;...LED1:0...LED2:1...XANH...LED3:0...LED4:4...DO...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000001' ;LED2: 1;
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'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPJ
RETURN
;......................................................................;
LOOPK ;...LED1:0...LED2:0...XANH...LED3:0...LED4:3...DO...;
MOVLW B'00000000' ;LED1: 0;
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'00000011' ;LED4: 3;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000010' ;LED XANH;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPK
RETURN
;......................................................................;
LOOPL ;...LED1:0...LED2:2...VANG...LED3:0...LED4:2...DO...;
MOVLW B'00000000' ;LED1: 0;
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'01000011' ;LED4: 2;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000001' ;LED VANG;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPL
RETURN
;......................................................................;
LOOPM ;...LED1:0...LED2:1...VANG...LED3:0...LED4:1...DO...;
MOVLW B'00000000' ;LED1: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'10000001' ;LED2: 1;
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'00000001' ;LED VANG;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPM
RETURN
;......................................................................;
LOOPN ;...LED1:0...LED2:0...VANG...LED3:0...LED4:0...DO...;
MOVLW B'00000000' ;LED1: 0;
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'00000011' ;LED4: 0;
MOVWF PORTB
CALL DELAY_10uS
MOVLW B'00000001' ;LED VANG;
MOVWF PORTA
CALL DELAY_10uS
MOVLW B'00000011' ;LED DO;
MOVWF PORTA
CALL DELAY_10uS
CALL DELAY
GOTO LOOPN
RETURN
;...............................................HET LUOT 2.....................................;
GOTO LOOP
;........................................SET PORTS.............................................;
SET_PORTS
CLRW
MOVWF PORTB
BSF STATUS,RP0
CLRW
MOVLW TRISA
CLRW
MOVLW TRISB
BCF STATUS,RP0
RETURN
;..........................................TAO HAM DELAY_1mS..................................;
DELAY_1mS
CLRF REG_H
HERE NOP
DECFSZ REG_H
GOTO HERE
RETURN
;..........................................TAO HAM DELAY 3mS.................................;
DELAY_10uS
CALL DELAY_1mS
CALL DELAY_1mS
CALL DELAY_1mS
RETURN
;..........................................TAO HAM DELAY...................................;
DELAY
CLRW
MOVLW B'10110100'
MOVWF REG_L
DECFSZ REG_L
RETURN
;.............................................................................................;
END