用单片机计数脉冲的个数-数码管显示汇编程序
以下是源代码:
;******** 用数码管来计数脉冲的个数 **********************************
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
;=====主程序区====================================
MAIN: MOV TMOD,#01100010B
MOV TH1,#255
MOV TL1,#255
MOV IE,#10001010B
MOV TH0,#00H
MOV TL0,#00H
SETB TR0
SETB TR1
JMP $
;======分解计数程序===================================
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
;======数码管显示程序区====================================
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程序区======================================
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
;=======延时子程序区====================================
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
;=======调用码表程序区====================================
TABLE:INC A
MOVC A,@A+PC
RET
DB 3FH,06H,05BH,04FH,066H,06DH,07DH,07H,07FH,06FH,
;======================================================
END
单片机计数脉冲数码管显 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)