论坛» 综合技术» 基础知识

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

助工
2016-02-26 16:11 1楼
51单片机常用 晶振频率是1.2M-12M,一般情况下,一个机器周期是12个时钟周期,所以用12M时,一个机器周期是1US,好计算,而且速度相对是最高的,当然现在也有更高频率的单片机。
而进行通信是,一般选择11.0592M,12M频率进行串行通信不容易实现标准的波特率,比如9600,4800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.0592M
计算一下就知道了。如我们要得到9600 的波特率, 晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式: 11.0592M 9600=(2÷32)×((11.0592M/12)/(256-TH1)) TH1=250 12M 9600=(2÷32)×((12M/12)/(256-TH1)) TH1≈249.49 上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计
院士
2016-02-27 08:53 2楼

好古老的资料啊~~

也算是对51单片机的一种思考吧

工程师
2016-03-03 13:23 3楼
排版好丧失的样子
专家
2016-03-03 14:31 4楼
温故一下
院士
2016-03-04 21:46 5楼
复习了,谢谢作者。
专家
2016-03-04 22:24 6楼
有DOM测试一下
专家
2016-03-26 20:50 7楼
复习一下,,,,,,,,,,,,
共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]