当前位置:首页 > 单片机 > 单片机
[导读]介绍基于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函数编程更简单灵活。本文通过具体实例分析了计算机与单片机之间的通信方法。调试结果证明,该方案切实可行,能够确保通信的稳定,具有重要的现实意义。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭