📄 timer application (2).asm
字号:
COUNT EQU 30H
FLASH EQU 31H
ORG 00H
SJMP START
ORG 0BH ;定时器0中断入口
LJMP INT_T0
START: MOV COUNT,#00H
MOV FLASH,#00H
MOV TMOD,#01H ;定时器工作方式1
MOV TH0,#(65536-50000)/256 ;定时器初值
MOV TL0,#(65536-50000) MOD 256
MOV IE,#82H ;开中断
SETB TR0 ;启动定时器
SJMP $ ;等待中断
INT_T0: MOV A,COUNT
CJNE A,#00H,I1 ;D1闪烁
CPL P1.0
INC FLASH
MOV A,FLASH
CJNE A,#40,RETUNE ;达到2秒?
MOV FLASH,#00H
INC COUNT
LJMP RETUNE ;D2闪烁
I1: CJNE A,#01H,I2
CPL P1.1
INC FLASH
MOV A,FLASH
CJNE A,#40,RETUNE ;达到2秒?
MOV FLASH,#00H
INC COUNT
LJMP RETUNE
I2: CJNE A,#02H,I3 ;D3闪烁
CPL P1.2
INC FLASH
MOV A,FLASH
CJNE A,#40,RETUNE ;达到2秒?
MOV FLASH,#00H
INC COUNT
LJMP RETUNE
I3: CJNE A,#03H,RETUNE ;D4闪烁
CPL P1.3
INC FLASH
MOV A,FLASH
CJNE A,#40,RETUNE ;达到2秒?
MOV FLASH,#00H
MOV COUNT,#00H
LJMP RETUNE
RETUNE: MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000) MOD 256
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -