完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include "reg52.h" void timerms(); void main() { TMOD = 0x01; TL0 = 0xf0; TH0 = 0xd8; ET0 = 1; EA = 1; timerms(); } void timerms() { TR0 = 1; //定时器/计数器0启动 while(TF0!=1) {} TF0 = 0; TL0 = 0xf0; TH0 = 0xd8; }
请教 这段程序有什么问题 为什么不能正常启动定时器呢 |
|
相关推荐
48个回答
|
|
|
|
|
|
谢谢啦 找到毛病了 我的程序有问题 查询模式不应该开启ET0 否则一溢出就直接响应中断去了
|
|
|
|
mark
|
|
|
|
学习一下。好像就是中断处理的问题。
|
|
|
|
云汉达人
我粗心了,当时着急抢着回帖。 看图,我的确实屏蔽了中断! 中断后,TF0被复位,但是TL0和TH0满值,而这时候分频器没有被断开,于是再次溢出? 但是哈!TF1不是这样的,在模式2中,同时触发TF2和复位TL0!于是不用非要进中断。同时,你可以尝试一下定时2,他比定时器0和1更加灵活。具体参考Proteus板块里面,我出的一个开发板。 嗨,纠正错误的同时也不能忘了给自己的板块做广告啊! |
|
|
|
|
|
爱莫能助
|
|
|
|
如果用STC的单片机如果只能MAIN();不断的初始化会有问题,修改成试试
#include "reg52.h" void timerms(); void main() { TMOD = 0x01; TL0 = 0xf0; TH0 = 0xd8; ET0 = 1; EA = 1; while(1){ timerms();} } void timerms() { TR0 = 1; //定时器/计数器0启动 while(TF0!=1) {} TF0 = 0; TL0 = 0xf0; TH0 = 0xd8; } |
|
|
|
感谢分享!
|
|
|
|
只有小组成员才能发言,加入小组>>
690 浏览 0 评论
1105 浏览 1 评论
2473 浏览 5 评论
2807 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2644 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
652浏览 9评论
648浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
779浏览 6评论
627浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 00:16 , Processed in 1.038932 second(s), Total 63, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号