专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

关于51单片机串口的使用

作者:未知   来源:chenxitianlan   点击数:  更新时间:2014年06月19日   【字体:

  51单片机串口的使用有两种方法,一个是查询法,还有就是中断法,查询法相对简单就是不断查询是否有数据,而中断就是利用串口中断interrupt 4,这里给出中断法,大家参考!

 
#include
unsigned char a,flag;
void main()
{
 TMOD=0X20;//设置定时器1为方式2
 TH1=0XFD;// 装入初值(由软件计算一下)
 TL1=0XFD; 
 TR1=1;//启动定时器1
 SM0=0;//设置为方式1
 SM1=1;
 REN=1;//允许接受
 EA=1;//打开总中断开关
 ES=1;//打开串口中断开关
 while(1)
 {
  if(flag==1)
   {
   flag=0;//将标志位置0
   SBUF=a;
   while (TI==0);
   TI=0; 
   ES=1;//发送数据时关闭串口中断    
   }
  }
}           
void serial()interrupt 4 //串口中断用于接收数据
{
 RI=0; //软件使RI置0
 P1=SBUF;//数据送入缓冲区(SBUF)哪个口需要哪个口在这里取数据
 a=SBUF;//将缓冲区的数据保存到a中以便以后使用
 flag=1;//标志位
 ES=0;//发送数据时关闭串口中断
}
关闭窗口

相关文章