STC12C56芯片串口波特率115200
时间: 2024-12-29 22:09:30 浏览: 17
STC12C56是一款常用的8位单片机,它内置了一个UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)。若你想设置其串口波特率为115200bps(每秒传输115200位),你需要配置相关的寄存器值。
首先,确保UART工作在模式1,因为这是提供最高波特率的一般模式。在STC12C56中,这通常涉及到以下步骤:
1. **初始化UBRRH寄存器**(Upper Baud Rate Register High): 由于115200 = 2^9 * 8, 所以UBRRH需要存储的是9(即1 << 4)部分,将其设置为0x0F(十进制15)。
2. **初始化UBRRL寄存器**(Upper Baud Rate Register Low): UBRRL需要存储的是剩下的低四位,即0x00(十进制0)。
配置寄存器的代码示例(假设数据长度为8位、无校验位、停止位为1个空闲位):
```c
// 设置波特率为115200
SFR(addr, UBRRH) = 0x0F; // 设置UBRRH
SFR(addr, UBRRL) = 0x00; // 设置UBRRL
// 启动串口接收和发送
TR1 = 1; // 启动定时器T1用于波特率发生器
UCON |= (1<<URXEN); // 接收使能
UCON |= (1<<UTXEN); // 发送使能
```
阅读全文