大连海事大学毕业设计(一)1引言设计的目及意义一般的PC与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。
相对而言比较的烦琐,而着重用VB具有面向对象的设计方法,友好的用户来探讨在VB环境下来实现PC机与51单片机之间串行通讯的方法。
实现起来要简捷方便。
随着计算机系统的应用和微机网络的发展,各种控制设备之间的通信功能越来越显得重要。
尤其是伴随着单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。
在本系统中,下位机采用一片AT89S51单片机,用于对发送的数据实施控制,为了实现对输入数据的接收,上位机采用便携式PC机,上、下位机之间通过MAX232芯片实现串行数据通信。
PC 机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
将论述在VB 环境下PC 机与单片机之间实现串行通讯的软硬件方案。
实现单片机与PC 机的相互通信。
单片机部分汇编语言实现,PC 机的通讯程序使用Visual Basic 编写,VB 是Microsoft 公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 版本带有专门实现串行通讯的MSCOMM 控件。
因此如何实现PC 机与单片机之间的通讯具有非常重要的现实意义。
利用的事件驱动方式可以很方便地开发数据采集与监控系统,用单台PC 机可以测量和监控多路控制信号,整控制系统设计方便,对小型测控系统的设计具有很大的实用性。
设计实现的功能实现单片机与PC 机的相互通信。
具体要求有以下两点:①单片机发固定编好的代码,在用VB 编好的界面上接收;②在VB 编好的界面上发送数字,在单片机板上的数码管上显示出来。
2 硬件设计方案为了实现PC机与单片机之间的串行通信,我们首先要清楚了解整个系统所采用的原理图。
原理图就象一根红线贯穿于整个系统设计,通过此图我们就能很清楚的看到系统所涉及的内容,然后鉴于此,我们将在以后的章节中依次对所牵涉的内容作详细的论述。
下面对原理图作一点说明:从MAX232芯片中的两路发送接收中任选一路作为接口,要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。
如选他T1IN接单片机的发送端TXD,则PC机、的RS—232的接收端RD一定要对应接T1OUT引脚。
同时,R1OUT接单片机的接受端RXD引脚,则PC机的RS—232的发送端TD一定要对应接R1IN引脚。
上图为采用MAX232芯片接口的PC机与51单片机串行通信接口原理图AT89S51单片机AT89S51单片机简介AT89S51 为ATMEL 所生产的可电气烧录清洗的8051 相容单芯片,是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗电路,片内时钟振荡器。
AT89S51单片机的功能AT89S51主要功能列举如下:1)为一般控制应用的8位单芯片2)晶片内部具有时钟振荡器3)内部程式存储器为4KB4)内部数据存储器为128B5)外部程序存储器可扩充至64KB6)外部数据存储器可扩充至64KB7)32 条双向输入输出线,且每条均可以单独做I/O 的控制8)5个中断向量源9)2组独立的16 位定时器10)1个全多工串行通信端口11)8751 及8752 单芯片具有数据保密的功能12)单芯片提供位逻辑运算指令AT89S51各引脚功能介绍:VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:AT89S51的重置引脚,高电平动作。
EA/Vpp:存取外部程序代码,低电平动作。
ALE/PROG:地址锁存器启用信号。
PSEN:程序储存启用,通常这支脚是接到EPROM的OE脚。
PORT0:端口0是一个8位宽的开路汲极双向输出入端口,共有8个位,表示位0,P表示位1,依此类推。
其他三个I/O端口则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时,P0就以多工方式提供地址总线及数据总线。
PORT2:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1:端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是此端口来输入数据。
PORT3:端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:P:RXD,串行通信输入。
P:TXD,串行通信输出。
P:INT0,外部中断0输入。
P:INT1,外部中断1输入。
P:T0,计时计数器0输入。
P:T1,计时计数器1输入。
P:WR:外部数据存储器的写入信号。
P:RD,外部数据存储器的读取信号。
本系统所采用的AT89S51芯片如下图所示:AT89S51 ISPISP为在线编程接口。
ISP在线编程接口为89S51单片机提供了方便的在线编程方法,使用时将ISP下载线一端与PC并口相连接,一端与ISP接口相连,使用ISP下载软件即可实现MCU在线编程。
下载线插接说明:两排十针下载口,板图上都有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角,这一点一定要切记,不然的话程序下载不进去。
本系统中所用AT89S51 ISP原理图如下示:AT89S51 ISP串行通讯串行通讯的概念串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传送按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。
串行通讯的距离可以从几米到几千米。
分类:根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
RS-232C串口通讯原理RS-232C是目前最常用的串行接口标准,用来实现计算机与计算机之间,计算机与外设之间的数据通信。
RS-232C串行接口总线适用于设备之间的通信距离不大于15米,传输速率最高为/s的场合。
RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、和19200b/s。
RS-232C属单端信号传送,存在共地噪声和不能抑制的共模干扰等问题,因此一般用于短距离通信。
1)RS-232C接口信号一个完整的RS-232C接口有22根线,采用标准的25芯连接器。
2)RS-232C 典型应用用RS-232C总线连接系统时,有近程通信方式和远程通信方式之分。
近程通信是指传输距离小于15米的通信,这时可以用RS-232C电缆直接连接。
15米以上的长距离通信,需要采用调制解调器。
下图a)是计算机与终端之间利用RS-232C直接通信的最常用的交叉连线图。
图中“发送数据”与“接收数据”是交叉相连的,使得两台设备都能正确地发送和接收。
“数据终端变绪”与“数据装置就绪”两根线也是交叉相连的,使得两设备都能检测出对方是否已经准备好。
在最简单的全双工系统中,公用发送数据、接收数据和信号地三根即可。
对MCS-51单片机来说,利用RXD(串行数据接收端)线、TXD(串行数据发送端)线以及一根地线,就可以构成符合RS-232C接口标准的全双工串行通信口。
(见图b)直接连接最简单的RS-232C数据通信连接3)RS-232C接口电平转换RS-232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平对地是对称的,完全与TTL、CMOS 逻辑电平不同。
RS-232C采用负逻辑,即:逻辑1:-5V~-15V。
逻辑0:+5V~+15V。
于MCS-51采用TTL电平,若用RS-232C标准接口通信必须进行电平转换。
目前RS-232C与TTL电平转换最常用的集成电路芯片是传输线驱动器MC1488传输线接收器MC1489。
其内部结构和引脚如下图所示。
MC1488可完成TTL电平到RS-232C的电平转换,输入为TTL电平,输出为RS-232C电平。
其内部有3个与非门和1个反相器。
采用±12V或±15V 电源供电。
MC1489可完成RS-232C到TTL电平转换,输入为RS-232C电平,输出为TTL电平。
其内部有4个反相器,采用+5V电源供电。
MC1489中每个反相器都有一个控制端,高电平有效,可作为RS-232C操作的控制端。
图给出了RS-232C接口电路原理图。
RS-232C电平转换芯片MC1488和MC1489(d) RS-232C接口电路MAX232芯片MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。
它的内部结构基本可分三个部分;第一部分是电荷泵电路。
1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚、12脚、11脚、14脚为第一数据通道。
8脚、9脚、10脚、7脚为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN 输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。