`

51单片机学习笔记:串口接收和发送数据

阅读更多

芯片STC89C52RC

 

在PC端向单片机发送任意数据后, 单片机向PC端发送4行文本,

由于在windos下,回车换行用\r\n

 

 


 

#include <reg52.h>
#include "MY51.h"

void 	initSer();          //串口初始化
uchar  sendFlag = 0;     //未发送数据时
uchar  receFlag =0;		//未接受到数据时

code  uchar  TEXT0[] = "****************************\r\n";  //\r\n是回车换行
code  uchar  TEXT1[] = "单片机串口通讯测试\r\n";
code  uchar  TEXT2[] = "http://xouou.iteye.com\r\n";
code  uchar  TEXT3[] = "****************************\r\n\r\n";//回车换行并空1行

void sendChar(uchar sendValue);  //发送一字节数据
void sendAll(uchar *pValue);       //发送一组数据

void main(void)
{
	initSer();
	while(1)
	{
	  while(receFlag)				//单片机串口收到任意数据后,开始向PC发送数据
	  {
		   sendAll(TEXT0);         //发送数据
		   sendAll(TEXT1);
		   sendAll(TEXT2);
		   sendAll(TEXT3);
			receFlag=0;				//发完了清标志	
	  }
	}
}

void serInt() interrupt 4	//中断函数
{
	if(RI)                  //如果收到任意数据
	{
		RI = 0;
		P1=SBUF;		//数据的变化让led灯直观反应出来
		receFlag=1;   //修改接受标志,便于主函数进入while中发数据
	}
	
	if(TI)
	{
		TI = 0;         	   //发送完一个数据
		sendFlag = 0;        //清标志位
	}
}


void sendChar(uchar Value)  //发送一个字节数据
{
	 SBUF = Value;     
	 sendFlag = 1;       //设置发送标志位,发一字节就置位
	 while(sendFlag);	 //直到发完数据,将sendFlag清零后,才退出sendChar函数
}

void sendAll(uchar *pValue)	//发送一组数据
{
	while((*pValue) != '\0')   //如果没有发送完毕就继续发
	{
		sendChar(*pValue);      //发送1字节数据
		pValue++;         		  //指向下1个字节
	}
}

void initSer()		//初始化
{
    //注意:刚上电时,SCON是为0的
	TMOD=TMOD|0x20; //T1定时器模式,工作方式2
	TH1=0Xfd;	  	 // 256-(11059200/(32*12*9600))
	TL1=0xfd;
	SM0=0;			 //属于SCON寄存器
	SM1=1;			 //串口工作方式1,10位异步,波特率可改
	REN=yes;			 //允许串口接收
	ES=open;			 //开串口中断
    EA=open;			 //开总中断
	TR1=start;		 //启动定时器
}

 

 

http://115.com/file/dpch9qvz#
串口调试工具集合(附测评).rar

 

  • 大小: 89.3 KB
3
2
分享到:
评论

相关推荐

    STC51单片机学习笔记6-串口发送&中断接收资源

    本学习笔记将重点探讨STC51单片机在串口通信中的应用,包括串口发送和中断接收这两个关键知识点。 1. **串口通信基础** 串口通信是一种常用的数据传输方式,尤其是在嵌入式系统和微控制器之间。它以串行的方式发送...

    STC51单片机学习笔记5-串口发送&查询接收资源

    在STC51单片机中,串口通信允许我们通过串行端口进行全双工通信,即同时进行发送和接收数据。这在远程控制、传感器网络和嵌入式系统中有着广泛的应用。 首先,我们要理解STC51单片机的串口发送过程。串口发送通常...

    STC51单片机学习笔记8-stc12c56 串口显示AD(多路ad)资源

    本学习笔记主要关注的是STC12C56型号的单片机,它在实际应用中如何通过串口进行AD(模拟数字)转换并显示多路AD通道的数据。以下是对这一主题的详细阐述: 1. **STC12C56单片机特性** STC12C56是一款低功耗、高...

    51单片机学习笔记(六)-串口中断通信+定时器2串口中断.docx

    1. **串口通信**:51单片机的串口通信通常用于设备间的串行数据交换。在这个例子中,串口被配置为工作在方式1,即8位数据传输模式。SCON寄存器用于设置串口的工作方式、接收和发送状态。REN位设置为1表示允许接收...

    51单片机学习笔记(六)-串口中断通信+定时器2串口中断.pdf

    总结来说,本学习笔记介绍了51单片机如何利用串口中断进行通信,以及如何在定时器资源有限的情况下,通过定时器2来生成波特率,从而扩展串口通信的功能。这种方法提高了系统的设计灵活性,尤其适用于需要高效、实时...

    学习笔记——51单片机单片机与单片机之间的通讯.pdf

    这篇学习笔记主要讲述了51单片机之间进行串行通讯的过程和原理,涵盖了单片机串口通信的基础知识,以及如何编写发送端和接收端的程序。以下是对这些知识点的详细解析: 1. **串口通讯**:串口通讯是单片机之间常见...

    STC51单片机学习笔记7-stc12c56 串口显示AD(单路ad+led指示灯)资源

    要实现串口显示,我们需要配置串口的工作参数,如波特率、奇偶校验位等,并编写发送和接收数据的程序。波特率决定了数据传输的速度,通常可以根据实际需求选择9600、19200或更高的值。 接下来是AD转换的过程。首先...

    STC51单片机学习笔记9-stc12c52 串口显示AD(单路ad+led指示灯)资源

    串口通信是单片机与外界交互的重要方式,STC12C52内置了UART(通用异步收发传输器),可以实现串行数据的发送和接收。在本教程中,AD转换的结果将通过串口发送到上位机(如PC),显示在终端或特定软件上。这需要配置...

    51单片机应用开发快速入门自学笔记_8051_

    笔记会涵盖RS-232标准,以及如何使用单片机实现串行通信协议,如UART的发送和接收。 9. **实时时钟(RTC)和存储器扩展**:高级应用可能需要RTC功能和更大的外部存储空间,笔记会涉及如何连接和配置这些外围设备。 ...

    51单片机的串口通信控制板载led亮灭

    在51单片机中,串口通信涉及到的主要寄存器有SCON(串行通信控制寄存器)、SBUF(串行数据缓冲寄存器)和TMOD/TCON(定时器控制寄存器),这些寄存器用于设置串口工作模式、波特率以及控制串行数据的发送和接收。...

    单片机学习笔记ourdev_530143.pdf

    ### 单片机学习笔记ourdev_530143.pdf知识点总结 #### 一、开发板配件 - **HJ-1G开发板主机**:作为学习平台的核心部分,该开发板集成了多种功能模块,适用于初学者进行单片机的学习与实践。 - **STC单片机**:已...

    C51单片机学习记录.zip

    学习这部分内容需要理解波特率、奇偶校验、停止位等概念,并能编写发送和接收数据的代码。 此外,单片机还经常与外围设备如LCD显示屏、ADC(模数转换器)、DAC(数模转换器)、传感器等交互,这需要熟悉相应的接口...

    51单片机的OV7670摄像头驱动程序

    在驱动OV7670时,我们需要配置其寄存器以设定图像的分辨率、色彩模式等参数,并通过SPI接口发送控制命令和接收图像数据。 首先,我们需要了解OV7670的引脚功能和工作原理。其电源引脚需要正确设置以确保传感器正常...

    一天快速单片机入门,51单片机

    在"第一部 1天入门51单片机学习笔记"中,你将逐步学习到这些内容,通过实例操作加深理解。实践是检验理论的最好方式,因此动手操作是快速掌握单片机的关键。不断练习编写、下载和调试程序,结合实物电路进行验证,将...

    《手把手教你学51单片机》例程配套文件教材配套程序文件

    5. **串行通信**:如UART,学习如何设置波特率、奇偶校验等参数,进行串行数据的发送和接收。 6. **存储器管理**:理解ROM和RAM的分配与使用,包括外部扩展存储器的方法。 7. **模数转换和数模转换**:在与模拟...

    51单片机控制TC35 之发送TEXT短信.

    TC35是一款基于GSM网络的模块,能够通过SMS(Short Message Service)服务发送和接收文本信息,它与51单片机的结合可以实现远程控制和数据传输。 在这一应用中,51单片机扮演了控制中心的角色,负责处理指令、生成...

    单片机接收PC发出的数据.rar

    总之,"单片机接收PC发出的数据"这一主题涵盖了单片机与个人计算机间的通信基础、51单片机的UART接口应用、编程实现以及仿真验证等多个方面,对于想要学习单片机通信的人员来说,是一个宝贵的资源库。通过仔细研究和...

Global site tag (gtag.js) - Google Analytics