51 单片机的串口通讯:原理、应用与电平转换

如何使用AT89C51的串口和电脑的串口进行通信原理与实验;这是一个AT89C51单片机实验开发板向PC机的串口单向发送数据AF的演示程序

串行通信对于单片机来说意义重大,它不仅可以把单片机的数据传送给电脑,还可以实现电脑对单片机的控制。比如你可以把写入单片机的数据代码在电脑上显示出来。比如你可以用一个按钮,当你按下它的时候,会通过单片机的串口把某个字母如:AA发送到电脑上显示出来,起到了仿真器的一些功能。站长在开发数据采集设备的时候,就是用串口来检查数据是否正确。

51单片机具有全双工串行通信口,因此单片机与计算机之间可以很方便地进行串行通信。进行串行通信时必须满足一定的条件,比如计算机的串口是RS232电平,而单片机的串口是TTL电平,两者之间必须有电平转换电路,我们采用专用芯片MAX232进行转换。虽然也可以用几个三极管进行模拟量转换,但是使用专用芯片还是更简单可靠。我们采用三线连接串口,也就是只接计算机9针串口的三根线:第5针接GND,第2针接RXD,第3针接TXD。这是最简单的连接方式,但是对我们来说已经足够了。电路如下图所示。 MAX232的第10脚接单片机的第11脚,第9脚接单片机的第10脚,第15脚接单片机的第20脚,所有硬件已经组装在本网站提供的实验板上。

51 单片机的串口通讯:原理、应用与电平转换

串行通信的硬件电路如上图所示。

为了在电脑上看到单片机发送的数据,必须用WINDOWS软件来观察,这里我们使用免费的电脑串口调试软件。

51 单片机的串口通讯:原理、应用与电平转换

点击此处下载并运行串口调试软件,这是一款绿色软件,无需安装,在当前位置直接运行软件即可。软件界面如上图,我们首先要设置好串口通信的参数,调整波特率为4800,查看十六进制显示。串口选择COM1,当然网站提供的51单片机实验板的串口也要接在电脑的COM1上。将烧录了下面程序的单片机插入单片机实验板的万能插座上,打开51单片机实验板的电源,此时只要按一下K1,串口调试助手软件的接收区界面就会多出一个“AF”字符,说明单片机成功向电脑发送了“AF”字符。串口实验源程序如下:

;这是一个从AT89C51单片机实验开发板向PC机串口单向发送数据AF的演示程序

;采用MAX232专用芯片进行RS232/TTL电平转换。

;通讯波特率为4800KBPS,只需按一次K1即可(即P3.6脚变为低电平)

;发送十六进制 AF 字符

组织机构 0000H

MOV SCON,#50H ;设置为串口1模式

MOV TMOD,#20H ;波特率发生器T1工作于方式2

MOV PCON,#80H ;波特率加倍为2400×2=4800BPS

MOV TH1,#0F3H;预设初值(根据波特率2400BPS预设初值)

MOV TL1,#0F3H ;预设初值(根据波特率2400BPS预设初值)

SETB TR1 ;启动定时器T1

;以上完成通讯初始化设置

WRIT:JB P3.6,$;检查K1是否按下,如果没有,则等待

ACALL DELAY10;延时10毫秒,消除触点抖动

JB P3.6,WRIT ;去除干扰信号

JNB P3.6,$;等待按钮松开

MOV A,#0AFH;向串口发送十六进制字符AF

MOV SBUF,A ;通过串口发送AF

仲裁令状

;10毫秒延时子程序

DELAY10:MOV R4,#20

D2:移动R5,#248

DJNZ R5,$

DJNZ R4,D2

回转窑

结尾

单片机

了解单片机与 Arduino 的区别,掌握 Arduino 平台基础

2024-6-5 6:01:53

单片机

学习 51 单片机 C 语言项目开发设计,掌握微型计算机系统应用

2024-6-8 23:40:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索