单片机 24s倒计时源程序 汇编语言
- ORG 0000H
- K1 EQU P1.3
- LJMP MAIN
- ORG 0100H
- MAIN:MOV SP ,#60H
- CLR P2.0
- MOV P0,#0C0H
- MOV R0,#0
- MOV R1,#0
- MOV R2,#6
- MOV R3,#0
- L0: LCALL DISP1
- LCALL DISP2
- LCALL DISP3
- LCALL DISP4
-
- L1: LCALL DISP1
- LCALL DISP2
- LCALL DISP3
- LCALL DISP4
- LCALL DELAY
- INC R0
- CJNE R0,#10,L2
- MOV R0,#0
- INC R1
- CJNE R1,#10,L2
- INC R2
- MOV R1,#0
- MOV R0,#0
- CJNE R2,#10,L2
- INC R3
- MOV R1,#0
- MOV R0,#0
- MOV R2,#0
- CJNE R3,#3,L2
- MOV R1,#0
- MOV R0,#0
- MOV R2,#6
- MOV R3,#0
- LJMP L2
- L2: LCALL DISP1
- LCALL DISP2
- LCALL DISP3
- LCALL DISP4
- JNB K1,L2
- SJMP L1
- SJMP $
-
-
-
-
- DISP1: CLR P2.0
- SETB P2.1
- SETB P2.2
- SETB P2.3
-
- MOV A,R0
- MOV DPTR,#TABLE1
- MOVC A,@A+DPTR
- MOV P0,A
- LCALL DELAY
- MOV P0,#0FFH
- RET
- DISP2: SETB P2.0
- CLR P2.1
- SETB P2.2
- SETB P2.3
-
- MOV A,R1
- MOV DPTR,#TABLE2
- MOVC A,@A+DPTR
- MOV P0,A
- LCALL DELAY
- MOV P0,#0FFH
- RET
- DISP3: SETB P2.0
- SETB P2.1
- CLR P2.2
- SETB P2.3
-
- MOV A,R2
- MOV DPTR,#TABLE3
- MOVC A,@A+DPTR
- MOV P0,A
- LCALL DELAY
- MOV P0,#0FFH
- RET
- DISP4: SETB P2.0
- SETB P2.1
- SETB P2.2
- CLR P2.3
-
- MOV A,R3
- MOV DPTR,#TABLE4
- MOVC A,@A+DPTR
- MOV P0,A
- LCALL DELAY
- MOV P0,#0FFH
- RET
- DELAY:MOV R7,#6
- DL: MOV R6,#250
- DLL: DJNZ R6,DLL
- DJNZ R7,DL
- RET
- DELAY1:MOV R7,#6
- DL1: MOV R6,#250
- DLL1: DJNZ R6,DLL1
- DJNZ R7,DL1
- RET
- TABLE1: DB 90H,80H,0F8H,82H,92H,99H,0B0H,0A4H,0F9H,0C0H
- TABLE2: DB 90H,80H,0F8H,82H,92H,99H,0B0H,0A4H,0F9H,0C0H
- TABLE3: DB 90H,80H,0F8H,82H,92H,99H,0B0H,0A4H,0F9H,0C0H
- TABLE4: DB 0A4H,0F9H,0C0H
- END
复制代码
|