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)用频率计测过,误差很小。


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。