|
#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);
}
}
}
|
|