基于51单片机的串口通讯系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言
人类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。单片机的出现使人类实现利用编程来代替复杂的硬件搭建电路,它靠程序运行,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
单片机应用的主要领域非常广,智能化家用电器、办公自动化设备商业营销设备、工业自动化控制、智能化仪表、智能化通信产品、汽车电子产品、航空航天系统和国防军事、尖端武器等领域。
单片机应用的意义不仅在于它的广阔范围及所带来的经济效益,更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。以前自动控制中的PID 调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。随着单片机应用的推广,微控制技术将不断发展完善。
电路的集成化不仅对硬件电路的设计相关,与电路的布局同样相关。印刷版的出现使得电路产品更加规范,体积更小。Protel99se是一款专业的绘制电路及印刷版的软件,近年来的不断升级使得其功能更加完善,出现了Altium Designer 、Protel DXP等升级版本。
1 设计内容及要求
1.1功能要求
(1)下位机选用89S51或89S52单片机;
(2)下位机接收上位机的数据并显示在LED或LCD上;
(3)下位机显示数据可以显示固定数据、位移数据、循环位移;
1.2硬件要求
制作串口线和下位机及外围电路;
1.3软件要求
Keil C或汇编编程设计,串口调试助手或Labview串口通信编程。
2 设计原理及单元硬件模块
2.1上位机设计
2.1.1RS232串口介绍
经过多年的发展,现今已经形成了许多串行通信接口的标准。其中本次课程设计用到的RS-232标准是美国EIA(电子工业联合会)与BELL公司一起开发的通信协议。它适合于数据传输速率在0—20000bit/s的范围内通信。
目前比较常用的串口有9针串口(DB9)和25针串口(DB25),近距离通信可以直接将通信接口用相应的线缆直接相连。
2.1.2串口调试助手介绍
串口调试助手是串口调试相关工具,有多个版本。如:友善串口调试助手,支持9600,19200等常用各种波特率及自定义波特率,可以自动识别串口,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。
可实现功能如下所示:
(1)自动搜索串口,并打开串口;
(2)支持多串口;
(3)支持自定义波特率,支持非标准波特率;
(4)支持发送历史记录;
(5)接收数据可以进行十六进制和ASCII切换;
(6)接收数据时,光标可定位在指定行或在最后一行;
(7)可以以十六进制或ASCII格式,向指定串口发送数据;
(8)定时发送数据;
(9)接收数据可以保存为文件,也可打开已保存数据文件;
(10)串口打开过程中,可修改通讯参数,如波特率;
(11)自动记录上次操作参数,如串口号、波特率等。
2.2 下位机硬件设计 2.2.1 设计原理及方法
下位机设计可分为单片机最小系统、RS232电平转换部分、数据显示部分。其系统框图大致图2-1所示。
图2-1 系统框图
本次设计采用LCD 显示由上位机发送的数据,并完成固定数据、位移数据、循环位移的数据显示。由上位机经RS232串口发送数据,经电平转换,转换成单片机可以接收的信号电压,通过单片机内烧制的程序逻辑运算得出上位机所发送的数据,并在数据显示部分依次显示固定数据、位移数据、循环位移数据。电平转换由MAX232AEPE 芯片完成,单片机最小系统使用的是AT89S52芯片,数据显示部分则由1602LCD 液晶显示器完成。
2.2.2 单片机最小系统
图2-2 最小系统电路
单片机采用AT89S52,最小系统包括复位电
路和时钟电路两部分,其中复位电路采用按键
手动复位和上电自动复位组合,电路如图2-2左
下部分所示:其中REST为单片机复位端,电容
C3按键S1构成上电复位和手动复位电路。时钟
电路如图2-2右下部分所示:晶振Y1频率采用
的是11.0592MHZ,C1、C2为33p瓷片电容,X1
和X2分别为单片机18和19脚。
(1)单片机各引脚功能说明:
AT89S52管脚图如图2-3所示。
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O
口,每脚可吸收8TTL门流。当P1口的管脚第一
次写1时,被定义为高阻输入。P0能够用于外部图2-3 AT89S52管脚图
程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行。校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时