串行口
STC15W4K32S4系列单片机有4个串行口,串行口1有4种工作方式,其中两种方式波特率可变,两种波特率固定。串行口2,3,4只有2种工作方式,均为波特率可变。
UART1
寄存器
串行口控制寄存器(Serial Control Register)(可位寻址)
SFR name | Address | bit | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
---|---|---|---|---|---|---|---|---|---|---|
SCON | 98H | name | SM0/FE | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
- SM0/FE:当PCON中的SMOD0 = 0时,该位和SM1共同指定串行通信的工作方式
SM0 | SM1 | 工作方式 | 功能说明 |
---|---|---|---|
0 | 0 | 方式0 | 同步移位串行方式 |
0 | 1 | 方式1 | 8位UART,波特率可变 |
1 | 0 | 方式2 | 9位UART |
1 | 1 | 方式3 | 9位UART,波特率可变 |
- SM2:方式2或方式3多机通信控制位 使用方式0,方式1时,该位应为0.
- REN:允许禁止串行控制接收位
- TB8:方式2或方式3中要发送的第九位数据 使用方式0,方式1时,该位不用
- RB8:在方式2或方式3中为要接收的第九位数据 使用方式0,方式1时,该位不用
- TI:发送中断请求标志位,方式0中发送数据第八位结束后,内部硬件自动置位,向cpu请求中断,响应中断后需软件清零。其他工作方式则在停止位开始发送时硬件置位,响应中断后需软件清零。
- RI:接收中断请求标志位,方式0中接收数据第八位结束后,内部硬件自动置位,向cpu请求中断,响应中断后需软件清零。其他工作方式则在接收到停止位的中间时刻硬件置位,向cpu请求中断,响应中断后需软件清零。
电源控制寄存器(Power Control Register)(不可位寻址)
SFR name | Address | bit | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
---|---|---|---|---|---|---|---|---|---|---|
PCON | 87H | name | SMOD | SMOD0 | LVDF | POF | GF1 | GF0 | PD | IDL |
- SMOD:波特率选择位,SMOD = 1时;则使串行通信方式1,2,3的波特率加倍。
- SMOD0:帧检测有效控制位,SMOD0 = 1时,SCON寄存器的SM0/FE位用于FE(帧错误检测)功能
- 其他与UART1无关
串行口数据缓冲寄存器(serial data buffer)
- 两个数据缓冲器读SBUF 和 写SBUF共用一个地址
辅助寄存器(Auxiliary Register)(不可位寻址)
定时器2配置
SFR name | Address | bit | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
---|---|---|---|---|---|---|---|---|---|---|
AUXR | 8EH | name | T0x12 | T1x12 | UART_M0x6 | TR2 | T2_C/~T | T2x12 | EXTRAM | S1ST2 |
- 使用定时器1,2波特率发生器时需对该寄存器进行配置
- T0x12:定时器0速度控制位 AUXR &= ~(1<<7);//12分频
- T1x12:定时器0速度控制位 AUXR &= ~(1<<7);//12分频
- T2R:定时器2允许控制位
- T2_C/~T:控制定时器2用做定时器或计数器
- T2x12:定时器2速度控制位 AUXR &= ~(1<<2);//12分频 AUXR |= (1<<2);//1分频
- EXTRAM: 内部/外部RAM存取控制位 0允许,1禁止
- S1ST2:UART1 选择T1,T2作为波特率发生器控制位 0:T1; 1:T2,此时T1释放,可以作为独立定时器使用。UART1默认选择T2作为波特率发生器
定时器2的寄存器T2H, T2L
- 用于保存重装时间常数。
从机地址控制寄存器SADEN和SADDR
- ???
中断允许寄存器(可位寻址)
SFR name | Address | bit | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
---|---|---|---|---|---|---|---|---|---|---|
IE | A8H | name | EA | ELVD | EADC | ES | ET1 | EX1 | ET0 | EX0 |
- EA:总中断控制允许位
- ES:串行口中断控制允许位
中断优先级控制寄存器(可位寻址)
SFR name | Address | bit | B7 | B6 | B5 | B4 |
---|