简介
串口寄存器介绍
串口所需中断
EA = 1 : 总中断 必需开
ES: 串口1 中断运行位
串口1
SM0 、 SM1: 模式选择
REN: 串口允许接收控制位, 接收 1 禁止 0
TI :串口发送中断请求位,发送完毕就会置 1
模式0中,第8位数据发送结束时,硬件置 1 ,响应中断后 必须软件清 0
除模式0外,则在停止位发送时,硬件置 1 ,响应中断后 必须软件清 0
RI :串口接收中断请求位,发送完毕就会置 1
模式0中,第8位数据发送结束时,硬件置 1 ,响应中断后 必须软件清 0
除模式0外,则在停止位发送时,硬件置 1 ,响应中断后 必须软件清 0
SBUF 是两个寄存器
给SBUF赋值时:SBUF = X ,此时为写寄存器
把SBUF值赋给别人时:X = SBUF, 此时为读寄存器
UART_M0x6
串口1模式0的通讯速度控制,0:波特率不加倍,固定 fosc/12
SIST2
串口1波特率发射器
0 :选择定时器1 为波特率发射器
1 :选择定时器2 为波特率发射器
串口2
S2SM0 : 模式选择
S2REN: 串口允许接收控制位, 接收 1 禁止 0
S2TI :串口发送中断请求位,发送完毕就会置 1 ,响应中断后 必须软件清 0
S2RI :串口接收中断请求位,发送完毕就会置 1 ,响应中断后 必须软件清 0
串口操作代码
采用模式1,可变8位波特率
void UART1_Init(u16 btl)
{
SCON = 0x50;
AUXR &= 0xFE ;
TMOD &= 0x0F;
TL1 = (65536-(fosc/btl/12/4)) %256 ;
TH1 = (65536-(fosc/btl/12/4)) /256 ;
ET1 = 0;
TR1 = 1;
ES=1;
EA=1;
}
|