方法一:
只开T1定时器中断,在T1定时器中断子程序中对(TH0 TL0)做加一运算。
方法二:
T1定时器模式,T0计数器模式,在T1定时器中断子程序中对某一固定引脚Px.x做“置1-清0-置1”操作,并将对应引脚连接在T0(P3.4)引脚。默认情况下T0中断比T1中断权限高,每次定时器T1溢出后,会在中断子程序内对引脚Px.x进行“置1-清0-置1”,过程中1到0的下降沿跳变会引起(TH0 TL0)加一;直到计数器T0溢出前的“置1-清0”时刻后“置1”时刻前,T0产生溢出中断,中断T1的中断子程序。
比较:
如果仅仅为了计算“T1定时器的溢出次数”的话,随便定义两个字节的“内部RAM数据存储器”就可以了,和方法一类似,在中断子程序中,对寄存器内数值加一,完全可以实现。
用T0算T1太浪费资源了!
定义“内部RAM数据存储器”计算“T1定时器的溢出次数”的程序:
可以用Keil仿真以下,能看出效果的!
可以实现,T1溢出时输出一个脉冲给T0的输入就可以了。
ORG 0000H