找回密码
 注册
关于网站域名变更的通知
查看: 422|回复: 2
打印 上一主题 下一主题

51单片机的晶振一般使用11.0592,为什么?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-9 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

# v" C& l9 O6 Q" G! F. Z( x0 `7 F

为什么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%误差率,但在允许范围,所以没多大影响。

2 _- F; T0 }3 x3 j


  s- o$ d3 i4 x: `7 A7 e# |

9 E% K" G2 d# x3 j) U; T9 M3 G; i$ N; t( d% ~/ z

( E8 P9 X- V" H4 _6 x, W) L0 h- s1 ]6 A; o+ r& o6 Z

该用户从未签到

2#
发表于 2019-9-9 11:08 | 只看该作者
谢谢分享,这个主要在串行通信里面用。

该用户从未签到

3#
发表于 2019-9-17 10:33 | 只看该作者
本帖最后由 超級狗 于 2019-9-17 10:43 编辑
7 u5 Y  X  M. D- q8 h: L. O8 M
6 G2 X5 Q. _, J: z6 R早期的 UART IC 16450 / 16550,使用的晶振頻率就是用 1.8432MHz。' ^: W2 s! t% G+ P5 t% W; F

% I+ F% j; ~5 R: P- p( I後來 UART 被整合到 MCU 中,為了可以除出原來的通訊頻率,最簡單的方式就是選 1.8432MHz 的整數倍。/ P+ |2 y5 y  ]% H) C- U

( z: M' Y$ K8 \9 J& T( Z1.8432MHz x 4 = 7.3728MHz(適用於 8MHz MCU)& U% m; ^7 X- u2 D- c
1.8432MHz x 5 = 9.216MHz(適用於 10MHz MCU)
3 A" J* y- F7 P$ U+ {3 q( \1.8432MHz x 6 = 11.0592MHz(適用於 12MHz MCU)
4 X. ^* X8 t" ^1.8432MHz x 8 = 14.7456MHz(適用於 16MHz MCU)- h) |, q6 C& o' S! R; f
1.8432MHz x 9 = 16.5888MHz(我們用它偷跑 16MHz MCU
! ^; j) d2 K# Q3 Z4 n) K+ d6 J
. v$ U& d, v3 q. ]2 L+ V& v* }( w* a5 ?# [% s+ {( I: [  i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-21 23:05 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表