|
#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; //設定串口工作方式
PCON=0x00; //波特率不倍增
TMOD=0x20; //定時器1工作于8位自動重載模式, 用于產生波特率
EA=1;
ES = 1; //允許串口中斷
TL1=0xfd;
TH1=0xfd; //波特率9600
TR1=1;
while(1);
}
/*********************************************************
串行中斷服務函數
*********************************************************/
void serial() interrupt 4
{
ES = 0; //關閉串行中斷
RI = 0; //清除串行接受標志位
buf = SBUF; //從串口緩沖區取得數據
senddata(buf);
ES = 1; //允許串口中斷
}
|
|