单片机与PC机的串行通信设计解析

:100320794(20020120010203单片机与PC机的串行通信设计李德玉,李兵,段雄(中国矿业大学机电工程学院,江苏徐州221008摘要:主要讲述在工业控制现场,如何实现单片机与PC机之间的数据传送。在分析硬件接口连接的基础上,详细探讨了如何利用VB来开发串行通信程序。关键词:串行通信;MCS—51;VisualBasic;编程;RS—232C中图号:TP36811文献标识码:A1前言现代的工业控制现场,常常采用分布式控制系统。分布式控制系统主要由上位机和下位机组成,下位机采用运行性能较为可靠的单片机(如MCS—51系列,直接对所控制的系统进行实时数据的采集、抽样、平滑、发送和接收、控制;而上位机则多采用PC机(如Pentium系列,主要负责对各单片机进行综合管理,以实现测控系统的自动检测与控制。随着PC机的迅速发展,PC机的性能越来越可靠,再加上PC机应用程序的友好性及易开发性,使得PC在工业控制现场得到了广泛应用。单片机收集到信息后发送给PC机,PC机处理后再发出相应的指令给单片机,控制外围电路工作。这就涉及到一个单片机与PC机间的串行通信的问题。以下以MCS—51系列中的8031芯片如何与PentiumMMX机进行通信加以阐述。2硬件部分设计2118031芯片的串行口8031芯片内有一个全双工的串行口,它有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,并行口主要进行短距离的数据传送,至少需要8根数据线同时进行数据的传送,因而传送速率较快。而长距离的数据传送只能采用串行口,串行口只需要一根数据线进行数据传送,传送距离较长,投资较少,但传送速率较低。RS—232C也是人们常用的网络通信接口。此处,PC机与单片机的通信便采用该接口。213接口电路为了能使单片机与PC机之间通信,必须使二者遵循相同的通信协议。由于下位机的8031芯片串行口,输入输出为TTL逻辑电平,高电平为318V左右,低电平为013V左右,这种以TTL电平传送数据的方式,抗干扰性较差。而上位机的RS—232C串行口则采用+12V和-12V电平方式,使0信号和1信号的电平差别增大,从而增强了抗干扰性。为了解决这一矛盾,可采用一个RS—232C电平转换器。它由发送器1488和接收器1489组成(见图1。图1串行口连接电路Fig.1Connectingcircuitofserialmouth3软件部分设计311上位机的通信程序设计由于PC机的开发环境较多,如:VC++、Delphi、VB等等,这些较为优秀的软件开发环境为上位机的通信程序的开发提供了极大的方便。本文主要讲述如何用VB来进行程序设计。VisulBasic是微软公司开发的软件开发环境,利用其提供的MSComm.ocx专用通信控件容许通过串口发送和接收数据,再利用一个定时器控件(Timer,可简单地实现串行通信。MSComm控件介绍(主要属性,只有VB企业版才提供该控件:CommPort:设置并返回通信端口号。可取1~16;Settings:以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位;Input:返回并删除接收缓冲区中的数据流。・01・煤矿机械2002年第1期PortOpen:设置或返回通信端口的状态,也可以打开和关闭端口。Output:将字符串写入发送缓冲区。CommEvent:返回最近的通信事件或错误。该属性在设计时不可用,在运行时是只读的。Rthreshold:设置或返回在MSComm控件,将CommEvent属性设置为comEvReceive并在产生OnComm事件之前接收的字符数。Sthreshold:设置或返回在MSComm控件,将CommEvent属性设置为comEvSend并产生OnComm事件之前发送缓冲区中允许的最少字符数。OnComm事件:当CommEvent属性值改变时产生该事件,表明产生了通信事件或通信错误。查询与中断方式的选择:在发送和接收数据时,可选择查询和中断方式,这通过设置VB的Rthreshold和Sthreshold属性做到。Rthreshold=0时,接收数据不产生OnComm事件,通信事件必须定时主动查询接收缓冲区以检测是否有新数...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?