请问单片机中断寄存器寄存器中波特率,如何转换成字节放到bit中,比如说晶振是11.0592,波特率是9600

您当前的位置:&>&&>&&>&
51单片机常用波特率初值表(12M晶振)
为什么51单片机的晶振一般使用11.0592?
用11.0592晶振的原因是51单片机的定时器导致的。用51单片机的定时器做波特率发生器时,如果用11.0592Mhz的晶振,根据公式算下来需要定时器设置的值都是整数;如果用12Mhz晶振,则波特率都是有偏差的,比如9600,用定时器取0XFD,实际波特率10000,一般波特率偏差在4%左右都是可以的,所以也还能用STC90C516 晶振12M 波特率9600 ,倍数时误差率6.99%,不倍数时误差率8.51%,数据肯定会出错。 这也就是串口通信时大家喜欢用11.0592MHz晶振的原因,在波特率倍速时,最高可达到57600,误差率0.00%。 用12MHz,最高也就4800,而且有0.16%误差率,但在允许范围,所以没多大影响。欢迎参与讨论,请在这里发表您的看法、交流您的观点。
此文关键字:
,,,,,,,,,,,,,,,,,,,,,,
壹兆咨询热线测控二三事欢迎你的到来!同时欢迎关注本站新浪微博
您当前的位置:&>&&>&
晶振频率与最大波特率,误差的关系
在使用单片机系统时,晶振选择是一个对精度控制很重要的原件,以下是单片机晶振频率与最大波特率,误差的关系,从表中我们可以看出用11.0592M和22.1184M,这样在通讯的时候误差最小。
Crystal(MHz)& MaxBaudRate & Error
1.000000   300     2.12%
1.843200   9600    0.00%
2.000000   300     0.79%
2.457600   300     0.78%
3.000000   1200    0.16%
3.579545   300     0.23%
3.686400   19200    0.00%
4.000000   1200    2.12%
4.194304   2400    1.14%
4.915200   1200    1.59%
5.000000   2400    1.36%
5.068800   2400    0.00%
6.000000   2400    0.16%
6.144000   1200    1.23%
7.372800   38400    0.00%
8.000000   2400    2.12%
10.000000   4800    1.36%
10.738635   2400    1.32%
11.000000   57600    0.54%
11.059200   57600    0.00%
12.000000   4800    0.16%
12.288000   2400    1.23%
14.318180   2400    0.23%
14.745600   38400    0.00%
15.000000   38400    1.73%
16.000000   4800    2.12%
18.432000   19200&&&&&&&&&&&&& 0.00%
20.000000   9600    1.36%
22.118400   115200   0.00%
24.000000   9600    0.16%
24.576000   4800    1.23%
25.000000   4800    0.47%
28.000000   9600    1.27%
32.000000   9600    2.12%
测控二三事网站 ALL Rights Reserved.
欢迎关注本站新浪微博
网站中内容或涉及侵犯您的版权,请联系本站 使用时请将 # 换成 @我用的晶振是11.0592M的51单片机,现在想把原来程序里的波特率从9600改为38400,如何修改tl1与th1的值_突袭网-提供留学,移民,理财,培训,美容,整形,高考,外汇,印刷,健康,建材等信息
我用的晶振是11.0592M的51单片机,现在想把原来程序里的波特率从9600改为38400,如何修改tl1与th1的值
来源:互联网 时间: 15:03:33
&&为了解决用户可能碰到关于"我用的晶振是11.0592M的51单片机,现在想把原来程序里的波特率从9600改为38400,如何修改tl1与th1的值"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"我用的晶振是11.0592M的51单片机,现在想把原来程序里的波特率从9600改为38400,如何修改tl1与th1的值"相关的详细问题如下:REN=1;SM0=0.0592M的51单片机,也可给出其他建议。万分感谢,如何修改tl1与th1的值!部分程序如下 TMOD=0x21;TH1=0TL1=0 TR1=1我用的晶振是11!!,现在想把原来程序里的波特率从9600改为38400===突袭网收集的解决方案如下===解决方案1: ;清除定时器1模式位 ORL TMOD,#20H UARTINIT,#50H ;8位数据,可变波特率 ORL AUXR,#40H ;设定定时器1为8位自动重装方式 MOV TL1,#0F7H ;定时器1时钟为F波特率不倍速 MOV SCON;波特率38400bps@11.0592MHz的设定 ANL PCON,#7FH ,即1T ANL AUXR,#0FEH ;串口1选择定时器1为波特率发生器 ANL TMOD,#0FH
解决方案2:
晶振是11.0592的51单片机是无法产生38400的波特率的,想产生38400,那就换52单片机,用T2来产生或用22.1184的晶振搭配51单片机
解决方案3:
去宏晶网站上去下一个波特率生成器,以后就不要这么麻烦了
UARTINIT: ;波特率38400bps@11.0592MHz设定 ANL PCON,#7FH ;波特率倍速 MOV... #0FH ;清除定器1模式位 ORL TMOD,#20H ;设定定器18位自重装式 MOV TL1,#0F7H...如果用的是11.0592Mhz的晶振的话,把 //TL1 = 0x0FD; //TH1 = 0x0FD; 改成: //TL1 = 0x0F4; //TH1 = 0x0F4;如果你的相位计只需要在初始的时候发送p0 c0 l0 这三个的话,也就是说后继的数据都是由相位计发送, 单片机接收的话,初始化部分没有大问题,但接收数据的部分 ReceStr()有问题...各种方式的波特率计算公式也不相同。 方式0的波特率 = fosc/12 方式2的波特率 =((2... 如果你用方式2(波特率 =((2^SMOD)/64)? fosc )的话 12M的晶振就不能得到9600波特...这程序在配置波特率时会读取RCC有关的寄存器来计算当前CPU实际的工作频率是多少... 的波特率工作。 当然如果你把原来8M的晶振换掉了,那你就需要修改系统中的一个定义...的晶振,我曾经在一本51的书籍中看到,提醒使用该类晶振,51单片机在常用的9600波特率传输时,经常出错,原因不详。你可以使用11.0592M或22.1184M,我用11.0592M的stc下载...里面用的是PL2303作的转换,而PL2303需要一个12MHz的晶振,现在你明白了吗?那个U... 所以,那个12MHZ晶振与你的单片机没有丝毫的关系,你用11.0592就行了.如果你仔细研究USART_Init()函数,你会发现,这程序在配置波特率时会读取RCC有关的寄存器来计算当前CPU实际的工作频率是多少,然后计算参数来实现你需要的波特率--就是说...11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一... 从程序的执行效率和稳定性两方面考虑都是最佳的方案。但应该注意,C51编写的中断服...但是如果用51单片机做串口通信必须要用到特殊的频率以适应波特率,如11.0592MHZ,2... 。但是相关的延时等参数都要跟着修改了,包括51也是一样的,51普通的一般常用12MHZ...为您准备的相关内容:
你可能还关注
淘宝折扣专区在51单片机中波特率的计算方法_文库下载
1亿文档 免费下载
当前位置: &
& 在51单片机中波特率的计算方法
在51单片机中波特率的计算方法
在51单片机中波特率的计算方法
一、传统51单片机波特率的算法
传统51单片机的及其周期是晶振的1/12,一般在使用串口工作方式1使用时,波特率的计算公式:
2SMOD*fosc bps n32*12(2 X)
bps----------波特率(bit/s)
SMOD------波特率加倍位(PCON.7)
n-------------单次收发8为数据
X------------初值
当设定确定波特率时,需要计算初值,换算公式为:
2SMOD*foscX 2 32*bps*12 n
误码率计算公式:
WML bps1 bps*100% bps
WML-------误码率
bps1---------实际波特率
Bps----------理论波特率
注意:误码率一般不要超过3%。
以下举例说明:
1、传统51单片机(机器周期是晶振的1/12),外部晶振11.1592MHz,使用串口工作方式1(异步串口通信),bps=9600bit/s。求定时器1工作方式2的初值? 当设定SMOD=0时,根据初值计算公式:
转换成HEX(十六进制)为0xfd。
当设定SMOD=1时,根据初值计算公式:
转换成HEX(十六进制)为0xfa。
Word文档免费下载:(下载1-3页,共3页)
51单片机波特率计算_计算机软件及应用_IT/计算机_专业资料。51 单片机波特率设置方法 51 芯片的串口可以工作在几个丌同的工作模式下, 其工作模式的设置就是使用 SCON...51 单片机波特率计算的公式和方法 51 单片机芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就 是使用 SCON 寄存器。它的各个位的具体定义如下: SM...波特率计算 波特率计算 在串行通信中, 收发双方对发送或接收的数据速率要有一定的约 定, 我们通过软件对 MCS―51串行口编程可约定四种工作方式。 其中, 方式0和...MCS-51单片机串行口工作方式与波特率计算举例_工学_高等教育_教育专区。MCS-51单片机串行口工作方式与波特率计算举例 MCSMCS-51 单片机串行口工作方式与波特率计算举例...51单片机波特率设置_信息与通信_工程科技_专业资料。51 系列的单片机中都有两个...51 波特率计算公式 :如 TH1=0XFD TL1=OXFD; 计算出来的是 9600 TMOD=0X20;...=0 *3 *1/32=9600 波特率计算 在串行通信中,收发双方对发送或接收的数据速率要有一定的约定,我们通过软件对 MCS―51串行口编程可约定四种工作方式。...51单片机串口波特率_信息与通信_工程科技_专业资料。系列的串口波特率的计算 51 系列的串口波特率的计算 1、方式0的波特率,固定为晶振频率的十二分之一。 2、方式2...基于51单片机的波特率自动识别系统程序_工学_高等教育_教育专区。波特率自动识别系统...51单片机波特率计算 5页 免费 51单片机串口通信及波特... 4页 免费 51单片机...51 单片机定时计数器溢出率计算和串口的波特率之间的关系发布:
作者: wang1jin
来源: 网络
查看: 128 次 51 芯片 串口 芯片的...4页 免费 51单片机串行通讯中波特率... 6页 免费 51单片机定时计数器溢出率... 3页 免费喜欢此文档的还喜欢 51单片机波特率计算 5页 免费 51单片机串口通信及...

我要回帖

更多关于 单片机寄存器 的文章

 

随机推荐