STC89C52单片机的UART串行通信设计

发布时间:2023-09-25  

对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”。


1、初步认识


一位一位的发送出去的,要发送 8 次才能发送完一个字节。

STC89C52有两个引脚是专门用来做 UART串行通信的,一个是 P3.0一个是 P3.1,它们还分别有另外的名字叫做 RXD和TXD,由它们组成的通信接口就叫做串行接口,简称串口。

波特率:发送二进制数据位的速率,习惯上用 baud 表示;即我们发送一位二进制数据的持续时间=1/baud。

通信过程:在UART 通信的时候,一个字节是 8 位,规定当没有通信信号发生时,通信线路保持高电平,当要发送数据之前,先发一位 0 表示起始位,然后发送 8 位数据位,数据位是先低后高的顺序,数据位发完后再发一位 1 表示停止位。

STC89C52单片机的UART串行通信设计

2、RS232通信接口与USB转串口通信

RS232 接口一共有 9 个引脚,分别定义是: 1、载波检测 DCD; 2、接收数据 RXD; 3、发送数据 TXD; 4、数据终端准备好 DTR; 5、信号地线 SG; 6、数据准备好 DSR; 7、请求发送 RTS; 8、清除发送 CTS; 9、振铃提示 RI。我们要让这个串口和我们单片机进行通信,我们只需要关心其中的 2 脚 RXD、 3 脚 TXD 和 5 脚 GND 即可。

负逻辑:低电平代表的是 1,而高电平代表的是 0,因此需要电平转换芯片 MAX232。 RS232 串口和 UART 串口,它们的协议类型是一样的,只是电平标准不同而已,而 MAX232 这个芯片起到的就是中间人的作用,它把 UART 电平转换成 RS232 电平,也把 RS232 电平转换成 UART 电平。

USB 转串口芯CH340T:实现 USB通信协议和标准UART 串行通信协议的转换。

3、通信的三种基本类型

单工通信就是指只允许一方向另外一方传送信息,而另一方不能回传信息;

半双工通信是指数据可以在双方之间相互传播,但是同一时刻只能其中一方发给另外一方;

全双工通信就发送数据的同时也能够接收数据,两者同步进行。

4、串口通信

1、配置串口为模式 1。

2、配置定时器 T1 为模式 2,即自动重装模式。

3、根据波特率计算 TH1 和 TL1 的初值,如果有需要可以使用 PCON 进行波特率加倍。

4、打开定时器控制寄存器 TR1,让定时器跑起来。

定时器的重载值计算公式为:TH1= TL1 = 256 - 晶振值/12 /2/16 /波特率

STC89C52单片机的UART串行通信设计

#include

voidConfigUART(unsignedintbaud);

intmain(void)

{

EA=1;//使能总中断

ConfigUART(9600);//配置波特率为9600

while(1);

return0;

}

/*串口配置函数,baud-通信波特率*/

voidConfigUART(unsignedintbaud)

{

SCON=0x50;//配置串口为模式1

TMOD&=0x0F;//清零T1的控制位

TMOD|=0x20;//配置T1为模式2

TH1=256-(11059200/12/32)/baud;//计算T1重载值

TL1=TH1;//初值等于重载值

ET1=0;//禁止T1中断

ES=1;//使能串口中断

TR1=1;//启动T1

}

/*UART中断服务函数*/

voidInterruptUART()interrupt4

{

if(RI)//接收到字节

{

RI=0;//手动清零接收中断标志位

SBUF=SBUF+1;//接收的数据+1后发回,左边是发送SBUF,右边是接收SBUF

}

if(TI)//字节发送完毕

{

TI=0;//手动清零发送中断标志位

}

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>