标题: 在做单片机代码编辑工具,碰到STC波特率计算问题,请高手指点 [打印本页]

作者: zhangch2015    时间: 2016-1-3 19:55
标题: 在做单片机代码编辑工具,碰到STC波特率计算问题,请高手指点
在做一个单片机代码编辑工具,可以编辑C代码,然后调用KEIL51的C51下的命令进行编译,
现在想把STC波特率计算做成一个模块放到工具的工具栏中,点击后产生C代码(跟STC-ISP的一样),免去计算跟输入代码的麻烦,我不是搞硬件的,只是想做一个C代码编辑工具,方便新手入门




作者: zhangch2015    时间: 2016-1-3 19:58
请高手提供STC波特率计算公式
作者: admin    时间: 2016-1-4 03:38
mode0 fosc/12
mode1 K*fosc/(32*12*(256-TH1))
mode2 K*fosc/64
mode3 K*fosc/(32*12*(256-TH1))
K表示PCON中是否波特率加倍,fosc为晶振频率
这篇文章里面有详解:http://www.51hei.com/mcuteach/231.html
作者: zhangch2015    时间: 2016-1-4 10:02
谢谢管理员
作者: 暗光    时间: 2016-1-4 10:30
STC与51兼容的单片机可以用版主的方式计算,但是STC大多数增强型单片机,又增加了一个特殊寄存器,AUXR,其中的T0x12是决定T0是工作在1T模式还是12T模式,1T模式就是一个时钟加1次,12T模式就是12个时钟加一次,和传统51相同。所以上文中的fosc晶振的频率可以随着这个寄存器改变。当然默认是与传统51兼容的。具体楼主可以参考相关单片机的 datasheet。我看的文档是STC12C5A60S2的。
作者: zhangch2015    时间: 2016-1-5 19:41
谢谢两位,我搞出来了,看STC的资料

现在可以自动生成不同波特率的代码了






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1