基于VB实现PC机与单片机远距离通信的研究Word文档下载推荐.docx
- 文档编号:20769908
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:57
- 大小:2.90MB
基于VB实现PC机与单片机远距离通信的研究Word文档下载推荐.docx
《基于VB实现PC机与单片机远距离通信的研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于VB实现PC机与单片机远距离通信的研究Word文档下载推荐.docx(57页珍藏版)》请在冰豆网上搜索。
1.2工业自动化的通信方式1
1.3串行通信的详细介绍2
1.3.1串行通信的介绍2
1.3.2串行通信的基本概念2
1.3.3串行通信的制式3
1.3.4通信速度与通信距离3
1.3.5串行接口标准4
2单片机串行通信原理5
2.1单片机串行通信接口5
2.1.1串行接口的基本特点5
2.1.2串行控制寄存器(SCON)5
2.1.3电源控制寄存器(PCON)6
2.1.4串行口的工作方式6
2.1.5波特率的设定7
2.2通讯协议的制定8
3通信系统的总体设计9
3.1通信系统设计的要求9
3.2通信系统的总体设计9
3.2.1PC机的串行接口9
3.2.2RS-232/485转换电路10
3.2.3单片机接口电平转换电路10
4通信系统的硬件设计12
4.1单片机及其外围电路12
4.1.1MCS-51单片机介绍12
4.1.2单片机外围电路12
4.2通信接口的设计14
4.2.1RS-232/485转换电路的设计14
4.2.2单片机接口电路的设计15
5通信系统的软件设计16
5.1PC机VB程序的设计16
5.1.1VB语言的介绍16
5.1.2VB中MSComm控件介绍16
5.1.3MSComm控件的基本属性介绍17
5.1.4PC机VB界面的设计17
5.1.5VB程序编写22
5.2单片机程序的设计22
5.2.1单片机编程语言的选择22
5.2.2C语言程序设计的流程图23
5.2.3单片机程序编写24
6单片机系统的可靠性设计25
6.1硬件可靠性设计25
6.1.1单片机硬件系统人-环境特性25
6.1.2硬件可靠性设计25
6.2软件可靠性设计26
6.2.1、单片机软件系统人-环境特性26
6.2.2软件可靠性设计26
7通信系统的软件仿真28
7.1Proteus软件介绍28
7.2Keil软件介绍29
7.3ConfigureVirtualSerialPortDriver软件介绍29
7.4Proteus与Keil联机30
7.5仿真电路图与仿真结果30
8总结33
参考文献35
致谢36
外文原文37
中文翻译47
1绪论
1.1课题背景
在现代工业应用中,常常需要进行数据通信,特别是在一些工业控制系统中尤其重要,工业自动化的通信方式主要包括以太网,现场总线,串口通信等,其中串口通信应用最为广泛。
早期,人们习惯使用汇编语言来编制通信程序,随着WIN-DOWS和可视化编程开发环境的出现,如微软的VB、VC等等,给传统的程序开发模式带来了深刻的变化。
其中VISUALBASIC由于使用方便,一般工程人员容易掌握、设计软件方便、工作量较小,深受工程人员喜爱。
适用于一些对实时性要求不高的情况下使用,其中MSComm通信控件提供了一系列标准通信命令的接口,它允许上位机与其他通信设备(如Modem)建立串口连接,还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以利用它创建高效实用的串行通信程序。
另外,单片机以其体积小、价格低、抗干扰性能好等优点,在现场监控和数据采集系统中得到广泛的应用,单片机采集到的数据和现场状态通过串行通讯,传送到PC机,进行分析、存储或显示,PC机的命令和控制通过串行口传送到单片机,以监控其他设备的运转。
因此,串行通讯成为了现场监控系统与上位机联系的桥梁。
1.2工业自动化的通信方式
现代工业自动化的通信方式主要包括以太网,现场总线,串口通信等,现将他们的特点与应用场合介绍如下:
1、以太网
以太网最早由Xerox(施乐)公司创建,在1980年,DEC、lntel和Xerox三家公司联合开发成为一个标准。
以太网是应用最为广泛的局域网,包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网,采用的是CSMA/CD访问控制法,它们都符合IEEE802.3。
以太网的拓扑结构包括总线型和星型,并且可以采用多种连接介质,包括同轴缆、双绞线和光纤等。
其中双绞线多用于从主机到集线器或交换机的连接,而光纤则主要用于交换机间的级联和交换机到路由器间的点到点链路上。
2、现场总线
现场总线是指以工厂内的测量和控制机器间的数字通讯为主的网络,也称现场网络。
也就是将传感器、各种操作终端和控制器间的通讯及控制器之间的通讯进行特化的网络。
原来这些机器间的主体配线是ON/OFF、接点信号和模拟信号,通过通讯的数字化,使时间分割、多重化、多点化成为可能,从而实现高性能化、高可靠化、保养简便化、节省配线(配线的共享)。
现场总线的特点和优点是:
全数字化通信,开放型的互联网络,互可操作性与互用性,现场设备的智能化,系统结构的高度分散性,对现场环境的适应性。
主要用于制造业、流程工业、交通、楼宇、电力等方面的自动化系统中。
3、串口通信
串口是计算机上一种非常通用设备通信的协议。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;
很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
它很简单并且能够实现远距离通信,串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通信的端口,这些参数必须匹配。
在本设计中,要求实现PC机与单片机的远程通信,基于PC机,单片机与串口通信的特点,选择串口通信以实现数据传送。
1.3串行通信的详细介绍
串口通信之所以应用于工业控制系统中如此广泛,那是因为串口通信有不同于其他通信的特点。
1.3.1串行通信的介绍
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。
使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。
其特点是:
节省传输线,尤其是在远程通信时,此特点尤为重要。
这也是串行通信的主要优点,但数据传送效率低,这也是串行通信的主要缺点。
1.3.2串行通信的基本概念
1、同步通信
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。
这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
它们均由同步字符、数据字符和校验字符(CRC)组成。
其中同步字符位于帧开头,用于确认数据字符的开始。
数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;
校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。
同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。
2、异步通信
异步通信中,在异步通行中有两个比较重要的指标:
字符帧格式和波特率。
数据通常以字符或者字节为单位组成字符帧传送。
字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。
发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
接收端检测到传输线上发送过来的低电平逻辑"
0"
(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。
因为本通信系统用于工业控制中,对于数据通信的质量要求不高,所以,在本设计中采用异步串行通信。
1.3.3串行通信的制式
串行通信按照数据传送方向可分为三种制式:
1、单工制式(Simplex)
单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。
2、半双工制式(HalfDuplex)
半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。
3、全双工制式(FullDuplex)
全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。
在本设计中,要求实现PC机与单片机之间的双向通信,并且485总线是异步半双工的通信总线,所以采用半双工制式来发送数据。
1.3.4通信速度与通信距离
在串口通信中中最为关键,也最受工业控制者关心的两个问题就是串口通信的通信速率和通信距离。
1、通信速率
在串行通信中,用“波特率”来描述数据的传输速率。
所谓波特率,即每秒钟传送的二进制位数,其单位为bps(bitspersecond)。
它是衡量串行数据速度快慢的重要指标。
有时也用“位周期”表示传输速率,位周期是波特率的倒数。
国际上规定了一个标准波特率系列:
110、300、600、1200、1800、2400、4800、9600、14.4Kbps、19.2Kbps、28.8Kbps、33.6Kbps、56Kbps。
例如:
9600bps,指每秒传送9600位,包含字符的数位和其它必须的数位,如奇偶校验位等。
大多数串行接口电路的接收波特率和发送波特率可以分别设置,但接收方的接收波特率必须与发送方的发送波特率相同。
通信线上所传输的字符数据(代码)是逐为位传送的,1个字符由若干位组成,因此每秒钟所传输的字符数(字符速率)和波特率是两种概念。
在串行通信中,所说的传输速率是指波特率,而不是指字符速率,它们两者的关系是:
假如在异步串行通信中,传送一个字符,包括12位(其中有一个起始位,8个数据位,2个停止位),其传输速率是1200b/s,每秒所能传送的字符数是1200/(1+8+1+2)=100个。
2、通信距离
串行通信中,数据位信号流在信号线上传输时,要引起畸变,畸变的大小与以下因素有关:
波特率——信号线的特征(频带范围)
传输距离——信号的性质及大小(电平高低、电流大小)
当畸变较大时,接收方出现误码。
在规定的误码率下,当波特率、信号线、信号的性质及大小一定时,串行通信的传输距离就一定。
为了加大传输距离,必须加调制解调器。
1.3.5串行接口标准
串行接口按电气标准来分包括RS-232C、RS-422、RS485等。
RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。
现对它们分别介绍如下:
1、RS-232C接口标准
RS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;
若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
2、RS-485接口标准
RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。
RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485用于多点互连时非常方便,可以省掉许多信号线。
应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
3、RS-422接口标准
RS422总线,RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。
RS422和RS485在19kpbs下能传输1200米。
用新型收发器线路上可连接台设备。
差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。
RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。
在本通信系统中要求实现PC机与单片机的通信,而PC机的通信接口为RS-232接口,所以在本设计中采用RS-232接口标准。
2单片机串行通信原理
2.1单片机串行通信接口
2.1.1串行接口的基本特点
串行接口SerialInterface是指数据一位位地顺序传送,其特点是通信电路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:
数据位传送,传按位顺序进行,最少只需一根传输线即可完成;
成本低但送速度慢。
串行通讯的距离可以从几米到几千米;
根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
2.1.2串行控制寄存器(SCON)
MCS-51的串行口是可编程接口,通过对串行口控制寄存器的初始化编程,可以实现对串行口的控制。
CSON是一个可位寻址的专用寄存器,其单元地址为98H,位地址为98H~9FH。
其内容及位地址如表2-1所示:
表2-1SCON内容及地址表
位序
D7
D6
D5
D4
D3
D2
D1
D0
位地址
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
位名
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
1、SM0、SM1:
串行口工作方式选择位。
其状态组合所对应的工作方式如表2-2所示:
表2-2串口工作方式对应表
SM0SM1
工作方式
功能描述
波特率
00
方式0
8位同步移位寄存器
fosc/12
01
方式1
10位UATR
可变
10
方式2
11位TARR
fosc/64或fosc/32
11
方式3
11位UATR
2、SM2:
多机通信控制位。
因多机通信是在方式2和方式3下进行,因此SM2主要用于方式2和方式3。
当串行口以方式2或方式3接收时,若SM2=1,只有当接收到得第九位数据(RB8)位1才将接收的前8位数据送入SBUF,并置接收中断标志(RI=1),产生中断请求;
否则,将接收到得前8位数据丢弃。
而当SM2=0时,则不论第九位数据(RB8)为0还是1,都将前8位数据装入SBUF中,并产生中断请求。
在方式0中,SM2必须为0。
3、REN:
接收使能位。
REN位用于对串行口数据的接收进行控制,该位由软件置位或清除。
当REN=0时,禁止接收;
REN=1时,允许接收。
4、TB8:
发送数据的第九位。
在方式2和方式3中,根据需要有软件进行置位和复位。
双机通信时该为可作奇偶检验位;
在多机通信中可作为区别地址帧或数据帧的标识位。
一般约定TB8=1时位地址帧,TB8=0时位数据帧。
5、RB8:
接收数据的第九位。
在方式2和方式3中,RB8存放接收到的第九位数据。
其功能类似于TB8。
6、TI:
发送中断标志位。
在方式0中,发送完8位数据后,由硬件置位:
在其他方式中,在发送停止位之前由硬件置位。
TI=1时,表示帧发送结束,其状态可申请中断,也可供软件查询使用。
TI位必须由软件置0。
7、RI:
接收中断标志位
在方式0中,接收完8位数据后,由硬件置位:
在其他方式中,在接收停止位之前由硬件置位。
RI=1时,表示帧接收结束,其状态可申请中断,也可供软件查询使用。
RI位必须由软件置0。
2.1.3电源控制寄存器(PCON)
PCON寄存器主要是为CHMOS型单片机的电源控制而设的专用寄存器,单元地址为87H,其格式如表2-3所示:
表2-3PCON格式表
SMOD
/
GF1
GF0
PD
IDL
在HMOS单片机中,该寄存器中除最高位之外,其他位都是虚设。
最高位SMOD是串行口波特率倍增位。
当SMOD=1时,串行口波特率加倍。
系统复位时。
SMOD=0。
2.1.4串行口的工作方式
根据需要,MCS-51单片机的串行口可设置四种工作方式,可有8位、10位或11位帧格式。
1、方式0
在方式0下,串行口是作为同步移位寄存器使用。
这时以RXD(P3.0)端作为数据移入的入口和出口,而由TXD(P3.1)端提供移位脉冲。
移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后。
这种方式常用于扩展I/O口。
2、方式1
工作方式1真正用于串行发送和接收,为10位通用异步接口。
TXD(P3.1)用于发送数据,RXD(P3.0)用于接收数据。
接收或发送一帧数据的格式为:
1为起始位,8位数据位和1位停止位,其波特率可调。
发送时,数据从TXD(P3.0)引脚输出。
当数据写入发送缓冲器SBUF时。
就启动发送。
发送完一帧数据后,由硬件将TI允许接收,通知CPU可以发送下一个数据。
接收时,由软件使REN置1允许接收,串行口采样引脚RXD(P3.0)。
当采样到由1至0的跳变时,确认是起始位“0”,就开始接收一帧数据。
当停止位来到之后将停止位送入RB8位,由硬件将RI置1,并申请中断,通知CPU从SBUF取走接收到得一个数据。
3、方式2
在工作方式2下,串行口位11位帧格式的异步通信接口。
1个起始位,8位数据位,1位可编程位和1位停止位。
波特率与SMOD有关。
发送前,先根据通信协议由软件设置TB8,然后将要发送的数据写入SBUF即能启动发送,“写SBUF”指令把8位数据位装入SBUF的同时,还把TB8装入发送移位寄存器的第9位上,然后从TXD(P3.1)端输出。
一帧数据发送完后,由硬件将TI置1,并申请中断。
接收时,先将REN置1,使串行口处于允许接收状态,同时还要将RI清0.在满足此条件的前提下,在根据SM2的状态和所接收到得RB8的状态决定串行口在数据到来后是否使RI置1,并申请中断,接收信息。
4、方式3
方式3同样是11位为一帧的串行通信方式,其通信过程与方式2完全相同,所不同的仅仅是波特率。
2.1.5波特率的设定
在串口通信中,收发双方对发送或接收的数据速率(即波特率)的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VB 实现 PC 单片机 远距离 通信 研究
![提示](https://static.bdocx.com/images/bang_tan.gif)