求助解释汇编(数字钟)

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:17:43
SECOND EQU 30H
MINITE EQU 31H
HOUR EQU 32H
HOURK BIT P0.2
MINITEK BIT P0.1
SECONDK BIT P0.0
RESTK BIT P0.3
SOUND BIT P2.0
DISPBUF EQU 40H
DISPBIT EQU 48H
T2SCNTA EQU 49H
T2SCNTB EQU 4AH
TEMP EQU 4BH
ORG 0000H
LJMP START
ORG 0BH
LJMP INT_T0
ORG 0030H
START: MOV SECOND,#00
MOV MINITE,#00
MOV HOUR,#12
MOV R4,#00H
MOV DISPBIT,#00H
MOV T2SCNTA,#00H
MOV T2SCNTB,#00H
MOV TEMP,#0FEH
LCALL DISP
MOV TM0D,#01H
MOV TH0,#(65536-2000)/256
MOV TL0,#(65536-2000) MOD 256
SETB TR0
SETB ET0
SETB EA
NM60: LCALL DISP
JNB MINITEK,$
SETB P2.0
NK2: JB HOURK

SECOND EQU 30H ;定义秒计数单元
MINITE EQU 31H ;定义分计数单元
HOUR EQU 32H ;定义时计数单元
HOURK BIT P0.2 ;定义时计数状态标志位
MINITEK BIT P0.1 ;定义分计数状态标志位
SECONDK BIT P0.0 ;定义秒计数状态标志位
RESTK BIT P0.3 ;定义工作标志位
SOUND BIT P2.0 ;定义工作标志位
DISPBUF EQU 40H ;定义工作单元
DISPBIT EQU 48H ;定义工作单元
T2SCNTA EQU 49H ;定义工作单元
T2SCNTB EQU 4AH ;定义工作单元
TEMP EQU 4BH ;定义工作单元
ORG 0000H
LJMP START ;转开始
ORG 0BH
LJMP INT_T0 ;转中断
ORG 0030H
START: MOV SECOND,#00 ;秒计数单元清零
MOV MINITE,#00 ;分计数单元清零
MOV HOUR,#12 ;时计数单元置初值12点
MOV R4,#00H
MOV DISPBIT,#00H ;工作单元置初值
MOV T2SCNTA,#00H ;工作单元置初值
MOV T2SCNTB,#00H ;工作单元置初值
MOV TEMP,#0FEH ;工作单元置初值
LCALL DISP ;调用子程序DISP(应该是显示子程序)
MOV TM0D,#01H ;设计数器T0方式1工作
MOV TH0,#(65536-2000)/256 ;
MOV TL0,#(65536-2000) MOD 256 ;T0置计数初值
SETB TR0 ;启动T0计数
SETB ET0 ;允许T0溢出中断
SETB EA;开中断

问题补充:
NM60: LCALL DISP ;调用子程序DISP
JNB MINITEK,$ ;分标志位非零则等待