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