|
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[]="XOFF";
void ultra_init(void)
{
TMOD=0x20; //定时器1工作于方式2
TH1=0xfd; //由51串口通信计算器小软件很容易算出TH1=TL1
TL1=0xfd; //由51串口通信计算器小软件很容易算出
TR1=1; //开定时器1
SM0=0; //编程SCON寄存器,设置通讯方式,方式1
SM1=1;
REN=1; //接受使能
EA=1; //开中断
ES=1; //设置优先级高
}
void main()
{
ultra_init();
while(1)
{
if(flag==1)
{
ES=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void serial() interrupt 4 using 1
{
RI=0;//清楚标志,等待下次引发串行传送数据
a=SBUF;//从接受缓冲器读数据
flag=1;
}
|
|