基于单片机的GPS开发 (two) UART程序详解
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 , EA = 1 , ES = 1 : 启动定时器1,打开全局中断控制,打开串行口中断。 **********************************************************************