6443|18

82

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

波特率的计算 [复制链接]

51单片机的晶振是:11.09520MHZ,如果要产生9600bps的波特率,下面是我在网上找到了公式:
波特率=1/16或1/32*(晶振的频率/12*(256-TH1))
代入:
9600=11059200/32*12*(256-TH1)
TH1=TH0=FDH
现在的问题是:为什么要除以:32 呢?

最新回复

这波特率不是在书本上有嘛? 也和你查的一样。  详情 回复 发表于 2010-5-11 18:02
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

你上面的计算方法貌似是错误的,正确的如下:

(65535-初值)*晶振频率/12 = 1/波特率;

 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
LS,他那个是自动重载方式的

16和32哪来的我一时也想不太清楚

要不LZ看一下数据手册看有没有分频什么的
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
还有个16倍分频....标准51是这样的.
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
呵呵,楼上记忆力厉害,呵呵,原来自动重载方式2,是有分频的,,,,
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
这种公司看下具体那款单片机的datasheet就ok了
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
具体要参考数据手册吧,之前用过timer2做波特率发生器,找stc手册才明白的
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 
例如:常见的TH1=0xfd;
9600=11059200/(32*12*(256-FDH))
这里是作为分母的,
12表示:晶振的12分频
256-FDH=3:表示所需要的周期,取倒数表示频率
具体这里是选用32 还是 16,要看自己的寄存器的配置。


但是,我现在不明白的是:这个32(或者16)是怎么回事,是传输了16个数据,还是??????
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
给UART的时钟频率应该是波特率的16倍,以便在第7,8,9个时钟处检测Rx的值。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(中级)

10
 
UART不是一共十位的吗?(一般来说)
一位表开始,8位数据,一位表结束
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

11
 
UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
给UART的时钟频率,不是TX的输出,UART十位指的是10个波特率对应的时间,而
给UART的时钟频率应该是波特率的16倍,以便在第7,8,9个时钟处检测Rx的值
Rx上一位也是指波特率对应的一位。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
我都是找个软件计算一下的。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

14
 
看datasheet,UART的波特率往往不是直接取系统时钟的,若是传统的C8051,是选择系统时钟的32分频或者16分频(由某个控制位控制),若是增强型51,可选择的余地就更大了。
 
 
 

回复

94

帖子

0

TA的资源

一粒金砂(初级)

15
 
UART硬件对一个位又进行了分割...16等分,并在中间位置多次采样RXD管脚,以减少干扰造成的数据错误...
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

16
 
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4023698&bbs_page_no=1&search_mode=4&search_text=HuWenjin&bbs_id=9999

我提供一个直接计算,生成初始化程序的。

呵呵,还有生成整套操作函数的,中断方式发送与接收
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

17
 
其实这是公式:
波特率=(2^smod /32)*(定时器T1溢出率)
溢出率=溢出周期的倒数
溢出周期=(256-X)*12/Fosc
波特率=(2^smod * Fsoc)/(32 *12*(256-X))
你看看吧,应该会理解的,2^smod表示2的SMOD次幂,SMOD可取值为0或1,是零的时候就是32分之一了。




 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

18
 
哎 差距   都还给老师了 !
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

19
 
这波特率不是在书本上有嘛?
也和你查的一样。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表