×
单片机 > 单片机程序设计 > 详情

单片机串口通信源码

发布时间:2020-05-30 发布时间:
|
本测试程序选择STC12C4052AD单片机,采用内部晶振6M起振,传输波特率为2400bps,测试于2012年11月17日通过。使用STC-ISP,V488版本刷机,用其自带串口助手程序测试。源代码如下:
#include 
#include 


unsigned char tmp;
void send_int(void);
void send_char(unsigned char txd);

main()
{
    send_int();
               
 while(1)
 {
  if(RI)      // 是否有数据到来
  {
   tmp = SBUF;                   // 暂存接收到的数据     
       send_char(tmp);     //数据传回
         RI = 0;                       //RI清零
  }
 
 }
}
void send_int(void)
{ 
    TMOD =0x20;//T1工作为方式2
    SCON =0x50;//方式1:10位异步同通讯,串口允许接收
    PCON =0x80;//波特率倍增,SMOD='1'
    TH1=TL1=0xf3;  // 波特率2400
    TR1=1;// 启动定时器1
    ES=1;
    EA=1;//总中断允许
}

void send_char(unsigned char txd)
// 传送一个字符
{
                   SBUF = txd;
                   while(!TI);
                   TI=0;
}
 

 

 


void send_string(char *s)
//传送字符串时使用
{
        while(*s)
    {
      send_char(*s++);
    }
 

}
关键字:单片机  串口通信 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址