12012|28

6366

帖子

4890

TA的资源

版主

楼主
 

为什么在单片机串口通信时,经常选用11.0592MHz的晶体? [复制链接]

 
本帖最后由 tiankai001 于 2018-5-25 09:50 编辑

为什么在单片机串口通信时,经常选用11.0592MHz的晶体?




关于这个问题,其实我们要思考的有很多,例如:为什么波特率要定义为9600,115200等这些值,如果定义为1000,10000岂不是更方便计算?
下面这个朋友说的很有道理,值得我们深思。
回复即可查看,

这个问题我在网上查过很久,浅层原因是使得9600相关的串口波特率更精准。可是波特率是人定的啊,我如果定成10000,那么12mHz的晶振就更合适了。显然这个原因不能令人信服!其实真正的原因很简单,不过国内穷究的人太少,得到一个似是而非的答案就以为解决了问题。真实原因是以前通信线缆的电气特性和人们的工艺水平决定了与9600相关的波特率成为主流,后来定标准时就延续了下来。说到底还是底蕴和标准的问题,这也是当今中国最应该下苦功的地方。
此帖出自单片机论坛

最新回复

学到了很多,显然是技术的先进与落后的妥协政策  详情 回复 发表于 2019-1-10 17:17
点赞 关注
 

回复
举报

6

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
因为对其整数分频后可以得到4800,9600,57600等常用波特率。
此帖出自单片机论坛

点评

其实仔细分析波特率一系列值的规律,就可发现,波特率一般都是2倍的关系  详情 回复 发表于 2018-5-25 10:15
 
 

回复

4008

帖子

0

TA的资源

版主

板凳
 
传统51最大工作频率是12M,小于此数值最整的数就是这个,串口可以最高工作在115200
此帖出自单片机论坛

点评

51单片机晶振频率和实际工作频率是12倍的关系  详情 回复 发表于 2018-5-25 10:18
 
 
 

回复

1977

帖子

0

TA的资源

五彩晶圆(初级)

4
 
就是为了分频得到常见的波特率
此帖出自单片机论坛

点评

是为了得到准确的波特率,对于51来说,是让定时器的值能够是整数  详情 回复 发表于 2018-5-25 10:19
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

5
 
为了分频后得到准确的常用波特率。
此帖出自单片机论坛

点评

不是分频  详情 回复 发表于 2018-5-25 10:19
 
 
 

回复

1万

帖子

16

TA的资源

版主

6
 
为了波特率准确
此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

7
 
这个一方面是为了有一个精确的指令周期(我记得是),另一方面,是为了串口,定时器等能实现精确定时和准确的串口波特率
此帖出自单片机论坛

点评

为了让定时器的值是整数,这样更准确  详情 回复 发表于 2018-5-25 10:20
 
 
 

回复

6366

帖子

4890

TA的资源

版主

8
 
zhangzengwen 发表于 2018-5-24 16:56
因为对其整数分频后可以得到4800,9600,57600等常用波特率。

其实仔细分析波特率一系列值的规律,就可发现,波特率一般都是2倍的关系
此帖出自单片机论坛
 
 
 

回复

6366

帖子

4890

TA的资源

版主

9
 
huo_hu 发表于 2018-5-24 16:57
传统51最大工作频率是12M,小于此数值最整的数就是这个,串口可以最高工作在115200

51单片机晶振频率和实际工作频率是12倍的关系
此帖出自单片机论坛

点评

回答这个题必须提下传统51最高工作频率12M,否则应该扣分 如果没有这个前提 11059200/2*3=16588800也是可行的,现在51早就没这个限制了,很多设计还在用这个也很无耐.  详情 回复 发表于 2018-5-25 19:50
 
 
 

回复

6366

帖子

4890

TA的资源

版主

10
 
bobde163 发表于 2018-5-24 17:01
就是为了分频得到常见的波特率

是为了得到准确的波特率,对于51来说,是让定时器的值能够是整数
此帖出自单片机论坛
 
 
 

回复

6366

帖子

4890

TA的资源

版主

11
 
maychang 发表于 2018-5-24 17:08
为了分频后得到准确的常用波特率。

不是分频
此帖出自单片机论坛
 
 
 

回复

6366

帖子

4890

TA的资源

版主

12
 
huaiqiao 发表于 2018-5-25 09:35
这个一方面是为了有一个精确的指令周期(我记得是),另一方面,是为了串口,定时器等能实现精确定时和准确的 ...

为了让定时器的值是整数,这样更准确
此帖出自单片机论坛

点评

很早之前搞51的时候,看过这方面的资料。现在有点忘却了。  详情 回复 发表于 2018-5-25 13:28
 
 
 

回复

355

帖子

0

TA的资源

一粒金砂(高级)

13
 
回复一下,看一下吧
此帖出自单片机论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

14
 
限于单片机的工作频率,以2的指数来选的
此帖出自单片机论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

15
 
看下楼主留言
此帖出自单片机论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

16
 
tiankai001 发表于 2018-5-25 10:20
为了让定时器的值是整数,这样更准确

很早之前搞51的时候,看过这方面的资料。现在有点忘却了。

此帖出自单片机论坛
 
 
 

回复

257

帖子

0

TA的资源

一粒金砂(高级)

17
 
看看为什么。
此帖出自单片机论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

18
 
tiankai001 发表于 2018-5-25 10:18
51单片机晶振频率和实际工作频率是12倍的关系

回答这个题必须提下传统51最高工作频率12M,否则应该扣分

如果没有这个前提 11059200/2*3=16588800也是可行的,现在51早就没这个限制了,很多设计还在用这个也很无耐.
此帖出自单片机论坛
 
 
 

回复

326

帖子

1

TA的资源

纯净的硅(初级)

19
 
本帖最后由 shipeng 于 2018-5-29 08:31 编辑

我只知道32.768KHz正好是二进制的0b01000000 00000000,这样判断1秒的计数周期就会很方便,只要判断bit14是否非零就可以了,不过波特率似乎又和这个无关。
此帖出自单片机论坛
 
 
 

回复

1万

帖子

137

TA的资源

版主

20
 
本质上,这是个“次序”问题。
电报发明后,信息的远距离快速传递成为可能。但是,电报报文的传递需要收发双方同时操作,如果发送者想发报而接受者不在呢?那自然没法传递信息了。怎么解决?于是有人发明了自动电报机,因为其输出是通过打字机实现的,信息则通过电信号传输,所以这样的电报机被称为“电传打字机”或“电传机”。后来,电话普及,通过电话线路做电传比电报专用线路的成本低多了,再加上电子技术的大力发展,利用调制解调器通过电话线做电传在技术上已经成熟。不过,各个厂家的电传机速度不尽相同,厂家则尽力提高自己产品的传输速度,为便于交互,于是电传机的传输速率被统一。开始电传机的速率指标是每分钟多少字符,使用Modem的电子式电传机则采用波特率来表达,于是就有了50、75、100等取整的数值。在技术进步的推动下,300bps成为当年高端电传机的标志并长期使用。电传机有个机械打印的速度瓶颈,所以300bps足够用了。
因为电传机的大量使用,促进了Modem的发展,300bps可以被轻松突破。为了规范,在1970年,美国电子工业协会联合业内几家骨干厂商颁布了波特率标准,以300bps为起点,以2的幂作为级差倍数,于是就有了300、600、1200、2400、4800、9600等等看似奇怪的数值。之所以要用2的幂,因为在数字电路中2分频是最容易的。
MCS51为什么要用11.0592MHz这样的主频,这当然是波特率精度要求的结果,跟51的波特率发生器由主频12分频有关,但本质上是为了凑当年的那个主流高端电传机的300bps及由它带来的波特率标准。
此帖出自单片机论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表