1、I基于VB实现PC机与单片机远距离通信的研究摘要在现代工业数据通信中,串口通信应用比较广泛;单片机以其体积小、价格低、抗干扰性能好等优点,在现场监控和数据采集系统中也得到广泛的应用;VB由于使用方便,容易掌握,设计软件方便,工作量较小,在通信程序的编写中,也深受工程人员喜爱。基于以上三个原因,本文研究了通过VB实现的PC机与单片机的远程通信系统。在本通信系统中,硬件电路采用RS232串口通信;并通过电平转换实现单片机与PC机的数据连接;通过RS232/485转换器,实现数据的远距离传输;并且对系统运行的可靠性进行了分析。软件程序中,上位机采用VB编程,实现VB操作界面和相应的功能;下位机采用C
2、语言编程,以实现上位机对下位机的控制。最后运用PROUES软件对整个系统进行了虚拟仿真,验证了系统的可行性。关键词PC机,单片机,远距离通信,VB,PROTUESIIBASEDONVBREALIZEPCANDSINGLECHIPMICROCOMPUTERLONGDISTANCECOMMUNICATIONRESEARCHABSTRACTINTHEMODERNINDUSTRIALDATACOMMUNICATIONS,SERIALINTERFACECOMMUNICATIONISWIDELYUSEDSINGLECHIPMICROCOMPUTERWITHITSSMALLSIZE,LOWPRICE,ANT
3、IJAMMINGPERFORMANCEAREALSOWIDELYUSEDONTHESITESUPERVISORYCONTROLANDDATAACQUISITIONSYSTEMVBDUETOUSECONVENIENT,EASYTOMASTER,DESIGNSOFTWAREISCONVENIENT,THEWORKLOADISLESSER,INWRITECOMMUNICATIONPROGRAM,ALSOISFAVOREDBYENGINEERINGPERSONNELBASEDONTHEABOVETHREEREASONS,THISPAPERSTUDIEDTHEPCVIAVBREALIZEREMOTECO
4、MMUNICATIONSYSTEMWITHMCUINTHISCOMMUNICATIONSYSTEM,HARDWARECIRCUITUSESRS232SERIALINTERFACECOMMUNICATIONMULTILEVELCONVERSIONISUSEDTOREALIZEDATACONNECTIONBETWEENMCUANDPCRS232/485SWITCHISUSEDTOREALIZETHEDATATRANSMISSIONOVERALONGDISTANCEANDTHEOPERATIONRELIABILITYOFTHESYSTEMISANALYZEDINSOFTWAREPROGRAM,PCU
5、SEVBPROGRAMMINGTOREALIZETHEVBINTERFACEANDTHECORRESPONDINGFUNCTIONLOWERLEVELCOMPUTERPROGRAMMEDUSECLANGUAGETOREALIZETHECONTROLBETWEENPCANDLOWERLEVELCOMPUTERFINALLYPROUESSOFTWAREISUSEDTOSIMULATETHEWHOLESYSTEM,VERIFYTHEFEASIBILITYOFTHESYSTEMKEYWORDSPC,SINGLECHIPMICROCOMPUTER,LONGDISTANCECOMMUNICATION,VB
6、,PROTUESIII目录摘要ABSTRACT1绪论111课题背景112工业自动化的通信方式113串行通信的详细介绍2131串行通信的介绍2132串行通信的基本概念2133串行通信的制式3134通信速度与通信距离3135串行接口标准42单片机串行通信原理521单片机串行通信接口5211串行接口的基本特点5212串行控制寄存器SCON5213电源控制寄存器(PCON)6214串行口的工作方式6215波特率的设定722通讯协议的制定83通信系统的总体设计931通信系统设计的要求932通信系统的总体设计9321PC机的串行接口9322RS232/485转换电路10323单片机接口电平转换电路104通
7、信系统的硬件设计1241单片机及其外围电路12411MCS51单片机介绍12412单片机外围电路1242通信接口的设计14421RS232/485转换电路的设计14422单片机接口电路的设计155通信系统的软件设计1651PC机VB程序的设计16511VB语言的介绍16512VB中MSCOMM控件介绍16513MSCOMM控件的基本属性介绍17514PC机VB界面的设计17515VB程序编写22IV52单片机程序的设计22521单片机编程语言的选择22522C语言程序设计的流程图23523单片机程序编写236单片机系统的可靠性设计2561硬件可靠性设计25611单片机硬件系统人环境特性2561
8、2硬件可靠性设计2562软件可靠性设计26621、单片机软件系统人环境特性26622软件可靠性设计277通信系统的软件仿真2871PROTEUS软件介绍2872KEIL软件介绍2973CONFIGUREVIRTUALSERIALPORTDRIVER软件介绍2974PROTEUS与KEIL联机3075仿真电路图与仿真结果308总结33参考文献35致谢36外文原文37中文翻译4711绪论11课题背景在现代工业应用中,常常需要进行数据通信,特别是在一些工业控制系统中尤其重要,工业自动化的通信方式主要包括以太网,现场总线,串口通信等,其中串口通信应用最为广泛。早期,人们习惯使用汇编语言来编制通信程序,
9、随着WINDOWS和可视化编程开发环境的出现,如微软的VB、VC等等,给传统的程序开发模式带来了深刻的变化。其中VISUALBASIC由于使用方便,一般工程人员容易掌握、设计软件方便、工作量较小,深受工程人员喜爱。适用于一些对实时性要求不高的情况下使用,其中MSCOMM通信控件提供了一系列标准通信命令的接口,它允许上位机与其他通信设备如MODEM建立串口连接,还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以利用它创建高效实用的串行通信程序。另外,单片机以其体积小、价格低、抗干扰性能好等优点,在现场监控和数据采集系统中得到广泛的应用,单片机采集到的数据和现
10、场状态通过串行通讯,传送到PC机,进行分析、存储或显示,PC机的命令和控制通过串行口传送到单片机,以监控其他设备的运转。因此,串行通讯成为了现场监控系统与上位机联系的桥梁。12工业自动化的通信方式现代工业自动化的通信方式主要包括以太网,现场总线,串口通信等,现将他们的特点与应用场合介绍如下1、以太网以太网最早由XEROX(施乐)公司创建,在1980年,DEC、LNTEL和XEROX三家公司联合开发成为一个标准。以太网是应用最为广泛的局域网,包括标准的以太网10MBIT/S、快速以太网100MBIT/S和10G10GBIT/S以太网,采用的是CSMA/CD访问控制法,它们都符合IEEE8023。
11、以太网的拓扑结构包括总线型和星型,并且可以采用多种连接介质,包括同轴缆、双绞线和光纤等。其中双绞线多用于从主机到集线器或交换机的连接,而光纤则主要用于交换机间的级联和交换机到路由器间的点到点链路上。2、现场总线现场总线是指以工厂内的测量和控制机器间的数字通讯为主的网络,也称现场网络。也就是将传感器、各种操作终端和控制器间的通讯及控制器之间的通讯进行特化的网络。原来这些机器间的主体配线是ON/OFF、接点信号和模拟信号,通过通讯的数字化,使时间分割、多重化、多点化成为可能,从而实现高性能化、高可靠化、保养简便化、节省配线(配线的共享)。现场总线的特点和优点是全数字化通信,开放型的互联网络,互可操
12、作性与互用性,现场设备的智能化,系统结构的高度分散性,对现场环境的适应性。主要用于2制造业、流程工业、交通、楼宇、电力等方面的自动化系统中。3、串口通信串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(BIT)发送和接收字节。它很简单并且能够实现远距离通信,串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。在本设计中,要求实现PC机与单片机的远程通
13、信,基于PC机,单片机与串口通信的特点,选择串口通信以实现数据传送。13串行通信的详细介绍串口通信之所以应用于工业控制系统中如此广泛,那是因为串口通信有不同于其他通信的特点。131串行通信的介绍串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。其特点是节省传输线,尤其是在远程通信时,此特点尤为重要。这
14、也是串行通信的主要优点,但数据传送效率低,这也是串行通信的主要缺点。132串行通信的基本概念1、同步通信同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。2、异步通信异步通信中,在异步通行中有两个比较重要的指标字符帧格式和波特率。数据
15、通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线3被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑“0“(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。因为本通信系统用于工业控制中,对于数据通信的质量要求不高,所以,在本设计中采用异步串行通信。133串行通信的制式串行通信按照数据传送方向可分为三种制式1、单工制式(SIMPLEX)单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。2、半双工制式(H
16、ALFDUPLEX)半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。3、全双工制式(FULLDUPLEX)全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。在本设计中,要求实现PC机与单片机之间的双向通信,并且485总线是异步半双工的通信总线,所以采用半双工制式来发送数据。134通信速度与通信距离在串口通信中中最为关键,也最受工业控制者关心的两个问题就是串口通信的通信速率和通信距离。1、通信速率在串行通信中,用“波特率”来
17、描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为BPS(BITSPERSECOND)。它是衡量串行数据速度快慢的重要指标。有时也用“位周期”表示传输速率,位周期是波特率的倒数。国际上规定了一个标准波特率系列110、300、600、1200、1800、2400、4800、9600、144KBPS、192KBPS、288KBPS、336KBPS、56KBPS。例如9600BPS,指每秒传送9600位,包含字符的数位和其它必须的数位,如奇偶校验位等。大多数串行接口电路的接收波特率和发送波特率可以分别设置,但接收方的接收波特率必须与发送方的发送波特率相同。通信线上所传输的字符数据(代
18、码)是逐为位传送的,1个字符由若干位组成,因此每秒钟所传输的字符数(字符速率)和波特率是两种概念。在串行通信中,所说的传输速率是指波特率,而不是指字符速率,它们两者的关系是假如在异步串行通信中,传送一个字符,包括12位(其中有一个起始位,8个数据位,2个停止位),其传输速率是1200B/S,每秒所能传送的字符数是1200/1812100个。2、通信距离4串行通信中,数据位信号流在信号线上传输时,要引起畸变,畸变的大小与以下因素有关波特率信号线的特征(频带范围)传输距离信号的性质及大小(电平高低、电流大小)当畸变较大时,接收方出现误码。在规定的误码率下,当波特率、信号线、信号的性质及大小一定时,
19、串行通信的传输距离就一定。为了加大传输距离,必须加调制解调器。135串行接口标准串行接口按电气标准来分包括RS232C、RS422、RS485等。RS232C、RS422与RS485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。现对它们分别介绍如下1、RS232C接口标准RS232C是美国电子工业协会EIA(ELECTRONICINDUSTRYASSOCIATION)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS232C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线
20、就可实现,如一条发送线、一条接收线及一条地线。RS232C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS232C标准规定,驱动器允许有2500PF的电容负载,通信距离将受此电容限制,例如,采用150PF/M的通信电缆时,最大通信距离为15M;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20M以内的通信。2、RS485接口标准RS485总线,在要求通信距离为几十米到上千米时,广泛采用RS485串行总线标准。RS485
21、采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200MV的电压,故传输信号能在千米以外得到恢复。RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS485用于多点互连时非常方便,可以省掉许多信号线。应用RS485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。3、RS422接口标准RS422总线,RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。RS422和RS485在19KPBS下能传输1200米。用新型收发器线路上可连接台设备。差动工作是同速率条件
22、下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。在本通信系统中要求实现PC机与单片机的通信,而PC机的通信接口为RS232接口,所以在本设计中采用RS232接口标准。52单片机串行通信原理21单片机串行通信接口211串行接口的基本特点串行接口SERIALINTERFACE是指数据一位位地顺序传送,其特点是通信电路简单,只要一对传输线就可以实现双
23、向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是数据位传送,传按位顺序进行,最少只需一根传输线即可完成;成本低但送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。212串行控制寄存器SCONMCS51的串行口是可编程接口,通过对串行口控制寄存器的初始化编程,可以实现对串行口的控制。CSON是一个可位寻址的专用寄存器,其单元地址为98H,位地址为98H9FH。其内容及位地址如表21所示表21SCON内容及地址表位序D7D6D5
24、D4D3D2D1D0位地址9FH9EH9DH9CH9BH9AH99H98H位名SM0SM1SM2RENTB8RB8TIRI1、SM0、SM1串行口工作方式选择位。其状态组合所对应的工作方式如表22所示表22串口工作方式对应表SM0SM1工作方式功能描述波特率00方式08位同步移位寄存器FOSC/1201方式110位UATR可变10方式211位TARRFOSC/64或FOSC/3211方式311位UATR可变2、SM2多机通信控制位。因多机通信是在方式2和方式3下进行,因此SM2主要用于方式2和方式3。当串行口以方式2或方式3接收时,若SM21,只有当接收到得第九位数据(RB8)位1才将接收的前
25、8位数据送入SBUF,并置接收中断标志(RI1),产生中断请求;否则,将接收到得前8位数据丢弃。而当SM20时,则不论第九位数据(RB8)为0还是1,都将前8位数据装入SBUF中,并产生中断请求。在方式0中,SM2必须为0。63、REN接收使能位。REN位用于对串行口数据的接收进行控制,该位由软件置位或清除。当REN0时,禁止接收;REN1时,允许接收。4、TB8发送数据的第九位。在方式2和方式3中,根据需要有软件进行置位和复位。双机通信时该为可作奇偶检验位;在多机通信中可作为区别地址帧或数据帧的标识位。一般约定TB81时位地址帧,TB80时位数据帧。5、RB8接收数据的第九位。在方式2和方式
26、3中,RB8存放接收到的第九位数据。其功能类似于TB8。6、TI发送中断标志位。在方式0中,发送完8位数据后,由硬件置位在其他方式中,在发送停止位之前由硬件置位。TI1时,表示帧发送结束,其状态可申请中断,也可供软件查询使用。TI位必须由软件置0。7、RI接收中断标志位在方式0中,接收完8位数据后,由硬件置位在其他方式中,在接收停止位之前由硬件置位。RI1时,表示帧接收结束,其状态可申请中断,也可供软件查询使用。RI位必须由软件置0。213电源控制寄存器(PCON)PCON寄存器主要是为CHMOS型单片机的电源控制而设的专用寄存器,单元地址为87H,其格式如表23所示表23PCON格式表位序D
27、7D6D5D4D3D2D1D0位名SMOD/GF1GF0PDIDL在HMOS单片机中,该寄存器中除最高位之外,其他位都是虚设。最高位SMOD是串行口波特率倍增位。当SMOD1时,串行口波特率加倍。系统复位时。SMOD0。214串行口的工作方式根据需要,MCS51单片机的串行口可设置四种工作方式,可有8位、10位或11位帧格式。1、方式0在方式0下,串行口是作为同步移位寄存器使用。这时以RXD(P30)端作为数据移入的入口和出口,而由TXD(P31)端提供移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后。这种方式常用于扩展I/O口。2、方式1工作方式1真正用于串行
28、发送和接收,为10位通用异步接口。TXD(P31)用于发送数据,RXD(P30)用于接收数据。接收或发送一帧数据的格式为1为起始位,8位数据位和1位停止位,其波特率可调。发送时,数据从TXD(P30)引脚输出。当数据写入发送缓冲器SBUF时。就启7动发送。发送完一帧数据后,由硬件将TI允许接收,通知CPU可以发送下一个数据。接收时,由软件使REN置1允许接收,串行口采样引脚RXD(P30)。当采样到由1至0的跳变时,确认是起始位“0”,就开始接收一帧数据。当停止位来到之后将停止位送入RB8位,由硬件将RI置1,并申请中断,通知CPU从SBUF取走接收到得一个数据。3、方式2在工作方式2下,串行
29、口位11位帧格式的异步通信接口。接收或发送一帧数据的格式为1个起始位,8位数据位,1位可编程位和1位停止位。波特率与SMOD有关。发送前,先根据通信协议由软件设置TB8,然后将要发送的数据写入SBUF即能启动发送,“写SBUF”指令把8位数据位装入SBUF的同时,还把TB8装入发送移位寄存器的第9位上,然后从TXD(P31)端输出。一帧数据发送完后,由硬件将TI置1,并申请中断。接收时,先将REN置1,使串行口处于允许接收状态,同时还要将RI清0在满足此条件的前提下,在根据SM2的状态和所接收到得RB8的状态决定串行口在数据到来后是否使RI置1,并申请中断,接收信息。4、方式3方式3同样是11
30、位为一帧的串行通信方式,其通信过程与方式2完全相同,所不同的仅仅是波特率。215波特率的设定在串口通信中,收发双方对发送或接收的数据速率(即波特率)的数值要有一定的约定,这样才能正常通信。通过软件对串口编程可约定位4中工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器1的溢出率来控制。1、方式0的波特率在方式0中,每个机器周期接收或发送一位数据,因此波特率的数值固定为时钟频率数值(OSCF)的1/12,且不受SMOD的影响。方式0的波特率OSCF1212、方式2的波特率串行口方式2的波特率取决于PCON中SMOD的值,当SMOD0时,波特率为OSCF的1/
31、64;若SMOD1则波特率位OSCF的1/32即方式2的波特率OSCSMODF6423、方式1和方式3的波特率方式1和方式3的波特率由定时器T1的溢出率与SMOD的值决定,即8方式1和方式3的波特率溢出率1322TSMOD其中,T1的溢出率取决于计数速率和定时器的预置值。计数速率与TMOD寄存器中的TC/位的状态有关。当0/TC时,计数速率12/OSCF;当1/TC时。计数速率取决于外部输入时钟频率。22通讯协议的制定本系统串行通信采用异步通信方式。协议如下1、一帧数据由1位起始位、8位数据位、无奇偶校验位、1位停止位共10位组成。2、波特率设为96000BPS。单片机串行口按方式1工作,波特
32、率由定时器T1控制,PC机串口波特率通过VB通讯控件的SETTINGS属性设置,为保证数据传送的准确性,两者的波特率必须一致。93通信系统的总体设计31通信系统设计的要求1、通信系统的可靠性在本通信系统中,要实现远距离通信,但由于RS232的通信距离短,故采用RS485通信,但485通信存在自适应、自保护功能脆弱、通信效率低等缺点,若使用不当,485接口会出现器件经常损坏,有时几次连续的开关机操作之后,通信电路失控,数据传输出现误码等,所以提高485通信的运行可靠性至关重要。2、通信系统要实现的功能本通信系统是为了实现PC机与单片机的数据通信,为了证明通信系统的可用性,我设计了如下一个演示例子
33、通过对PC机端界面内的CHECKBOX控件进行选择,来控制单片机端LED灯得显示与关闭。32通信系统的总体设计321PC机的串行接口PC机的串行接口也叫RS232接口,现在的PC机一般有两个串行口COM1和COM2。通常COM1使用的是9针D形连接器,也称之为RS232接口,而COM2有的使用的是老式的DB25针连接器,也称之为RS422接口,不过目前已经很少使用。在本设计中,我们使用DB9连接器。DB9的实物图如图31所示,各阵脚功能如下图31DB9实物图1、DCD载波检测。主要用于MODEM通知计算机其处于在线状态,即MODEM检测到拨号音,处于在线状态。2、RXD此引脚用于接收外部设备送
34、来的数据;在你使用MODEM时,你会发现RXD指示灯在闪烁,说明RXD引脚上有数据进入。3、TXD此引脚将计算机的数据发送给外部设备;在你使用MODEM时,你会发现TXD指示灯在闪烁,说明计算机正在通过TXD引脚发送数据。4、DTR数据终端就绪;当此引脚高电平时,通知MODEM可以进行数据传输,计算机已经准备好。105、GND信号地;此位不做过多解释。6、DSR数据设备就绪;此引脚高电平时,通知计算机MODEM已经准备好,可以进行数据通讯了。7、RTS请求发送;此脚由计算机来控制,用以通知MODEM马上传送数据至计算机;否则,MODEM将收到的数据暂时放入缓冲区中。8、CTS清除发送;此脚由M
35、ODEM控制,用以通知计算机将欲传的数据送至MODEM。9、RIMODEM通知计算机有呼叫进来,是否接听呼叫由计算机决定322RS232/485转换电路PC机是基于标准的RS232接口设备,但由于RS232有以下缺点1、接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。2、传输速率较低,在异步传输时,波特率为20KBPS。3、接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。4、传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。相当于RS232,RS485有
36、以下优点1、RS485的电气特性逻辑“1”以两线间的电压差为(26)V表示;逻辑“0”以两线间的电压差为(26)V表示。接口信号电平比RS232C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。2、RS485的数据最高传输速率为10MBPS3、RS485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4、RS485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS232C接口在总线上只允许连接1个收发器,即单站能力。而RS485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS
37、4855、接口方便地建立起设备网络。因RS485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。所以为了实现远距离通信,必须在RS232接口与传输线之间加RS232/485转换电路,以实现PC机与单片机之间的远距离通信。323单片机接口电平转换电路RS23通讯接口是一种标准化的串行接口,是为远程通讯连接终端设备DTEDATATERMINALEQUIPMENT与数据,通讯设备DCEDATACOMMUNICATIONEQUIPMENT定义的物理接口。为了提高抗干扰能力
38、和增加传送距离,RS232的每个脚线的信号和电平规定采用负逻辑电平。由于单片机的输入、输出电平为TTL电平,与PC机RS232标准串11行接口的电气规范不一致,因此要实现单片机与PC机之间的数据通读,必须进行电平转换。一般常用的电平转换器件有MC1488,MC1489及MAX232等,相比于其他芯片,MAX232芯片是美信公司专门为电脑的RS232标准串口设计的单电源电平转换芯片,使用5V单电源供电。故在本系统采用MAX232芯片来实现电平转换。MAX232芯片如图32所示,其各部分引脚功能如下图32MAX232芯片及原理图第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是
39、产生12V和12V两个电源,提供给RS232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚DNG、16脚VCC(
40、5V)。124通信系统的硬件设计本通信系统的硬件电路设计包括单片机及其外围电路,单片机接口电路,及通信接口电路的设计。41单片机及其外围电路411MCS51单片机介绍MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机MCS51单片机的内部总体结构其基本特性如下8位CPU、片内振荡器、4K字节ROM、128字节R
41、AM、21个特殊功能寄存器、32根I/O线、可寻址的64K字节外部数据、程序存贮空间、2个16位定时器、计数器中断结构具有二个优先级、五个中断源一个全双口串行口位寻址(即可寻找某位的内容)功能,适于按位进行逻辑运算的位处理器。除128字节RAM、4K字节ROM和中断、串行口及定时器模块外,还有4组I/O口P0P3,余下的就是CPU的全部组成。把4KROM换为EPROM就是8751的结构,如去掉ROM/EPROM部分即为8031,如果将ROM置换为FLASH存贮器或EEPROM,或再省去某些I/O,即可得到51系列的派生品种,如89C51、AT89C2051等单片机。单片机各部分是通过内部的总线
42、有机地连接起来的。412单片机外围电路单片机要正常工作,必须给以正确的时钟频率,并且能在出错后复位,所以必须在单片机外围附加时钟,复位等电路。1、时钟电路MCS51单片机芯片内部有一个高增益反相放大器,用于构成时钟振荡电路,XTAL1为该放大器的输入端,XTAL2为该放大器的输出端,但要形成时钟还需附加其他电路。MCS51的时钟电路包括内部时钟方式和外部时钟方式,由于外部时钟方式主要用于多机系统中,以便各个单片机能同步工作。所以在本设计中采用内部时钟方式。内部方式的时钟电路如图42所示。利用MSC51内部的高增益反相放大器,在XTAL1和XTAL2引脚上外接定时原件,内部振荡电路便产生自激振荡
43、。定时原件一般采用石英晶体和电容组成的并联谐振电路,晶体可以在1212MHZ之间任选,电容可以在530PF之间选择,电容C1和C2的大小可起频率微调的作用,电容大小要和晶体的容性负载阻抗相匹配,否则不易起振。13图42单片机时钟电路2、复位电路计算机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS51单片机有一个复位引脚RST,当振荡器起振后,只要该引脚上出现2个机器周期以上的高电平时即可确保使期间复位。复位完成后,如果RST端继续保持高电平,MCS51就一直处于复位状态,RST端得外部复位电路有两种复位操作方式上电自动复位和按键手动复位
44、。由于本通信系统由于数据采集等场合,不需要人为控制,所以在本设计中采用上电自动复位方式。上电自动复位方式的电路图如图43所示。对于HMOS型单片机,只要在RST复位端接一个电容至VCC和一个电阻至VSS。就能实现上电自动复位,在加电瞬间,电容通过电阻充电,就在RST端出现一定宽度的高电平,只要高电平时间足够长,就可以使MCS51有效复位。当晶振频率为12MHZ时,典型值为C10UF,R82K。图43单片机复位电路1442通信接口的设计本系统中通信接口的设计主要包括单片机接口电路的设计和RS232/485转换电路的设计。421RS232/485转换电路的设计RS232/485转换器电路如图44所
45、示,在本设计中,RS232/485转换器主要包括了电源、232电平转换、485电路三部分。本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485电路采用了MAX485集成电路。为了使用方便,电源部分设计成无源方式,整个电路的供电直接从PC机的RS232接口中的DTR(4脚)和RTS(7脚)窃取。PC串口每根线可以提供大约9MA的电流,因此两根线提供的电流足够供给这个电路使用了。经实验,本电路只使用其中一条线也能够正常工作。使用本电路需注意PC程序必须使串口的DTR和RTS输出高电平,经过D3稳压后得到VCC,经过实际测试,VCC电压大约在47V左右。因此,电
46、路中要说D3起的作用是稳压还不如说是限压功能。MAX485是通过两个引脚RE(2脚)和DE(3脚)来控制数据的输入和输出。当RE为低电平时,MAX485数据输入有效;当DE为高电平时,MAX485数据输出有效。在半双工使用中,通常可以将这两个脚直接相连,然后由PC或者单片机输出的高低电平就可以让MAX485在接收和发送状态之间转换了。由于本电路DTR和RTS都用于了电路供电,因此使用TX线和HIN232的另外一个通道及Q1来控制MAX485的状态切换。平时NIH232的9脚输出高电平,经Q1倒相后,使MAX485的RE和DE为低电平而处于数据接收状态。当PC机发送数据时,NIH232的9脚输出
47、低电平,经Q1倒相后,使MAX485的RE和DE为高电平而处于数据发送状态图44RS232/485转换电路15422单片机接口电路的设计在本通信系统中,单片机的接口电路如图45所示,主要包括电平转换电路的设计,电平转换电路采用MAX232芯片,具体的电路图如图34所示,单片机的P30(RXD)接MAX232的R1OUT,P31(TXD)接MAX232的T1IN,然后R1IN和T1OUT分别接RS485总线的输出和输入线。图45单片机接口电路165通信系统的软件设计51PC机VB程序的设计511VB语言的介绍VB是VISUALBASIC的简称,是由美国微软公司于1991年开发的一种可视化的、面向
48、对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发WINDOWS环境下的各类应用程序。它简单易学、效率高,且功能强大可以与WINDOWS专业开发工具SDK相媲美。在VISUALBASIC环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用WINDOWS内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发WINDOWS环境下功能强大、图形界面丰富的应用软件系统。512VB中MSCOMM控件介绍1、MSCOMM控件处理通信的方式MSCOMM控件提供下列两种处理通讯的方式事件驱动方式和查询方式
49、。(1)、事件驱动方式事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者CARRIERDETECTCD或REQUESTTOSENDRTS线上一个字符到达或一个变化发生时。在这些情况下,可以利用MSCOMM控件的ONCOMM事件捕获并处理这些通讯事件。ONCOMM事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅COMMEVENT属性。在编程过程中,就可以在ONCOMM事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSCOMM控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个MSCOMM控件。(2)、查询方式查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查COMMEVENT属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。由于事件驱动方式实时性较强,而查询方式是在程序通过查询COMMEVENT属性的值来判断通信过程中的事件或错误这种方式适合于应用程序较小、实时性要求不高的系统中。本通信系统由于用于实时性采集
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。