51单片机的定时器精度为何这么差?

2019-03-24 19:41发布

我用STC89LE52RC单片机

用定时器0产生600Hz的方波

设定每隔1/1200秒产生一次定时器中断,IO口翻转一次,产生600Hz的方波

用的是定时器0,13位
计算公式如图所示:

计算得到0x1D00
根据手册“该13位寄存器包含THn全部8个位及TLn的低5位。TLn的高3位补丁,可将其忽略。”
将0x1D00前八位填入TH0,后五位填入TL0的低五位,得到TH0 = 0xE8、TL0 = 0x00
可产生的方波用频率计测只有590Hz,怎么会差这么多?

可排除晶振问题,晶振(11.0592MHz)用频率计测过,误差很小。


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
godjohsn
2019-03-25 22:14
原帖由 ddllxxrr 于 2011-7-19 13:07 发表 2的13次方才是8192也就是说楼主要定的数超了,应用十六位装载模式,即模式一来操作


为什么超了呢?

算出来的7424<8192

应该可以吧?


一周热门 更多>