/**本程序由 http://www.enc999.com/整理自互联网,仅供学习参考 欢迎光临8051单片机学习交流频道: http://www.enc999.com/ */ //单片机接收PC发出的数据 #include<reg51.h> //包含单片机寄存器的头文件 /***************************************************** 函数功能:接收一个字节数据 ***************************************************/ unsigned char Receive(void) { unsigned char dat; while(RI==0) //只要接收中断标志位RI没有被置"1" ; //等待,直至接收完毕(RI=1) RI=0; //为了接收下一帧数据,需将RI清0 dat=SBUF; //将接收缓冲器中的数据存于dat return dat; } /***************************************************** 函数功能:主函数 ***************************************************/ void main(void) { TMOD=0x20; //定时器T1工作于方式2 SCON=0x50; //SCON=0101 0000B,串口工作方式1,允许接收(REN=1) PCON=0x00; //PCON=0000 0000B,波特率9600 TH1=0xfd; //根据规定给定时器T1赋初值 TL1=0xfd; //根据规定给定时器T1赋初值 TR1=1; //启动定时器T1 REN=1; //允许接收 while(1) { P1=Receive(); //将接收到的数据送P1口显示 } }

评论