|
#include <reg52.h> //C51通用串口收发数据C语言程序模块
#define uchar unsigned char
#define uint unsigned int
uchar shu;
bit i;
sbit led1=P0^0;
void delayms(uint xms) //1ms;
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--) ;
}
/************************************************************************/
void UART_init()
{
TMOD=0X20;//定时器1方式 2
SCON=0X50;//K串口方式
TH1=0XFD;
TL1=0XFD;
EA=1;
ES=1;
TR1=1;
}
/*********************************
函数:void main(void)
____________________________________
说明:主函数,程序执行从这里开始
********************************/
void main(void)
{
UART_init();
while(1 ) ;
}
/*********************************
函数:void Inter() interrunpt 4
____________________________________
说明:串口中断处理程序
********************************/
void Inter() interrupt 4
{
uchar i=0;
if(RI) //判断是否接收完毕
{
RI=0; //是则RI清零,准备下一次接收
shu=SBUF;
SBUF=shu;
}
if(TI) //发送数据回去
{
TI=0;
}
if(shu== 0x30) //判断接收到的数据, 并作出相应处理
{
led1=1;//LED灯灭
}
if(shu == 0x31) //判断接收到的数据, 并作出相应处理
{
led1=0;
}
if(shu== 0x32) //判断接收到的数据, 并作出相应处理
{
for(i=0;i<10;i++)
{
led1=~led1;
delayms(200);
}
}
}
|
|