发 帖  
原厂入驻New
[问答]

在keil下如何对定时器进行仿真?

88 定时器 Keil
分享
在keil下如何对定时器进行仿真?在仿真过程中会碰到哪些问题?
0
2021-7-16 07:02:25   评论 分享淘帖 邀请回答
1个回答
keil下对于定时器仿真的问题
情况:设置16位重载定时器之后,观察不到定时器的重载行为。
原因之一:keil在深层不支持对STC的仿真:
编写16为重载定时器的测试程序:

理论上:
1、初始化定时器0,设置为16位重载定时器模式
2、接着将TH0和TL0分别初始化为0xf0, 0x00(此时会将0xf0和0x00自动存入了RL_TH0和RL_TL0),启动定时器
3、接下来等到定时器溢出的时候,TH0和TL0会重新装载RL_TH0和RL_TL0的值,即达到了自动重载的目的。
keil仿真下的问题

可见在keil仿真下,进入中断函数时,TH0和TL0并未重载,通过询问老师以及同学间的询问,了解到keil在深层不支持对STC的仿真。
我猜测:keil仿真下,是对定时器进行软件层次的模拟,即当各个使能位有效时就开始计数,当溢出的时候,进入中断并重新计数。
解决办法:在定时器0中断函数中,在最后重新给TH0和TL0赋值,不要在一开始就赋值,以避免中断函数过长导致还没执行完中断函数就就溢出了,但是51里面的中断嵌套很玄乎。。。。
2021-7-16 14:46:54 评论

举报

只有小组成员才能发言,加入小组>>

43个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表