89C52单片机串行通信编程两则
1.当89C52串行口按工作方式1进行串行数据通信时,假定波特率为1 200b/s,以中断方式传送数据,请编写全双工通信程序。
#include at89x52.h>
unsigned char data txbuf;
unsigned char data rebuf;
void main()
{
unsigned char temp;
SCON=0x50;
TMOD=0x20;
TH1=0xE8;
TL1=0xE8;
TR1=1;
ES=1;
EA=1;
}
void comre()
{
rebuf=SBUF;
}
void comtx()
{
SBUF=txbuf;
}
void serial_server() interrupt 4
{
if(TI)
TI=0;
else
{
RI=0;
comre();
}
}
2.当89C52串行口按工作方式3进行串行数据通信时,假定波特率为1 200b/s,第9位数据作奇偶校验位,以中断方式传送数据,请编写通信程序。
#include at89x52.h>
unsigned char data txbuf;
unsigned char data rebuf;
光电开关相关文章:光电开关原理
评论