找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4589|回复: 5
打印 上一主题 下一主题
收起左侧

在做单片机代码编辑工具,碰到STC波特率计算问题,请高手指点

[复制链接]
跳转到指定楼层
楼主
在做一个单片机代码编辑工具,可以编辑C代码,然后调用KEIL51的C51下的命令进行编译,
现在想把STC波特率计算做成一个模块放到工具的工具栏中,点击后产生C代码(跟STC-ISP的一样),免去计算跟输入代码的麻烦,我不是搞硬件的,只是想做一个C代码编辑工具,方便新手入门



评分

参与人数 1黑币 +35 收起 理由
暗光 + 35 支持原创

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:101663 发表于 2016-1-3 19:58 | 只看该作者
请高手提供STC波特率计算公式
回复

使用道具 举报

板凳
ID:1 发表于 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
回复

使用道具 举报

地板
ID:101663 发表于 2016-1-4 10:02 | 只看该作者
谢谢管理员
回复

使用道具 举报

5#
ID:72781 发表于 2016-1-4 10:30 | 只看该作者
STC与51兼容的单片机可以用版主的方式计算,但是STC大多数增强型单片机,又增加了一个特殊寄存器,AUXR,其中的T0x12是决定T0是工作在1T模式还是12T模式,1T模式就是一个时钟加1次,12T模式就是12个时钟加一次,和传统51相同。所以上文中的fosc晶振的频率可以随着这个寄存器改变。当然默认是与传统51兼容的。具体楼主可以参考相关单片机的 datasheet。我看的文档是STC12C5A60S2的。
回复

使用道具 举报

6#
ID:101663 发表于 2016-1-5 19:41 | 只看该作者
谢谢两位,我搞出来了,看STC的资料

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

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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