登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 独立波特率发生器

[复制链接]
发表于 2021-2-21 22:05:51 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 独立波特率发生器
学习安排: 使用单片机自己的独立波特率发生器
开始时间: 2021-02-19
结束时间: 2021-02-19
本帖最后由 林志玄 于 2021-2-21 22:07 编辑

我们的单片机只有两个定时器T0,T1,单个工作进行时是够用的,但当多个工作一起进行时就不行了,比如同时进行红外遥控与串口通信,按照金沙滩的来说,T1定时器用作了串口配置波特率,T0定时器用作了红外计时,那么就没有多余的定时器来定时了。但好在我们的单片机比较先进,不仅是双串口,还有着自己的波特率发生器,在使用中只需要配置好寄存器就行了。

屏幕截图 2021-02-19 222017.png 屏幕截图 2021-02-19 222207.png 屏幕截图 2021-02-19 223606.png 屏幕截图 2021-02-19 223949.png 屏幕截图 2021-02-19 225453.png

我们只需要按照第五张照片上的步骤进行配置就行了。
这是我进行的简单配置
/*串口配置函数,baud为通信波特率*/
void ConfigUART()
{
   SCON = 0x50;                                                  //配置串口为模式1
   BRT = 0xF7;                                                  //33177600,9600,按照手册上的公式计算即可,然后把结果转化为16进制送给BRT
   AUXR = 0x11;                                                  //12T,BRTR = 1启动独立波特率发生器,S1BRS = 1,串口1选择独立发生器
   ES = 1;                                                          //使能串口中断
}

好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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