所需寄存器: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;
}
寄存器見獨立篇