单片机波特率计算改变波特率和数组/数据库的问题

2006年5月 C/C++大版内专家分月排行榜第三2006年5月 C++ Builder大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2008年2月 VB大版内专家分月排行榜第一2003年4月 VC/MFC大版内专家分月排行榜第一2002年11月 VC/MFC大版内专家分月排行榜第一
2011年11月 VC/MFC大版内专家分月排行榜第二2008年3月 VB大版内专家分月排行榜第二2008年3月 硬件/嵌入开发大版内专家分月排行榜第二2003年4月 其他开发语言大版内专家分月排行榜第二2003年4月 VB大版内专家分月排行榜第二2003年3月 VB大版内专家分月排行榜第二
2008年2月 VB大版内专家分月排行榜第一2003年4月 VC/MFC大版内专家分月排行榜第一2002年11月 VC/MFC大版内专家分月排行榜第一
2011年11月 VC/MFC大版内专家分月排行榜第二2008年3月 VB大版内专家分月排行榜第二2008年3月 硬件/嵌入开发大版内专家分月排行榜第二2003年4月 其他开发语言大版内专家分月排行榜第二2003年4月 VB大版内专家分月排行榜第二2003年3月 VB大版内专家分月排行榜第二
2008年2月 VB大版内专家分月排行榜第一2003年4月 VC/MFC大版内专家分月排行榜第一2002年11月 VC/MFC大版内专家分月排行榜第一
2011年11月 VC/MFC大版内专家分月排行榜第二2008年3月 VB大版内专家分月排行榜第二2008年3月 硬件/嵌入开发大版内专家分月排行榜第二2003年4月 其他开发语言大版内专家分月排行榜第二2003年4月 VB大版内专家分月排行榜第二2003年3月 VB大版内专家分月排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本帖子已过去太久远了,不再提供回复功能。51单片机波特率如何设置啊-51单片机如何波特率如何设置38400
你正在浏览: &>&
51单片机波特率如何设置啊_51单片机如何波特率如何设置38400
51单片机波特率如何设置啊
0;51单片机为12M2\要发送八个数
128,128,82;串口的工作方式为2(波特率固定)书上要求输送位数又是TH1.744就取253=FDH?12与32分别是什么意思;想在T1的工作方式24&#92,还是不明白如何算1&#92,这个是没办法改的了这样,TL1的设定公式都不知代那个进去请原谅小菜的问题,最好能够详细地说明一下非常感谢相关说明:
我用的是学习板,这个是没办法改的了这样:=256-;()=252.744就取253=FDH?12与32分别是什么意思?为什么有人说与发送的位数有关?串口的工作方式2是11位吧?
if((PCON&0x80)==0x80) S_MOD=2; TH1=256-(fosc*S_MOD)/(baudrate*12*32);////(T1溢出率)方式3的波特率 =((2^SMOD)&#47串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同;64)•12方式2的波特率 =((2^SMOD)/64)• fosc 方式1的波特率 =((2^SMOD)/SM2=0-&多级通信中使用的位,REN=1。方式0的波特率 =
fosc&#47. 参考,// fosc )的话
12M的晶振就不能得到9600波特率了(除非你改变你的晶振,但是那样的晶振好像没有卖)
所以你只能选择方式1或3
而且12M的晶振在串口传输时会有误差;32)&#8226.h&#define baudrate 9600UL#define fosc UL/T1工作在方式2 SCON=0x50;/{12×[256 -(TH1)]}
--将该公式代人方式1或3
最后推出公式,所以,各种方式的波特率计算公式也不相同,就如你上面算的那样结果会有小数点TH1又只能是整数的
所以传输时会有误差;reg51:TH1=256-(fosc*2^SMOD)&#47,UL是不能省略的,代表长整型。unsigned char a,其中SMOD=0, TL1=256-(fosc*S_MOD)/(baudrate*12*32);void serial_init(void){ unsigned char S_MOD=1:SMOD为PCON寄存器的最高位(即PCOM&(T1溢出率)注意;/SM0=0 SM1=1-&串口通信在模式1;/其中;TMOD=0x20;(baudrate*12*32);呵呵
如果你用方式2(波特率 =((2^SMOD)&#47:#include&7&)。T1 溢出率 = fosc /32)• TR1=1;ES=1
波特率设定,由T1的溢出决定,可用程序设定:波特率=(2^smod)*(定时器T1溢出率)&#4751MCU-方式1:10位通用异步通信一帧信息为10位:1位为起始位(0),8位数据位,1位停止位(1)采用定时器T1(1个16位计数器)作为串行口接收和发送的波特率发生器:11.0592MHz,波特率为9600的初值:TH1=0FFH,TL1=0FDH强调:51串行口方式1为由定时器T1的计数溢出率来决定;32溢出率=溢出周期的倒数溢出周期=12*(256-X)/Fosc波特率=(2^smod * Fosc)/(32 *12*(256-X))初值X=256-(Fosc*2^smod)/384*波特率如,数据传输波特率可调,T1为16位定时器
波特率是单片机通信中必设置的地方至于对应不同的波特率设置TH/TL可以查表就能找到
在烧程序的软件中设置。
51单片机波特率设置主要有以下两种方式:1)
,2)工作方式1 。1)
SM0=0且SM1=0时,串口选择工作方式0,实质这是一种同步移位寄存器模式。
其数据传输的波特率固定为Fosc/12,数据由RXD引脚输入或输出,同步时钟由TXD引脚输出。2)工作方式1
当SM0=0且SM1=1时,串口选择工作方式1,其数据传输的波特率由定时/计数器T1、T2的溢出速率决定,可通过程序设定。当T2CON寄存器中的RCLK和TCLK置位时,用T2作为发送和接收波特率发生器,而RCLK=TCLK=0时,用T1作为波特率发生器,两者还可以交叉使用,即发送和接收采用不同的波特率。数据由TXD引脚发送,由RXD引脚接收。
51单片机波特率计算的原理。 [
你就记住51的振荡器进入串行模块以后有一个可选的16/32分频(默认32分频)就好了。 不想死记硬背...]如何设置单片机串口的波特率为115200? [
void UartInit(void)//115200bps@11.0592MHz { SCON =...]51单片机怎么把波特率调为38400,具体怎么设置 [
波特率有计算公式,不同的串口工作方式公式也不同,可以查芯片手册]51单片机的最高波特率只能是19200吗? [
不止,可以57600 晶振11.0592M TMOD=0x20 SCON=0x50 TH1=0xff...]51单片机中波特率设置计算问题 [
baud是波特率嘛,Buad是个啥子东西喔?另一个变量?你看看这段程序前面有没有产生两者关联的语句吧...]51单片机串行口工作方式1和方式2波特率不是一样的吗?为什么是两种工作方式? [
0 1 方式1 10位UART 可变 1 0 方式2 11位UARTFosc/64或fosc/32 ...]51单片机 设置串口波特率115200初值怎么弄 呢 单片机是11.0592的晶振 [
void UartInit(void) //115200bps@11.0592MHz { PCON ...]书上说51单片机方式0的波特率是Fsoc/12,如果晶振是12M则波特率就是1M。这个可能吗。 [
是的 但是方式0是同步串口,控制595、164这类扩展IO的比较方便 我用过串口方式0来读SD卡,C...]51单片机串口实验时波特率怎么调才合适 [
9600,n,8,1]51单片机可以实现500k波特率通讯吗 [
51单片机波特率设置主要有以下两种方式:1) 工作方式0 ,2)工作方式1 。 1) 工作方式0 S...]
你可能感兴趣的内容?51系列单片机T1作波特率发生器时的初值设置问题 - 嵌入式系统编程 - 电子工程世界-论坛
后使用快捷导航没有帐号?
查看: 2395|回复: 4
51系列单片机T1作波特率发生器时的初值设置问题
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
读公司的一段代码时发现有下面一段&&
& &SCON& &= 0xd0;
& &PCON |= 0xC0;
& &TMOD &= 0x0F;
& &TMOD |= 0x20;
& &TH1 = 256 - ((FREQ_OSC * 2L * 125L)/ (48L * 9600L));
& &TH1按理应该=256-(FREQ_OSC*2^SMOD)/(12*32*波特率),不知道上面的TH1初值的设置是怎样得来?高人请指教,用的是ST公司生产的UPSD3233 51系列芯片,晶振40MHZ.尤其不知125和48从何而来?
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
这两个得看一下你的芯片的定时器率频取样结构
里面会给出答案
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
TH1 = 256 - ((FREQ_OSC * 2L * 125L)/ (48L * 9600L));和FREQ_OSC的单位有关啊
如果40MHz 定义为 FREQ_OSC = 40000 (kHz)的话,而计算公式要求是Hz为单位,则有
TH1 = 256 - ((FREQ_OSC * 2L * 1000L)/ (12 * 32 * 9600L))
= 256 - ((FREQ_OSC * 2L * 125L)/ (48L * 9600L));
呵呵,请对照源程序看看了!
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
不过,公司代码这么写,非良好风格也
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
非常感谢shen_guang_wu(单片机爱好者),结帖时给分给错了,见谅
EEWORLD 官方微信
EE福利 唾手可得
Powered by2006年7月 硬件/嵌入开发大版内专家分月排行榜第二
2006年9月 硬件/嵌入开发大版内专家分月排行榜第三
2013年4月 硬件/嵌入开发大版内专家分月排行榜第二2007年9月 硬件/嵌入开发大版内专家分月排行榜第二
2013年5月 硬件/嵌入开发大版内专家分月排行榜第三2012年9月 硬件/嵌入开发大版内专家分月排行榜第三2007年11月 硬件/嵌入开发大版内专家分月排行榜第三
2010年1月 硬件/嵌入开发大版内专家分月排行榜第三
2010年1月 硬件/嵌入开发大版内专家分月排行榜第三
2010年1月 硬件/嵌入开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 单片机波特率是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信