📄 定时1秒报警.asm
字号:
;程序名称 定时1秒报警
;程序功能 定时/计数器T0每隔1秒钟将P1.0的输出状态改变1次,以达到定时报警的; 目的。实际应用例如:定时报警器。
TFLAG EQU 34H ;时间秒标志,判是否到20个0.05秒,即20*0.05=1秒
ORG 0000H ;程序起始地址
AJMP MAIN ;跳转至MAIN
ORG 000BH ;定时/计数器T0的中断矢量地址
AJMP TIMER0 ;跳转至定时/计数器T0中断服务子程序
MAIN:MOV TMOD,#00000001B ;定时/计数器T0工作于方式1,16位计数器
MOV TL0,#0B0H
MOV TH0,#3CH ;设定时时间为0.05秒,定时20次则为1秒
SETB EA ;CPU开总中断
SETB ET0 ;开定时/计数器T0溢出中断
SETB P1.0 ;置位P1.0
SETB TR0 ;启动定时/计数器T0
LOOP:AJMP LOOP
;定时/计数器T0中断服务子程序
TIMER0:INC TFLAG ;TFLAG加1
MOV A,TFLAG ;TLFAG的值送A
CJNE A,#20,RE ;A的值小于20时,跳转至RE
MOV TFLAG,#00H ;A=20时,TFLAG重新初始化
CPL P1.0 ;P1.0复位
RE:MOV TL0,#0B0H
MOV TH0,#3CH ;设定时时间为0.05秒,定时20次则为1秒。
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -