单片机与PC机的串行通信设计解析.doc
《单片机与PC机的串行通信设计解析.doc》由会员分享,可在线阅读,更多相关《单片机与PC机的串行通信设计解析.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除文章编号:100320794(20020120010203单片机与PC 机的串行通信设计李德玉,李兵,段雄(中国矿业大学机电工程学院,江苏徐州221008摘要:主要讲述在工业控制现场,如何实现单片机与PC 机之间的数据传送。在分析硬件接口连接的基础上,详细探讨了如何利用VB 来开发串行通信程序。关键词:串行通信;MCS 51;Visual Basic ;编程;RS 232C 中图号:TP36811文献标识码:A1前言现代的工业控制现场,常常采用分布式控制系统。分布式控制系统主要由上位机和下位机组成,下位机采用运行性能较为可靠的单片机(如MCS 5
2、1系列,直接对所控制的系统进行实时数据的采集、抽样、平滑、发送和接收、控制;而上位机则多采用PC 机(如Pentium 系列,主要负责对各单片机进行综合管理,以实现测控系统的自动检测与控制。随着PC 机的迅速发展,PC 机的性能越来越可靠,再加上PC 机应用程序的友好性及易开发性,使得PC 在工业控制现场得到了广泛应用。单片机收集到信息后发送给PC 机,PC 机处理后再发出相应的指令给单片机,控制外围电路工作。这就涉及到一个单片机与PC 机间的串行通信的问题。以下以MCS 51系列中的8031芯片如何与Pentium MMX 机进行通信加以阐述。2硬件部分设计2118031芯片的串行口8031
3、芯片内有一个全双工的串行口,它有4种工作方式:方式0,串行接口为移位寄存器I/O 方式;方式1,串行口被控制为8位的异步通信接口传送一帧信息为10位,其中1位为起始位,8位为数据位,1位停止位,波特率可变;方式2和3,则被定义为9位的异步通信接口。传送一帧信息为11位,其中1位起始位,8位数据位,1位是附加的可程控为1或0的第9位数据,1位停止位。其工作方式的选择由片内的特殊功能寄存器SCON (串行口控制寄存器的设置完成。212PC 机的RS 232C 串行接口通常,PC 机的主板会提供一个打印机输出并行端口(LPT ,两个串行口(COM1、COM2,并行口主要进行短距离的数据传送,至少需要
4、8根数据线同时进行数据的传送,因而传送速率较快。而长距离的数据传送只能采用串行口,串行口只需要一根数据线进行数据传送,传送距离较长,投资较少,但传送速率较低。RS 232C 也是人们常用的网络通信接口。此处,PC 机与单片机的通信便采用该接口。213接口电路为了能使单片机与PC 机之间通信,必须使二者遵循相同的通信协议。由于下位机的8031芯片串行口,输入输出为TT L 逻辑电平,高电平为318V 左右,低电平为013V 左右,这种以TT L 电平传送数据的方式,抗干扰性较差。而上位机的RS 232C 串行口则采用+12V 和-12V 电平方式,使0信号和1信号的电平差别增大,从而增强了抗干扰
5、性。为了解决这一矛盾,可采用一个RS 232C 电平转换器。它由发送器1488和接收器1489组成(见图1图1串行口连接电路Fig.1Connecting circuit of serial mouth3软件部分设计311上位机的通信程序设计由于PC 机的开发环境较多,如:VC +、Delphi 、VB 等等,这些较为优秀的软件开发环境为上位机的通信程序的开发提供了极大的方便。本文主要讲述如何用VB 来进行程序设计。Visul Basic 是微软公司开发的软件开发环境,利用其提供的MSC omm.ocx 专用通信控件容许通过串口发送和接收数据,再利用一个定时器控件(T imer ,可简单地实现
6、串行通信。MSC omm 控件介绍(主要属性,只有VB 企业版才提供该控件:C ommPort :设置并返回通信端口号。可取116;Settings :以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位;Input :返回并删除接收缓冲区中的数据流。01煤矿机械2002年第1期PortOpen:设置或返回通信端口的状态,也可以打开和关闭端口。Output:将字符串写入发送缓冲区。C ommEvent:返回最近的通信事件或错误。该属性在设计时不可用,在运行时是只读的。Rthreshold:设置或返回在MSC omm控件,将C ommEvent属性设置为comEvReceive并在产生OnC
7、 omm事件之前接收的字符数。Sthreshold:设置或返回在MSC omm控件,将C ommEvent属性设置为comEvSend并产生OnC omm 事件之前发送缓冲区中允许的最少字符数。OnC omm事件:当C ommEvent属性值改变时产生该事件,表明产生了通信事件或通信错误。查询与中断方式的选择:在发送和接收数据时,可选择查询和中断方式,这通过设置VB的Rthreshold和Sthreshold属性做到。Rthreshold=0时,接收数据不产生OnC omm事件,通信事件必须定时主动查询接收缓冲区以检测是否有新数据接到。Rhreshold=1或大于1时将产生OnC omm事件,
8、则为中断方式。事件驱动通信提供了对串口交互通信强有力的支持,而与之相对应的即为中断方式。程序清单:通用变量声明Dim Rec(512As Integer接收字节数组定义;Dim REcV As Integer字节存储的地址指针定义; Dim sent(As Byte发送的可变数组定义;上位机通信初始化程序:Private Sub Form Load(MSC omm1.C ommPort=1选择COM1端口MSC omm1.Settings=”4800,n,8,1”设置波特率为4800,无奇偶校验,8位数据位,1位停止位;MSC omm1.InputLen=0读取接收缓冲区的全部内容;MSC o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 PC 串行 通信 设计 解析
限制150内