定时器赋初值后的时间不准

2019-07-15 07:36发布

12M,定时器16位重装,这样赋值后:TH1 = (65536-95)/256;TL1 = (65536-95)%256; 取反IO口,出现如下图所示波形,明显的定时时间不准,想模拟一个9600波特率,请问这样的情况该如何调整初值或者其他方法解决?

10.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
mingodong
1楼-- · 2019-07-15 16:42
最好用8位自动重装,晶振用11.0592M。
riverdj
2楼-- · 2019-07-15 17:08
这个问题很简单的,9600bsp的高低电平的时间是104.16us,要发数据的时候,关闭中断EA = 0;同时打开定时器,不打开定时器中断,通过计算TH1,TL1的个数来达到你你定时的104.16us
新星之火12138
3楼-- · 2019-07-15 19:21
重装8位可以试下,只是没有外部晶振,内部时钟只能选12M和24M
msvdsufsdf
4楼-- · 2019-07-16 00:41
 精彩回答 2  元偷偷看……
tigerwang711
5楼-- · 2019-07-16 02:17

发数据时,关闭EA?再开定时器?总开关都关了,还如何开定时器呢?
lee_st
6楼-- · 2019-07-16 08:15
是否被其他程序打扰了

一周热门 更多>