📄 daima8.asm
字号:
ORG 2000H
DCW TINT ;定义T1溢出中断入口
ORG 2080H
LD SP,#00C0H
DI
CLRB INT_PENDING
LDB INT_MASK,#01H
LDB IOC0,#86H ;将HSI.1作为时钟源,复位T2
LDB IOC1,#0CH
EI
DRIVE: ORB P2,#20H ;P2.5产生周期8微秒宽度2微秒的脉冲
ANDB P2,#0DFH
SJMP DRIVE
TINT: PUSHF ;T1溢出中断服务子程序
LDB REG,IOS1
JBS REG,4,T2OV
JBS REG,5,T1OV
SJMP RETURN
T2OV: LDB P2,#00H
SJMP RETURN
T1OV: LDB P2,#01H ;P2
FIRHI: LD REG1,TIMER1
RETURN: POPF
RET
END
定时器T1和T2同时中断,用程序在引脚P2.5处产生周期为8μs,宽度为2μs的脉冲,并将P2.5引脚输出作为时钟送到T2的外时钟源HSI.1引脚,进入中断服务程序后,首先要根据IOS1寄存器的内容判断是T1还是T2引起的中断。当程序进入T1中断程序T1OV,则P2.0=1,当程序进入T1中断,则P2.0=0。系统采用4MHz的晶振。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -