登录  | 立即注册

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

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

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

[复制链接]
发表于 2019-2-22 21:17:09 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 独立波特率发生器
学习安排: 学会使用独立波特率发生器,释放定时器T1
开始时间: 2019-02-20
结束时间: 2019-02-22
        STC2C5A60S2的宣传页上说有2~3个串口独立波特率发生器,就想用这个模块,可以省一个定时器,但是在器件手册里并没有很清楚的例程,有个例程时用独立波特率发生器的可编程的时钟输出,但是没找到用独立波特率发生器用于串口通信的程序,百度上有例程,但是在开发板上并不能用,推测是BRT的重载值不对,看了几页百度找到了一条帖子讲了怎么计算BRT重载值,
BRT重载值=256-(晶振值/波特率/32/12)  按咱开发板上的算BRT=0xF7;
演示程序:
[mw_shl_code=c,true]#include <STC12c5a60s2.h>

unsigned char Rxdcnt = 0;
unsigned char pdata RxdBuff[15];
void SendStr(unsigned char *s);
       
void main()
{
        EA = 1;
        SCON = 0X50;
        AUXR= 0X11;
        BRT=0XF7;  //9600
        ES =1;
        SendStr("明德任责,好学力行\r\n");
        while(1);
}
void SendByte(unsigned char dat)
{
  SBUF = dat;
  while(!TI);
  TI = 0;
}

void SendStr(unsigned char *s)
{
        while(*s!='\0')
  {
  SendByte(*s);
  s++;
  }
}

void InterruptUART() interrupt 4
{
        if(RI)
        {
                RI = 0;
        }
        if(TI)
        {
                TI = 0;
        }
}[/mw_shl_code]

独立波特率发生器.png
独立波特率.png

评分

参与人数 1铜板 +33 收起 理由
如果让他嘎斯 + 33 赞一个!

查看全部评分

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

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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