void delay(unsigned int i) { }
void init() { }
void uart(void)interrupt 4//串口中断服务程序 { }
void send(unsigned char d) { }
void main(){
init();
SBUF = d; //将数据写入到串口缓冲 sending = 1; //设置发送标志 while (sending); //等待发送完毕
//发送一个字节的数据,形参d即为待发送数据。
if (RI)//收到数据 { }
else //发送数据 { }
TI = 0;
sending = 0;///清正在发送标志 P2 = SBUF; buf = SBUF; receive = 1; RI = 0;//清中断请求 EA = 0;//暂时关中断
TMOD &= 0X0F;//定时器1模式控制在高4位
TMOD |= 0X20;//定时器1工作在模式2,自动重装模式 SCON = 0X50;//串口工作在模式 1
TH1 = 256 - jingzhen / (botelv * 12 * 16);//计算定时器重装值 TL1 = 256 - jingzhen / (botelv * 12 * 16); PCON |= 0X80;//串口波特率加倍 ES = 1; //串行中断允许 TR1 = 1;//启动定时器1 REN = 1;//允许接收 EA = 1;//允许中断
while (i--);
}while (1) { } if (receive) //接收到数据后发送回去 { } if (button == 0){ } delay(1000); if (button == 0){ } send(buf); while (!button); send(buf); receive = 0;//发送完毕
然后观察单片机上对应引脚上灯的状态