标题: stc12c5a60s2有独立波特率发生器BRT,求具体讲解这个? [打印本页]

作者: han333    时间: 2018-5-15 11:20
标题: stc12c5a60s2有独立波特率发生器BRT,求具体讲解这个?
stc12c5a60s2有独立波特率发生器BRT,他是怎么工作的,具体的细节有大神懂吗?
求讲解

作者: HC6800-ES-V2.0    时间: 2018-5-15 12:42
自己找找这个芯片的手册嘛,很容易的。STC的手册内容很丰富。
作者: wulin    时间: 2018-5-15 13:49
如果不是搞芯片开发没有必要弄清楚芯片内部硬件的工作原理,只要按手册使用这些功能就可以了。不影响单片机控制电路的开发应用。
作者: han333    时间: 2018-5-16 11:26
已经解决,串口通信中AUXR辅助寄存器中可设置启动BRT
作者: han333    时间: 2018-5-16 11:26
wulin 发表于 2018-5-15 13:49
如果不是搞芯片开发没有必要弄清楚芯片内部硬件的工作原理,只要按手册使用这些功能就可以了。不影响单片机 ...

恩  谢谢  确实是 应经找到设置用的寄存器
作者: ax6808    时间: 2021-11-14 00:16
stc8h的,研究了一下串口1初始化程序并做了简单说明(手册写的很详细,又感觉上蹿下跳葫芦糊涂的)供参考:
void Uart1Init()                //OK
{
    SCON = 0x50;         //SCON:串口1:0101:010模式1、8位可变波特率、1允许串口接收数据;           ok
    TMOD = 0x20;         //设置为:定时器1,8位自动重载模式,当定时器1计数寄存器TL1中的8位计数值溢出时,系统会自动将TH1中的重载值,装入TL1中。
    AUXR = 0x40;         //AUXR B6(设置定时器1速度控制位1):定时器1为1T模式,即CPU时钟不分频( FOSC/1);
                                 //AUXR B5(串口1模式0通讯速度控制位0):波特率不加倍,固定为 Fosc/12;
                                 //AUXR B0(串口1波特率发生器BRT选择位0): 选择定时器1作为波特率发生器(BRT);
    TL1 = BRT;                 //定时器1计数寄存器:高低各一个,范例=254?定时器1的8位自动重载模式周期计算公式:定时器周期=(256–TH1)/SYSclk (自动重载);
    TH1 = BRT;                 //串口通信中AUXR辅助寄存器中可设置启动BRT
    TR1 = 1;                //定时器T1的运行控制位。该位由软件置位和清零。当GATE( TMOD.7)=0, TR1=1时就允许T1开始计数,TR1=0时禁止T1计数。当GATE(TMOD.7)=1, TR1=1且INT1输入高电平时,才允许T1计数。






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