用單片機計數(shù)脈沖的個數(shù)-數(shù)碼管顯示匯編程序
以下是源代碼:
;******** 用數(shù)碼管來計數(shù)脈沖的個數(shù) **********************************
ORG 0000H
JMP MAIN
ORG 000BH
JMP TT0
ORG 001BH
JMP TT1
MOV 23H,#00H
MOV 22H,#00H
MOV 21H,#00H
MOV 24H,#10
CALL IIP
CALL IIP
CALL IIP
MOV SP,70H
;=====主程序區(qū)====================================
MAIN: MOV TMOD,#01100010B
MOV TH1,#255
MOV TL1,#255
MOV IE,#10001010B
MOV TH0,#00H
MOV TL0,#00H
SETB TR0
SETB TR1
JMP $
;======分解計數(shù)程序===================================
TT1:CALL IIP
INC 20H
MOV A,20H
MOV B,#100
DIV AB
MOV 21H,A
MOV A,B
MOV B,#10
DIV AB
MOV 22H,A
MOV 23H,B
RETI
;======數(shù)碼管顯示程序區(qū)====================================
IIP: MOV A,23H
CALL TABLE
MOV P0,A
SETB P2.0
NOP
NOP
NOP
NOP
CLR P2.0
MOV P0,#10111111b
SETB P2.1
NOP
NOP
NOP
CLR P2.1
CALL T10MS
;==================================================
MOV A,22H
CALL TABLE
MOV P0,A
SETB P2.0
NOP
NOP
NOP
NOP
CLR P2.0
MOV P0,#11011111B
SETB P2.1
NOP
NOP
NOP
CLR P2.1
CALL T10MS
;===================================================
MOV A,21H
CALL T10MS
CALL TABLE
MOV P0,A
SETB P2.0
NOP
NOP
NOP
NOP
CLR P2.0
MOV P0,#11101111B
SETB P2.1
NOP
NOP
NOP
CLR P2.1
CALL T10MS
RET
;=====定時0程序區(qū)======================================
TT0: DJNZ 24H,LOOP_9
CPL P1.0
CPL P1.1
CPL P1.2
CPL P1.3
CPL P1.4
CPL P1.5
CPL P1.6
CPL P1.7
LOOP_9:RETI
;=======延時子程序區(qū)====================================
T10MS: MOV 25H,#10
LOOP_3: MOV 26H,#40
LOOP_2: MOV 27H,#10
LOOP_1: NOP
DJNZ 27H,LOOP_1
DJNZ 26H,LOOP_2
DJNZ 25H,LOOP_3
RET
;=======調(diào)用碼表程序區(qū)====================================
TABLE:INC A
MOVC A,@A+PC
RET
DB 3FH,06H,05BH,04FH,066H,06DH,07DH,07H,07FH,06FH,
;======================================================
END
評論