当前位置:首页 > 单片机 > 单片机
[导读]介绍基于PC机和单片机温度测控系统的设计方案。上位PC机利用VB 6.O中的MSComm通信控件发送控制命令和接收数据与处理,用户界面友好。下位AT89S51单片机进行实时数据的采样并发送给上位机,用汇编语言编写程序。现场通信试验表明,该系统通信可靠,对提高工控领域的自动化水平有积极作用。

0 引言
    在现代测控系统中,由于PC机具有强大的数据处理能力和良好的用户交互界面,单片机具有较强的现场抗干扰能力及良好的性价比,因此以PC机为上位机实施用户控制和以单片机为下位机进行实时数据采集的分布式智能化控制系统无疑具有很好的应用前景。本文中单片机实现了温度检测,具有较好的实时性;PC机完成了数据显示、存储及统计分析,绘制了实时温度曲线,并对系统目前所处状况做出了评判。两者之间以串行口进行通信联络。

l 数据采集系统的硬件基础
    该系统的下位机选择Atreel公司的AT89S51单片机作为控制核心,负责采集现场温度值。温度传感器将温度转换为电压信号,经模/数转换器ADC0809转换成8位数字量,并经AT89S51的P1口进入单片机保存。上位PC机通过串行口与下位机联络,向下位机发送控制命令和接收下位机上传的数据以及进行人机交互。上位机采用VB 6.0进行人机交互界面设计,并利用其MSComm控件实现与下位机简单而高效的串行通信。充分发挥了单片机在实时数据采集和PC机对图形处理、显示以及数据库管理上的优点。使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而是形成了以网络为核心的分布式多点系统的发展趋势。由于上下位机串行口工作电平不一致,它们之间通过MAX232芯片将单片机TTL电平转换为RS 232电平,构成如图1所示的系统结构框图。



2 VB环境下串行通信的实现方法
    VB可视化界面的设计风格具有简单、易学、高效的特点,已成为众多开发人员采用的工具,且被广泛应用到各个领域。VB的MSComm通信控件,只需用户编写少量的程序代码即可完成通信软件的开发过程。
2.1 MSComm控件简介
    MSComm控件是Microsoft公司提供的串行通信ActiveX控件,MSComm控件通过串行口发送和接收数据,为应用程序提供串行通信功能。MS-Comm通信控件的主要属性如下:
    (1)CommPort属性用于设置或返回通信连接端口。在设计时,CommPort属性值可以设置成从1~16的任何数(缺省值为1)。
    (2)Settings属性用于设置初始化参数。以字符串的形式设置或返回联机速率、奇偶校验、数据位、停止位等4个参数。其格式为:“BBBB,P,D,S”。其中,BBBB表示联机速率;P表示奇偶校验位检查方式;D表示数据位数;S表示停止位数。该系统设其为“9600,N,8,l”。
    (3)Portopen属性用于设置或返回通信串口的状态(开或关)。Portopen属性为Boolean类型,当值为True时,表示打开串口;当值为False时,表示关闭串口,并清空接收和发送缓冲区。
    (4)Input属性用于从接收缓冲区读取数据。
    (5)Output属性用于向发送缓冲区写入数据。
    (6)InputMode属性用于读取或设置从接收缓冲区读取数据的格式,当InputMode=O时,数据以文字形式读取;当InputMode=1时,数据以二进制形式读取。
2.2 上位机程序设计
    上位机主要负责发送控制命令,以及数据的接收、处理、计算、数据的显示等功能。上位机程序分为四个部分:界面设计、程序初始化、数据通信、数据处理。程序流程如图2所示。


    主操作界面主要分为四个组成部分,如图3所示。为使界面清晰明了,用frame控件将其隔开。


    其中,温度界限部分主要用来显示用户自己设定的温度上下限;数据接收部分采用外部控件MSFlexGrid来显示已经接收过来的数据;统计计算部分用来显示对数据分析后的结果,如最大值、最小值、平均值等,最后对当前系统状况作出综合评判;温度曲线部分显示当前所有温度的变化情况,每个温度值对应曲线突出的一点,其中两条虚线内的点代表温度值在界限范围内,两条虚线外的两个点则表示该温度值超出了界限范围。
    进入主界面后,用户首先单击“开始联络”,此时上位机会向下位机发出联络信号,下位机受到预先设定的联络信号后,会将数据发送过来;然后单击“接收数据”命令,此时会在MSFlexGrid控件中按先后顺序依次显示接收到的数据;在进行数据处理之前,用户可根据自身需求进行温度界限的设定,仅单击“界限设置”命令即可实现;最后进行数据处理,单击相应命令按钮后,会在界面绘出当前温度曲线,并计算出各种统计参数。
2.3 串口通信初始化程序
    该程序主要用于对数据缓冲区以及串口部分的初始化,如串口的选择、串口的数据格式等。这部分程序的代码如下:
   
2.4 上位机通信程序
    该程序由数据发送(联络信号)和数据接收组成。两部分程序分别写在对应的命令按钮“开始联络”、“接收数据”的Click事件下。具体程序代码如下:
   

3 下位机通信软件设计
    下位机程序包括初始化部分、数据采集和接收联络信号部分、数据发送部分。
    AT89S51单片机串行通信由定时器Tl作为波特率发生器,其波特率与PC机一致。数据的传送格式为8位数据位和1位停止位。采用查询方式发送和接收数据,定时器T1设置为工作模式2,串行口设置为工作方式1。该设计将通信速率设置为9 600 b/s,SMOD=0,单片机晶振频率为11.059 2 MHz,此时定时器T1的初值应被设为:
   
3.1 接收上位机命令程序
    接收上位机命令程序:
   
3.2数据发送程序
    数据发送程序:
   

4 结语
    单片机与上位机的通信在工业控制现场的应用比较广泛,利用VB提供的通讯控件MSComm对上位机进行编程比使用API函数编程更简单灵活。本文通过具体实例分析了计算机与单片机之间的通信方法。调试结果证明,该方案切实可行,能够确保通信的稳定,具有重要的现实意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

串口作为单片机开发的一个常用的外设,应用范围非常广。大部分时候,串口需要接收处理的数据长度是不定的。那么怎么才能判断一帧数据是否结束呢,今天就以STM32单片机为例,介绍几种接收不定长数据的方法。

关键字: 单片机 串口 STM32

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭