⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 定时1秒报警.asm

📁 AT89S52单片机程序50例(00-50)
💻 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 + -