#include<reg52.h>
#define uint unsigned int
unsigned char dat=0x00;
sfr AUXR=0x8e;
void SelectHC573(unsigned char n)
{
switch(n)
{
case 4:
P2=(P2 & 0x1f) | 0x80;
break;
case 5:
P2=(P2 & 0x1f) | 0xa0;
break;
case 6:
P2=(P2 & 0x1f) | 0xc0;
break;
case 7:
P2=(P2 & 0x1f) | 0xe0;
break;
}
}
void Init()
{
SelectHC573(5);
P0=0x00;
SelectHC573(4);
P0=0xff;
}
void Send_uart(unsigned char dat)
{
SBUF=dat;
while(TI==0);//等待数据发送
TI=0;
}
void Init_uart()
{
TMOD=0x20;//8位自动重装
TH1=0xfd;
TL1=0xfd;
AUXR=0x00;
TR1=1;
SCON=0x50;
ES=1;
EA=1;
}
void Service_uart() interrupt 4
{
if(RI==1)//接受到
{
RI=0;
dat=SBUF;
Send_uart(dat+1);
}
}
void main()
{
Init();
Init_uart();
Send_uart(0xa5);
Send_uart(0x5a);
while(1);
}
串行接口的基本原理与应用
最新推荐文章于 2023-11-08 20:17:29 发布