51单片机串口通信,定时器1,8位自动重装初值的求法

公式一:TH1=TL1=-(FOSC/BAUD/32/12);公式二:TH1=TL1=256-FOSC/BAUD/32/12;其中FOSC为晶振频率,BAUD为波特率。当晶振为11059200Hz波特率为9600时,公式一的结果为TH1=TL1=-3(负三),公式二结果为TH1=TL1=253两个结果不同,为什么程序又可以正常运行呢?

呵呵 还是俺来帮你解答吧
1 公式一的结果为TH1=TL1=-3
2 公式二结果为TH1=TL1=253
无论使用哪个参数,程序都可以正常运行,这就对了。
因为这俩数 表面上看着不同 实际是一样的。公式二结果为TH1=TL1=253 为正数,
公式一的结果为TH1=TL1=-3 为负数 在计算机中要用补码表示,应表示为FDH=253.
呵呵 这俩个数实际是一样的。
所以无论公式一还是公式二,计算的结果都是一样的,当然程序运行也是相同的。

呵呵 别忘了给俺加分哦
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-19
-3和253互补,汇编后为同一个值。
第2个回答  2012-08-19
8位 最大是255

51单片机串口通信,定时器1,8位自动重装初值的求法
1 公式一的结果为TH1=TL1=-3 2 公式二结果为TH1=TL1=253 无论使用哪个参数,程序都可以正常运行,这就对了。因为这俩数 表面上看着不同 实际是一样的。公式二结果为TH1=TL1=253 为正数,公式一的结果为TH1=TL1=-3 为负数 在计算机中要用补码表示,应表示为FDH=253.呵呵 这俩个数...

51单片机串口通信定时器初值怎么计算?公式和计算原理是什么?
串口通信方式1和方式3,要用T1来控制波特率。T1,使用定时方式2,其初始值,和晶振频率、波特率、SMOD的关系式如下:T1初值 = 256 - fosc * (SMOD + 1) \/ (384 * 波特率)--我不明白波特率跟这个定时器的关系。麻烦你详细一点!这个关系,是由硬件决定的,只有搞微电子的,才能弄明白。软件人...

51单片机串口通信定时器初值怎么计算啊?公式和计算原理麻烦说一下!
串口通信方式1和方式3,要用T1来控制波特率。T1,使用定时方式2,其初始值,和晶振频率、波特率、SMOD的关系式如下:T1初值 = 256 - fosc * (SMOD + 1) \/ (384 * 波特率)--我不明白波特率跟这个定时器的关系。麻烦你详细一点!这个关系,是由硬件决定的,只有搞微电子的,才能弄明白。软件人...

51单片机串口通信问题求解
51单片机串口通信接收数据和发送出去,这不是一个整个过程,即接收和发送没有什么关系的,是完全可以只发送,或只接收的,不需要接收就发出去的。而且不论是接收或发送,每次都是一个字节的,没有什么8个字节的事。但是每发送一个字节,或接收一个字节,数据本身是8个位,注意是8个位,并不是8个字节。

要设置51系列单片机串口工作于所需工作方式,应是对哪个专用寄存器进行...
在方式1中,波特率由定时器1的溢出率决定,具体计算公式为:波特率 = 2^(SMOD-1) * 定时器1的溢出率。其中,SMOD是PCON寄存器中的一个位,用于进一步调整波特率。当串口在方式1下发送数据时,数据帧由TXD端输出,包含1个起始位、8个数据位和1个停止位。CPU执行写SBUF的指令后,数据传输开始。

51单片机,T1用作串行口波特率发生器时,设置为工作方式1时,应该给TH1...
51MCU-方式1:10位通用异步通信 一帧信息为10位:1位为起始位(0),8位数据位,1位停止位(1)采用定时器T1(1个16位计数器)作为串行口接收和发送的波特率发生器,数据传输波特率可调,由T1的溢出决定,可用程序设定。波特率设定:波特率=(2^smod)*(定时器T1溢出率)\/32 溢出率=溢出周期的倒数 ...

MCS-51单片机串口四种工作方式的波特率如何确定
当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1 溢出率 = fosc \/{12×[256 -(TH1)]} 在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口波特率以及...

51单片机如何初始化成8-n-1(8数据位,无奇偶校验位,1停止位)波特率,是...
用串口的模式1,是10位异步通信方式。1起始位,8数据位,1停止位,没有奇偶校验位。这种模式就是:8-n-1(8数据位,无奇偶校验位,1停止位)的模式。完全符合你的要求。--- 带奇偶校验位的,要用方式2或方式3。把奇偶校验位,放到TB8上,就可以发送了,这就是偶校验。接收的奇偶校验位,在...

51单片机接收上位机发送的多个字节的串口通信
\/***串口初始化***\/ void Inituart() { IE=0x90; \/\/打开中断总开关及串口中断开关 SCON = 0x50;\/\/设定串行口工作方式1 允许接受 TMOD = 0x20; \/\/定时器1,自动重载, 产... 展开 蓝枫寻 | 浏览4020 次 |举报 提示该问答中所提及的号码未经验证,请注意甄别。我有更好的答案推荐于...

什么是波特率?在51单片机中如何使用?
定时器选用timer1的自动重装模式 即1\/9600=定时时间 就是1\/9600=(12*32\/11059200)*(256-定时初值)。那么 定时初值=256-(11059200\/(12*32*9600));这里的32是51单片机的硬件典型结构,串口通信使用的频率是晶振频率的1\/32或者1\/16,但是这种模式下,限制了波特率的提高,因此,现在一些改进的51...

相似回答