单片机与PC机的串行通信设计_第1页
单片机与PC机的串行通信设计_第2页
单片机与PC机的串行通信设计_第3页
单片机与PC机的串行通信设计_第4页
单片机与PC机的串行通信设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文章编号:100320794(20020120010203单片机与PC 机的串行通信设计李德玉,李兵,段雄(中国矿业大学机电工程学院,江苏徐州221008摘要:主要讲述在工业控制现场,如何实现单片机与PC 机之间的数据传送。在分析硬件接口连接的基础上,详细探讨了如何利用VB 来开发串行通信程序。关键词:串行通信;MCS 51;Visual Basic ;编程;RS 232C 中图号:TP36811文献标识码:A1前言现代的工业控制现场,常常采用分布式控制系统。分布式控制系统主要由上位机和下位机组成,下位机采用运行性能较为可靠的单片机(如MCS 51系列,直接对所控制的系统进行实时数据的采集、抽

2、样、平滑、发送和接收、控制;而上位机则多采用PC 机(如Pentium 系列,主要负责对各单片机进行综合管理,以实现测控系统的自动检测与控制。随着PC 机的迅速发展,PC 机的性能越来越可靠,再加上PC 机应用程序的友好性及易开发性,使得PC 在工业控制现场得到了广泛应用。单片机收集到信息后发送给PC 机,PC 机处理后再发出相应的指令给单片机,控制外围电路工作。这就涉及到一个单片机与PC 机间的串行通信的问题。以下以MCS 51系列中 的8031芯片如何与Pentium MMX 机进行通信加以阐述。2硬件部分设计2118031芯片的串行口8031芯片内有一个全双工的串行口,它有4种工作方式:

3、方式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,并行口主要进行短距离的数据传送,至少需要8根数据线同时进行数据的传送,因而传送速率较快

4、。而长距离的数据传送只能采用串行口,串行口只需要一根数据线进行数据传送,传送距离较长,投资较少,但传送速率较低。RS 232C 也是人们常用的网络通信接口。此处,PC 机与单片机的通信便采用该接口。213接口电路为了能使单片机与PC 机之间通信,必须使二者遵循相同的通信协议。由于下位机的8031芯片串行口,输入输出为TT L 逻辑电平,高电平为318V 左右,低电平为013V 左右,这种以TT L 电平传送数据的方式,抗干扰性较差。而上位机的RS 232C 串行口则采用+12V 和-12V 电平方式,使0信号和1信号的电平差别增大,从而增强了抗干扰性。为了解决这一矛盾,可采用一个RS 232C

5、 电平转换器。它由发送器1488和接收器1489组成(见图1。图1串行口连接电路Fig.1Connecting circuit of serial mouth3软件部分设计311上位机的通信程序设计由于PC 机的开发环境较多,如:VC +、Delphi 、VB 等等,这些较为优秀的软件开发环境为上位机的通信程序的开发提供了极大的方便。本文主要讲述如何用VB 来进行程序设计。Visul Basic 是微软公司开发的软件开发环境,利用其提供的MSC omm.ocx 专用通信控件容许通过串口发送和接收数据,再利用一个定时器控件(T imer ,可简单地实现串行通信。MSC omm 控件介绍(主要属性

6、,只有VB 企业版才提供该控件:C ommPort :设置并返回通信端口号。可取116;Settings :以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位;Input :返回并删除接收缓冲区中的数据流。01煤矿机械2002年第1期PortOpen:设置或返回通信端口的状态,也可以打开和关闭端口。Output:将字符串写入发送缓冲区。C ommEvent:返回最近的通信事件或错误。该属性在设计时不可用,在运行时是只读的。Rthreshold:设置或返回在MSC omm控件,将C ommEvent属性设置为comEvReceive并在产生OnC omm事件之前接收的字符数。Sthresh

7、old:设置或返回在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 omm1.InBufferSize=1024输

9、入缓冲区长度设定为1024;MSC omm1.OutBufferSize=512输出缓冲区长度设定;MSC omm1.Sthreshold=0使用查询方式发送数据; MSC omm1.Rthreshold=1使用中断方式接收数据; MSC omm1.PortOpen=1打开通信端口1;End Sub定时器事件Private Sub T imer1T imer(T imer1.Interval=500设置时间间隔为015s;Rec(REcV=AscB(MSC omm1.Input从接收缓冲区中取一个字节并赋给数组Rec(;REcV=REcV+1地址指针加1;I f REcV>512Then

10、 REcV=0地址指针清0;T imer1.Interval=0停止定时器;End SubOnC omm(事件处理程序:Private Sub MSC omm1OnC omm(Select Case MSC omm1.C ommEventCase comEvReceive发生收到数据事件执行以下命令;MSC omm1.Rthreshold=0不准后续接收字节引起OnC omm(事件;可根据具体问题,在此处添加相应的处理程序;Case comEventBreak发生错误时执行以下命令;可根据具体问题,在此处添加相应的处理程序;End Sub发送事件Dim I As IntegerMSC omm1

11、.RTSEnable=1请求发送;ReDim sent(256重新定义数组sent(;For I=0T o255sent(I=INext IMSC omm1.Output=sent数组数据装入发送缓冲区启动发送;MSC omm1.RTSEnable=False发送完毕,撤消请求发送信号;312下位机通信程序设计对于单片机的通信程序,可能采用汇编语言进行编写,由于这部分的程序设计已经相当成熟,在此不再进行详细的阐述。在所提供的参考文献2中,已列出了详细的程序清单,在处理具体的实际问题时,读者可进行查阅、引用,而无需重复编程。参考文献:1徐淑华,等1单片微型机原理及应用M1哈尔滨:哈尔滨工业大学出

12、版社,1994,612MCS51系列单片机通信工具程序J1电脑开发与应用,1992,(11:4413美国微软公司1VB610控件参考手册M1北京:北京希望电子出版社,19991作者简介:李德玉,1976年生,现在中国矿业大学机电工程学院攻读硕士学位,主要从事流体机械方面的研究工作。收稿日期:2001210216112002年第1期煤矿机械文章编号:100320794(20020120012202扩张式自激超越弹簧离合器强度可靠性优化设计潘承怡(哈尔滨理工大学,黑龙江哈尔滨150080摘要:以强度可靠度为约束,对扩张式自激超越弹簧离合器进行了优化设计,在满足强度可靠度的同时,采用计算机可迅速求得

13、一组最佳结构参数。关键词:离合器;自激;超越;可靠性;优化设计中图号:TH13314文献标识码:A1引言扩张式自激超越弹簧离合器(以下简称离合器结构简单、重量轻、弹性好、操纵方便,高速条件下接 合平稳,适于具有自动挂合、自动脱开的机械传动。文献1对离合器的结构原理进行了理论分析。由于离合器弹簧所受应力及其强度均呈一定分布状态,且具有很大变异性,如采用常规设计法显然比较粗糙;而只采用可靠性设计虽然比较接近工程实际,但又不能取得最佳结构参数。为此提出对离合器进行强度可靠性优化设计,使设计的离合器在满足强度可靠性指标的同时,取得一组最佳结构参数。2离合器弹簧受载情况与应力和强度分布离合器结构如图1所

14、示,主要结构参数为弹簧丝直径d 、弹簧中径D 、弹簧与主动壳体和被动壳体的接触圈数为N 。工作时,主动轴1通过键2带动主动壳体3连着弹簧旋向旋转,使弹簧圈扩张扭开,与两壳体胀紧接触,离合器自动接合,此时弹簧丝所受应力为压应力。由文献2知,弹簧丝所受应力及强度均为正态分布,其强度可靠度的确定应按正态分布进行计算。为了求得最佳结构参数,故采用强度可靠性优化设计。3建立数学模型311建立目标函数离合器的体积或重量取决于弹簧的主要结构参数,为使离合器的重量最轻,取设计变量X =x 1,x 2,x 3T=d ,D ,N T,建立如下目标函数基金项目:机械工业部教育司科技基金项目(98250612min

15、F (X =4d 2(D (2N =22x 21x 2x 3(1式中弹簧丝材料的比重。图1扩张式自激超越弹簧离合器结构简图Fig.1Schematic diagram of structure for self-energizingoverrunning spring clutch11主动轴21键31主动壳体41弹簧51密封圈61被动壳体71被动轴312建立约束条件(1强度可靠度约束条件由文献1得,弹簧丝所受压应力的数学期望s =4(D/d -14(D/d -432T (e 2Nf -1d3+8Td 2D (2式中T 离合器所传递的扭矩;f 弹簧与两壳体间的摩擦系数。为了计算弹簧的可靠度,首先

16、需求出可靠度系数Z R =c -n s2c+2s(3式中c 弹簧丝承载能力的数学期望;c 弹簧丝承载能力均方差;s 弹簧丝所受压应力均方差;n 强度储备系数,一般取n =1111125。Serial communication design bet w een SCM and PCL I De-yu ,L I Bing ,D UAN Xiong(Mechanical and Electronic Engineering C ollege of China University of Mining &Technology ,Xuzhou 221008,China Abstract :The paper mainly presents how to realize the data transfer between SCM an

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论