找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3032|回复: 1
收起左侧

关于STC12C5A32S2单片机波特率计算问题

 关闭 [复制链接]
抢楼 抢楼 查看抢中楼层 本帖为抢楼帖,欢迎抢楼!  奖励楼层: 123 
ID:418482 发表于 2018-11-7 16:09 | 显示全部楼层 |阅读模式
3黑币
1 圈1选哪一个 希望告知为什么,2  圈2TH1怎么算的  3   圈三的值    4  SMOD 是否应该选1  谢谢
2.png
3.png

最佳答案

查看完整内容

1.先回答你的第三个问题:波特率是你想用多少,而不是算出来是多少,要看你的设备选的是多少,加入两台电脑,9600 就都是9600,4800 那就都是 4800 2.再回答你的第一个问题:T1 选 1 还是 0 是你自己的事, 选 1 就是 1T 模式,选 0 是 12T 模式,有什么区别吗 ?继续看! 3.在回答你的第四个问题:SMOD 选 1 还是 0,同上 你自己的事。选 1 波特率 倍速,选 0 不倍速,有什么区别吗 ?继续看 ! 4.回答你的第二个问题: 当 ...
回复

使用道具 举报

ID:149144 发表于 2018-11-7 16:09 | 显示全部楼层
1.先回答你的第三个问题:波特率是你想用多少,而不是算出来是多少,要看你的设备选的是多少,加入两台电脑,9600 就都是9600,4800 那就都是 4800
2.再回答你的第一个问题:T1 选 1 还是 0 是你自己的事, 选 1 就是 1T 模式,选 0 是  12T 模式,有什么区别吗 ?继续看!
3.在回答你的第四个问题:SMOD 选 1 还是 0,同上 你自己的事。选 1 波特率  倍速,选 0 不倍速,有什么区别吗 ?继续看 !
4.回答你的第二个问题:
  当 T1 = 1 的时候,TH = 256 - ( ( 晶振频率 / 32 / 波特率 ) *( SMOD + 1))
  当 T1 = 0 的时候,TH = 256 - ( ( 晶振频率 / 12 / 32 / 波特率 ) *( SMOD + 1))
  
图中你的晶振是 22.1184M = 22118400 ,假如一台设备波特率 9600
假如你选了  T1 = 1,          SMOD = 0    // 1T 模式  不倍速
  那么      AUXR |= 0x40;    PCON &= 0x7F;
   TH = 256 - ( 22118400 / 32 / 9600 )* 1 = 256 - 72 = 184 = 0xB8

假如你选了  T1 = 1,         SMOD = 1    // 1T 模式  倍速
  那么      AUXR |= 0x40;    PCON |= 0x80;
   TH = 256 - ( 22118400 / 32 / 9600 )* 2 = 256 - 72 * 2 = 256 - 144 = 112 = 0x70


假如你选了  T1 = 0,        SMOD = 0    // 12T 模式  不倍速
  那么      AUXR &= 0xBF;  PCON &= 0x7F;
   TH = 256 - ( 22118400 / 12 / 32 / 9600 )* 1 = 256 - 6 = 250 =0xFA



假如你选了  T1 = 0,        SMOD = 1    // 12T 模式  倍速
  那么      AUXR &= 0xBF;  PCON |= 0x80;
   TH = 256 - ( 22118400 / 12 / 32 / 9600 )* 2 = 256 - 6 * 2 = 256 - 12 = 244 =0xF4



就这么回事 数据手册 有没有说 HL = TH ?
其他的波特率自己算吧,就这两个公式




   

评分

参与人数 1黑币 +6 收起 理由
a超人 + 6 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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