void Uart_Init()
{
SCON = 0X50;
REN = 1;
PCON = 0x00;
TMOD = 0x20;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
EA = 1;
ES = 1;
}
详解SCON = 0X50 :
SCON是串行口寄存器,0X50就是 0101 0000,SCON=0X50实际上就是 SM1=1; SM0=0; 这两条语句的集合,也就是说允许接受串行口中断方式1 (即8位异步通讯)。
详解REN = 1:
REN是允许接收控制位,由软件置1或清0。REN = 1时,设置为允许接收,相当于串行接收的开关。
详解PCON = 0x00 :
PCON是电源控制寄存器,不可位寻址。0x00=0000 0000,设置波特率不加倍。
详解TMOD = 0x20 :
0X20就是 0010 0000,选择的是定时器0,工作方式选择方式2:自动重载8位定时器/计数器。
详解TH1 = 0xFD,TL1 = 0xFD :
TH 和TL 是定时器的高位和低位, 即设置9600的波特率。
详解TR1 = 1