新聞中心

C51串口源代碼實(shí)例

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
串口實(shí)現(xiàn)函數(shù):
void init_uart(void)
{
PCON=0x80; //倍頻,減少誤差率
TMOD=0x25; //設(shè)置定時器1為方式2(用于設(shè)置波特率);設(shè)置T0為計(jì)數(shù)器模式1,用作HV的檢查
TH1=0xF1; //裝入初值 波特率為9600 晶振27MHz TH1=0XF1
TL1=0xF1;
TR1=1; //啟動定時器1
SM0=0;
SM1=1; //串口方式1,8 bit uart
REN=1; //接收使能
EA=1;
ES=1;
return;
}
void serial() interrupt 4
{
//uartflag = 1;
RI=0;
}
//向串口發(fā)送一個字符
void send_char(U8 ch)
{
ES=0;
TI=0;
SBUF=ch;
while(!TI);
TI=0;
ES=1;
}
//向串口發(fā)送多個字符
void send_chars(U8 *ch)
{
U8 i=0;
ES=0;
TI=0;
for(i=0;ch[i]!=