89c52产生115200波特率
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
背景:
我们知道51常用的波特率是9600,但是由于需要,不得不使用其他的波特率,然而51的运算速度有限,在软件支持下最高只有57600的波特率,这次因为给的模块用的是115200的波特率,不得不使用其他的办法。
网上的教程杂乱,良莠不齐,写下次教程共享经验。
方案:
最初我想到的方案是更换22.1184MHZ的晶振,测试成功。
然后我根据资料,发现可以使用6T模式来加速51的运算速度。
方案一:更换晶振
根据图中的公式计算,倍频情况下,TH1为0xff的时候拥有最大波特率57600.
更换22MHz的晶振后升为115200.
随手贴写下代码:
方案二:使用6T模式
这个方案也比较简单,根据公式,需要6T模式。
普通下载是12T单倍速的如图:
我们只需要换成6T倍速的就可以直接用115200的波特率了。
程序同上。