?? 定時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 + -