论文部分内容阅读
摘要:本文提出了一种在小型集散控制系统中应用MSComm控件实现PC机与单片机的串行通信方法。这种通信方法具有投资小、硬件连接简单、软件设计简单和操作方便的特点,能够满足通讯的要求,对于工业监控系统和数据采集系统具有一定的参考价值。
关键词:集散系统 MSComm 单片机 串行通信
在工业检测控制领域中,集散控制系统的结构通常是上位机采用PC机,目的是利用PC的强大数据计算功能,下位机可以是PLC,也可以是单片机,主要进行数据采集和控制操作。上位机与下位机的通讯可以采用工业总线,也可以采用串行通信。工业总线主要用于大型的集散控制系统;对于小型集散控制系统,采用工业总线的投资过大,并且需要对单片机和PC机进行工业总线接口设计。
1 系统硬件设计
系统硬件如图1所示,由于89C52单片机的电平是TTL电平,与RS-232电平不能直接相连,所以89C52单片机与RS-232的连接通过MAX232来实现电平转换:MAX的T2in端接到89C52的TXD端,用于89C52单片机发送数据,MAX232的T2out端接到89C52的RXD端,用于89C52单片机接收数据;MAX232的R2out连接到DB-9针连接器的第3脚(SD:发送数据脚),R2in连接到DB-9针连接器的第2脚(RD:接收数据脚)。
2 串行通讯协议说明
计算机采用查询发送、中断接收的通讯方式。单片机采用中断接收、发送的通讯方式。
PC机向单片机发送的数据以数据串的形式给出。为了可靠,地址和命令连续发送两遍。下位的单片机处于中断接收状态,当接收到地址时与自己的地址进行比较,如果与自己的地址相同,就接收控制命令和数据。单片机根据接收到的命令和数据进行操作:或进行控制操作,或进行数据发送。
PC机中可以在工程中添加MSComm控件,然后进行相应的属性设置(波特率、奇偶校检、停止位、发送与接收的触发方式、发送数据的类型等)就可以用它来实现串行通信。为了完成PC机和单片机之间的串行通信,要求PC机串行通信的数据帧格式和波特率应该与单片机串行口的数据帧格式和波特率一致。
MSComm控件和单片机的串行口的设置如下。
MSComm控件的设置为:数据帧的格式为8位数据位,1位停止位,波特率为9600,数据采用ASCII码。
单片机的串行口设置为:数据帧格式为8位数据位,1位停止位,波特率为9600,无奇偶校检,串行口设定为方式2工作方式,中断方式。
3 计算机通讯程序设计
①使用MFC AppWizard(exe)建立一个基于对话框的程序。
②添加ActiveX控件中的MSComm控件。设置控件的属性:9600,n,8,1,;Rthreshoid=1;其它按缺省值。
③编写通讯程序:PC机的串行口通信程序可以用VB来编写,可以用VC来编写,还可以用其它语言来编写。
4 单片机通讯设计
单片机处于中断接收状态,检测接受到的地址是否与自己的地址,如果不是自己的地址,则继续处于等待接收状态;如果是,则检测接受的命令是请求发送数据命令还是控制命令,如果是请求发送数据命令,则向PC机发送采集来的数据,发送完数据返回到等待接收状态;如果是控制命令,则进行相应的控制操作,操作结束返回到等待接收状态。
5 结论
应用MSComm控件在小型集散控制系统中实现PC机与单片机的串行通信方法。具有投资小、硬件连接简单、软件设计简单和操作方便的特点,经在煤矿井下人员定位系统中应用,效果良好,能够满足串行通信的要求。
参考文献:
[1]赵波,李博.MSComm控件在仪器设备串行通信中的应用[A].江苏省计量测试学术论文集(2010)[C].2010.
[2]王丽,雷秀,余建国.基于PC机与单片机AT89C52的串行通信协议设计[J].机电工程技术,2006(02).
[3]宋兵跃,吴军辉,黄斌.单片机的高效串行通信研究[J].单片机与嵌入式系统应用,2010(01).
作者简介:陈启友(1958-),男,山东淄博人,工程师,现从事煤矿工程开采与管理工作。
关键词:集散系统 MSComm 单片机 串行通信
在工业检测控制领域中,集散控制系统的结构通常是上位机采用PC机,目的是利用PC的强大数据计算功能,下位机可以是PLC,也可以是单片机,主要进行数据采集和控制操作。上位机与下位机的通讯可以采用工业总线,也可以采用串行通信。工业总线主要用于大型的集散控制系统;对于小型集散控制系统,采用工业总线的投资过大,并且需要对单片机和PC机进行工业总线接口设计。
1 系统硬件设计
系统硬件如图1所示,由于89C52单片机的电平是TTL电平,与RS-232电平不能直接相连,所以89C52单片机与RS-232的连接通过MAX232来实现电平转换:MAX的T2in端接到89C52的TXD端,用于89C52单片机发送数据,MAX232的T2out端接到89C52的RXD端,用于89C52单片机接收数据;MAX232的R2out连接到DB-9针连接器的第3脚(SD:发送数据脚),R2in连接到DB-9针连接器的第2脚(RD:接收数据脚)。
2 串行通讯协议说明
计算机采用查询发送、中断接收的通讯方式。单片机采用中断接收、发送的通讯方式。
PC机向单片机发送的数据以数据串的形式给出。为了可靠,地址和命令连续发送两遍。下位的单片机处于中断接收状态,当接收到地址时与自己的地址进行比较,如果与自己的地址相同,就接收控制命令和数据。单片机根据接收到的命令和数据进行操作:或进行控制操作,或进行数据发送。
PC机中可以在工程中添加MSComm控件,然后进行相应的属性设置(波特率、奇偶校检、停止位、发送与接收的触发方式、发送数据的类型等)就可以用它来实现串行通信。为了完成PC机和单片机之间的串行通信,要求PC机串行通信的数据帧格式和波特率应该与单片机串行口的数据帧格式和波特率一致。
MSComm控件和单片机的串行口的设置如下。
MSComm控件的设置为:数据帧的格式为8位数据位,1位停止位,波特率为9600,数据采用ASCII码。
单片机的串行口设置为:数据帧格式为8位数据位,1位停止位,波特率为9600,无奇偶校检,串行口设定为方式2工作方式,中断方式。
3 计算机通讯程序设计
①使用MFC AppWizard(exe)建立一个基于对话框的程序。
②添加ActiveX控件中的MSComm控件。设置控件的属性:9600,n,8,1,;Rthreshoid=1;其它按缺省值。
③编写通讯程序:PC机的串行口通信程序可以用VB来编写,可以用VC来编写,还可以用其它语言来编写。
4 单片机通讯设计
单片机处于中断接收状态,检测接受到的地址是否与自己的地址,如果不是自己的地址,则继续处于等待接收状态;如果是,则检测接受的命令是请求发送数据命令还是控制命令,如果是请求发送数据命令,则向PC机发送采集来的数据,发送完数据返回到等待接收状态;如果是控制命令,则进行相应的控制操作,操作结束返回到等待接收状态。
5 结论
应用MSComm控件在小型集散控制系统中实现PC机与单片机的串行通信方法。具有投资小、硬件连接简单、软件设计简单和操作方便的特点,经在煤矿井下人员定位系统中应用,效果良好,能够满足串行通信的要求。
参考文献:
[1]赵波,李博.MSComm控件在仪器设备串行通信中的应用[A].江苏省计量测试学术论文集(2010)[C].2010.
[2]王丽,雷秀,余建国.基于PC机与单片机AT89C52的串行通信协议设计[J].机电工程技术,2006(02).
[3]宋兵跃,吴军辉,黄斌.单片机的高效串行通信研究[J].单片机与嵌入式系统应用,2010(01).
作者简介:陈启友(1958-),男,山东淄博人,工程师,现从事煤矿工程开采与管理工作。