完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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里面的中断嵌套很玄乎。。。。 |
|
|
|
只有小组成员才能发言,加入小组>>
2611 浏览 0 评论
808浏览 1评论
251浏览 1评论
578浏览 0评论
312浏览 0评论
528浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 21:05 , Processed in 1.044782 second(s), Total 49, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号