|
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar buf;
void senddata(uchar dat)
{
SBUF =dat;
while(!TI);
TI = 0;
}
void main(void)
{
SCON=0x50; //設(shè)定串口工作方式
PCON=0x00; //波特率不倍增
TMOD=0x20; //定時器1工作于8位自動重載模式, 用于產(chǎn)生波特率
EA=1;
ES = 1; //允許串口中斷
TL1=0xfd;
TH1=0xfd; //波特率9600
TR1=1;
while(1);
}
/*********************************************************
串行中斷服務(wù)函數(shù)
*********************************************************/
void serial() interrupt 4
{
ES = 0; //關(guān)閉串行中斷
RI = 0; //清除串行接受標(biāo)志位
buf = SBUF; //從串口緩沖區(qū)取得數(shù)據(jù)
senddata(buf);
ES = 1; //允許串口中斷
}
|
|