找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助这个单片机函数里T0重载值是如何计算的?

[复制链接]
跳转到指定楼层
楼主
ID:453144 发表于 2019-10-23 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我算完是baud*(11059200/12),不太明白这里的TL0是如何计算的,还有对baud这个值起到的作用不太了解
  1. void ConfigUART(unsigned int baud)

  2. {

  3.     TMOD &= 0xF0;   //清零T0的控制位

  4.     TMOD |= 0x02;   //配置T0为模式2

  5.     TH0 = 256 - (11059200/12)/baud;  //计算T0重载值

  6. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2019-10-23 22:33 | 只看该作者
是根据定时计数器的溢出率来计算的
回复

使用道具 举报

板凳
ID:235200 发表于 2019-10-24 00:11 | 只看该作者
一般51单片机是用T1方式2作为波特率,其波特率计算是通过T1的溢出率来进行计算的,
溢出时间=(256-重装值)*机器周期=(256-重装值)*12/晶振频率
baud=1/溢出时间=晶振频率/(256-重装值)/12
从而得
256-重装值=晶振频率/12/baud
重装值=256-晶振频率/12/baud
回复

使用道具 举报

地板
ID:411550 发表于 2019-10-24 00:47 | 只看该作者
计时器为方式2时的 波特率=晶振的频率/(12*(256-初值))
回复

使用道具 举报

5#
ID:524818 发表于 2019-10-24 08:27 | 只看该作者
单片机芯片手册里有详细讲解,建议楼主读一下
回复

使用道具 举报

6#
ID:123289 发表于 2019-10-24 21:05 | 只看该作者
关键点:
串行通讯的时钟来源于何处?一定要整明白!这个时钟的频率你关心一下。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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