定时1秒.asm
来自「这个东东是我刚写出来的,这可以完成定时1秒的功能,并且使用定时器来完成,定时精度」· 汇编 代码 · 共 37 行
ASM
37 行
ORG 0001H
AJMP MAIN
ORG 000CH
AJMP DIN0
MAIN: TFL EQU 34H ;时间秒标志,判是否到50个0.2秒,即50*0.2=1秒
MOV TMOD, #00000001B ;定时器0工作于方式1
MOV TL0, #0AFH
MOV TH0, #3CH ;设定时时间为0.05秒,定时20次则一秒
SETB EA ;开总中断
SETB ET0 ;开定时器0中断允许
SETB TR0 ;开定时0运行
SETB P1.0
MOV R1, #0AH ;加的1:表示只改变10次就结束
LOOP: AJMP LOOP
DIN0:
INCC: INC TFL
MOV A, TFL
CJNE A, #20H, RE ;加的0:这里不应用20,实际改变了32次,即32*0.05秒=1.6秒的周期,如是1秒,就应该用20D或14H
MOV TFL, #00H
CPL P1.0
DEC R1 ;加的2
MOV A, R1 ;加的3
JZ STOP ;加的4
RE: MOV TL0, #0AFH
MOV TH0, #3CH ;设定时时间为0.05秒,定时20次则一秒
RETI
STOP: SJMP $ ;加的5
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?