栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

51单片机——串口通信

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

51单片机——串口通信

#include    
#include   
char putchar(char c);
void SendStr(unsigned char *s);
void SendByte(unsigned char dat);
void InitUART (void);
   
//void InitUART  ( unsigned char baud)
//{
// 
//    SCON  = 0x50;		        // SCON: 模式 1, 8-bit UART, 始能接收 
//    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
//    TH1=256-11059200/32/12/baud;
//    TL1=TH1;	//11.0592MHZ 
//	
//    TR1   = 1;                  // TR1:  timer 1                         
//    ES    = 1;        
//	  EA    = 1;        
	PCON|=0x80; //SMOD置1,波特率倍增为19200	
//            
//}   

                         
void InitUART (void)
{
 
    SCON  = 0x50;		        // SCON: 模式 1, 8-bit UART, 始能接收 
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
   	TH1=0xfd;
    TL1=TH1;	//11.0592MHZ 
	
    TR1   = 1;                  // TR1:  timer 1                         
    ES    = 1;        
	  EA    = 1;        
//	PCON|=0x80; //SMOD置1,波特率倍增为19200	
            
} 

void main (void)
{
  
	InitUART();
	printf("hellow word rn");	 
	SendStr("The UART test rn");             
		while (1)                       
    {
    
    }
}
 

void SendByte(unsigned char dat)
{
		 SBUF = dat;
		 while(!TI);
					TI = 0;
}

void SendStr(unsigned char *s)
{
 while(*s!='')
  {
		SendByte(*s);
		s++;
  }
}


void UART_SER (void) interrupt 4 
{
    unsigned char Temp;        
 
   if(RI)                        //判断是否接收中断产生
   {
	     RI=0;                      //标志位清零
		 Temp=SBUF;                 //读入缓冲区的值
       SendByte(SBUF);
      SBUF=Temp;                 //把接收到的值再发回电脑端
 }
   if(TI)                        //如果是发送标志位,清零
     TI=0;
} 
 

char putchar(char c)  //重写此函数才能用printf输出函数
 {
	 SendByte(c);
	 return c;
 }

接收结果(下载程序成功之后记得按一下板子上的下载键)

 发送结果(发送的时候点HEX模式接收)

 当为文本模式的时候(发出的数据会自动转换成ASCII码表上16进制对应的数)

 PS:附上一张接线图,总之串口通信还是挺简单的,可以作为一个调试结果的小助手。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/857132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号