STC单片机串行通信波特率设置解析

需积分: 50 371 下载量 26 浏览量 更新于2024-08-10 收藏 5.62MB PDF 举报
"串行通信中波特率的设置在STC12C5620AD系列单片机中是一个关键的参数,它直接影响到数据传输的速度和效率。串行通信的波特率设置取决于所选用的工作模式。" 在STC12C5620AD系列单片机中,串行通信的波特率可以分为几种不同的情况: 1. **工作模式0**:在这种模式下,波特率与系统时钟频率SYSclk以及UART_M0x6/AUXR.5位有关。如果UART_M0x6/AUXR.5设置为0,波特率等于SYSclk/16;若设置为1,波特率同样为SYSclk/16。一旦SYSclk选定且UART_M0x6/AUXR.5设定好,模式0的波特率便固定不变。 2. **工作模式2**:在这个模式下,波特率不仅与SYSclk有关,还受到PCON中的SMOD位的影响。基本公式为:波特率 = 2 * SMOD / 64 * (SYSclk)。当SMOD为0时,波特率为SYSclk/64;当SMOD为1时,波特率为SYSclk/32。通过软件设置PCON的SMOD位,可以选择两种不同的波特率,因此模式2的波特率基本固定。 3. **工作模式1和3**:这两种模式的波特率是可变的,因为它们不仅依赖于SYSclk,还与定时器/计数器1(T1)的溢出率相关。基本表达式为:波特率 = 2 * SMOD / 32 * (定时器溢出率)。溢出率由TH1的值决定,具体计算为:当T1的预置值为0时,溢出率为SYSclk / (256 - TH1);当预置值不为0时,溢出率为SYSclk / (256 - TH1)。通过调整TH1的值,可以灵活地改变波特率。在实际应用中,模式1和模式3由于其灵活性常被选择。 为了设置SMOD位,可以使用如下的汇编指令: - 使SMOD=0:`MOV PCON,#00H` - 使SMOD=1:`MOV PCON,#80H` 需要注意的是,SMOD仅占据电源控制寄存器PCON的最高位,其他位的设置应根据具体应用需求来确定。 STC12C5620AD系列单片机是南通国芯微电子有限公司的产品,具备高速、低功耗、强抗静电和抗干扰等特点,并支持在线编程(ISP)。其内部结构、管脚图、选型表和应用电路图等信息可以在相关手册中找到,便于用户进行开发和设计。