原创 51学习9~~串口接收并发送两种方式

2010-4-18 13:22 1856 7 7 分类: MCU/ 嵌入式

#include<reg52.h>
unsigned char flag,a;
void main()
{


 TMOD=0x20;//设置定时器1为工作方式2
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
 REN=1;
 SM0=0;
 SM1=1;
 EA=1;
 ES=1;
 while(1)
  {
   if(flag==1)
    {
     ES=0;
     flag=0;
     SBUF=a; 
     while(!TI);    //一开始TI为0    当发送完毕后TI置为1
     TI=0;
     ES=1;
    }
  }
}


void ser() interrupt 4
{
 RI=0;
 P0=SBUF;
 a=SBUF;
 flag=1;
}


中断法



#include<reg52.h>
unsigned char a;
void main()
{


 TMOD=0x20;//设置定时器1为工作方式2
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
 REN=1;
 SM0=0;
 SM1=1;
 EA=1;
 ES=1;
 while(1);
}


void ser() interrupt 4
{
 RI=0;
 P0=SBUF;
}


查询法



#include<reg52.h>
unsigned char a;
void main()
{


 TMOD=0x20;//设置定时器1为工作方式2
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
 REN=1;
 SM0=0;
 SM1=1;
 while(1)
 {
   if(RI==1);
   {
     RI="0";
  P0=SBUF;
   }
 }
}

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条