2个回答
展开全部
单片机常用的是12M跟11.0592MHZ 。
一般情况下,一个机器周期是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 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计
(扬兴科技为您解答)
一般情况下,一个机器周期是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 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计
(扬兴科技为您解答)
苏州杭晶
2024-07-05 广告
2024-07-05 广告
晶振是内置震荡芯片与石英晶体的小型有源时钟模块。在应用晶体谐振器时,通常需要对电路的实际负载、负性阻抗及激励功率等参数进行测试,以选择合适的晶体谐振器与之匹配。石英晶体振荡器将振荡IC与石英晶体内置在产品当中,上述匹配工作均在我们厂内完成,...
点击进入详情页
本回答由苏州杭晶提供
展开全部
11.0592MHZ石英晶振是为了单片机和电脑进行串口通讯专用的晶振,其它频率的无法与电脑串口对接.只是为了得到精确的信波特率.因为它可以准确地划分时钟频率与UART(通用异步接收器/发送器)量常见的波特率相关.特别是较高的波特率.不管是多特殊的值,这些晶振都是准确,常被使用的. .以19.2K波特率为例,19.2K波特率的晶振为11.0592=19200x(256-0FDH)x384x2(19.2k的SMOD为1)其它值也会得出好的结果.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |