找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4735|回复: 0
打印 上一主题 下一主题
收起左侧

单片机对12M和11.0592M的选择

[复制链接]
跳转到指定楼层
楼主
ID:79827 发表于 2015-8-14 11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机常用晶振频率是1.2M-12M,一般情况下,一个机器周期是12个时钟周期,所以用12M时,一个机器周期是1US,好计算,而且速度相对是最高的,当然现在也有更高频率的单片机。
而进行通信是,一般选择11.0592M12M频率进行串行通信不容易实现标准的波特率,比如96004800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.0592M   
计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M 12M,定时器1 为模式2SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式:     11.0592M            9600(2÷32)×((11.0592M/12)/(256-TH1))            TH1250     12M                9600(2÷32)×((12M/12)/(256-TH1))                   TH1249.49   上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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