所需寄存器:SCON特殊功能寄存器,PCON.7寄存器位以及TMOD(定时计数)寄存器。
串行口工作之前,需要进行初始化,主要是设置产生波特率的定时器1,串行口控制和中断控制。
具体:
*
确定T1的工作方式(编程TMOD寄存器)
计算T1初值,装载TH1和TL1(后有计算方法)
启动T1(TCON中的TR1)
确定串行口控制(SCON)
打开总中断以及串口中断
*
初值计算方法
没懂,但是有软件可以直接计算
*
相应程序
void UsartInit()
{
TMOD=0x20;
TH1=0xf3;
TL1=0xf3;
PCON=0x80;
TR1=1;
SCON=0x50;
ES=1;
EA=1;
}
void main
{
UsartInit();
}
void Usart () interrupt
{
//.....
uint = SBUF;
RI=0;
}
寄存器见独立篇