基于vb6.0与51单片机的温度采集与监控系统设计
2017-09-03于兰浩董汉政吴国良
于兰浩 董汉政 王 贺 吴国良
(山东科技大学机械电子工程学院 山东 青岛 266590)
基于vb6.0与51单片机的温度采集与监控系统设计
于兰浩 董汉政 王 贺 吴国良
(山东科技大学机械电子工程学院 山东 青岛 266590)
引言
在现代信号采集与监控系统中,单片机因具有信号采集方便、操作灵活、成本低等优点,广泛运用于温度等信号的采集中,而其缺点为单片机的人机交互界面较弱,我们并不能直观地看到采集到的诸如温度液位等信号,尤其是当需要采集多路信号并显示时,用数码管来显示比较繁琐。而pc机的人机交互界面已发展的很强大了,vb6.0运行于Windows操作系统下,是一种面向对象的程序设计语言,提供可视化的编程工具,向程序设计人员提供了丰富的图形对象(窗体、控件、菜单)进行应用程序的界面设计,这就使得其人机交互功能非常强大,弥补了单片机显示界面不足的缺点。因此我们用单片机采集数据,用pc机显示数据,实现温度采集与监控系统设计。本文主要进行的工作有:用DS18B20数字式温度传感器采集蔬菜大棚温度,将STC89C52单片机采集到的温度送到vb6.0中显示,单片机程序设计,用vb6.0设计pc机温度显示界面编程。
一、器件选型以及硬件电路设计
(一)传感器选型及温度采集电路
根据传感器工作的环境以及测量温度范围,我们选择美国DALLAS半导体公司的数字式温度传感器DS18B20,所谓数字式传感器意思是无需经过A/D转化而直接将采集到的温度转换为数字量,输送到单片机的I/O端口,以数字码的方式串行输出,从而简化了单片机与传感器的接口。DS18B20的性能参数为:电压范围在3到5.5V,测温范围为-55°到+125°。传感器与单片机连接:传感器GND端接地,VCC端接5V电源,并且串4.7kΩ电阻,DQ端与VCC并起来接到P2.6口即可。接口电路如图1:
(二)串口通信电路
pc机上的串口是RS232口,其电平特性:逻辑1为-3V到-15V,逻辑0为3V到15V。而单片机的串口为TTL电平,逻辑1位5V,逻辑0为0V,因两者电平不同故不能直接通信,需要用MAX232芯片进行电平转换,转换电路图如图2:
图1 图2
二、单片机C语言编程及注解
连接好电路后我们就可编程了,论文的主要工作在于单片机编程与vb6.0上位机界面编程,c语言程序如下。
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit ds=P2^6;//温度传感器信号线
sbit motor=P2^3;//温度过低时开启电机加热
uint temp;//定义整形温度变量
float f_temp;//定义浮点型温度变量
uint lowtepm=250;//温度下限值,乘以10后结果
void delay(uint z)//延时函数
{uintx,y;for(x=z;x>0;x——)for(y=110;y>0;y——);}
viod dsrest(void)//DS18B20复位,初始化函数
{uint i;ds=0;i=103;
while(i>0)i——;
ds=1;i=4;
while(i>0)i——;}
void tempchange(void)//DS18B20开始获取温度并转换
{derest();
delay(1);tempwritebyte(0xcc);tempwrite(0xbe);
a=tempread();b=tempread();temp<<=8;temp=temp|a;//读低8位,读高8位,
f_temp=temp*0.0625;temp=f_temp*10+0.5;//分辨率0.0625
return temp;}
void deal(uint t)//温度低于25°启动电机
{if(t void init_com()//串口初始化 {TMOD=0X20;PCON=0X00;SCON=0X50;TH1=0XFD;TL1=0XFD;TR1=1;} void comm(char*parr)//串口发送函数 {do{sbuf=*parr++;while(!TI);TI=0;}while(*parr)}} void main()//主函数 {uchar buff[4],i;init_com(); while(1){tempchange();deal(temp);sprintf(buff,“%f”,f_temp);comm(buff;}}//调用分块函数 vb左侧工具栏常用控件有:文本框,标签,按钮,定时器,列表框等,将需要的控件双击放到窗体中,运行界面如图3所示,vb程序设计及注解如图4所示。 图3 图4 该设计已用于蔬菜大棚温度采集与检测现场,效果显著,提高了蔬菜产量。将接口电路改变以及改动程序中参数,可以应用于其他信号的采集。 [1]郭天祥,《51单片机C语言教程》,北京,电子电工出版社,2009 [2]秦曾煌,姜三勇,《电工学》,北京,高等教育出版社,2005 于兰浩(1993-),男,山东科技大学机械电子工程学院,在读硕士研究生。三、vb上位机界面开发及编程
四、结束语