




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电气与控制工程学院综合实验题目:基于 labview 的环境参数检测系统院(系):电气与控制工程学院专业班级:姓名:学号:指导教师:摘 要本文主要描述了利用 pc机与 stc89c52 单片机之间的通信程序设计实现对环境参数的检测。由传感器采集温度,湿度,光照强度三路信号,将信号发送给上位机用 labview 进行显示,单片机程序用c 语言编写,同时拥有液晶显示功能,实现上位机与下位机同步显示三路环境参数信号。关键词:单片机stc89c52 ,温湿度采集,光照强度采集,labveiw上位机,lcd1602 显示目录1.概述 .12.总体方案设计 .12.1 系统总体方案设计 .12.2 主控芯
2、片的选择 .22.3 温湿度传感器的选择 .22.4 光照传感器的选择 .23. 硬件设计 .33.1 单片机最小系统 .33.2 按键模块 .43.3 温湿度采集模块 .43.4 光照采集模块 .54. 软件设计 .64.1 主程序 .64.2 参数采集子程序 .64.3 上位机设计 .64.4 通信模块设计 .75. 系统调试 .86. 心得体会 .97.参考文献 .9附录一 原理图 . 10附录二 程序清单 . 10基于 labview 的环境参数检测系统1.概述温湿度测量,光照强度测量是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。随着传感器在生产
3、和生活中的更加广泛的应用,在生产中,温湿度,光照强度的高低对产品的质量影响很大。因此,能够确保快速、 准确地测量环境参数的技术及其装置普遍受到各国的重视。近年来 ,利用智能化数字式传感器以实现环境参数的在线检测已成为温湿度,光照强度检测技术的一种发展趋势。本课题以单片机为核心, 用智能集成温温度传感器dht11 主要实现环境温度、湿度的检测,光照传感器bh1750 实现对环境光照强度的检测。将温度湿度及光照强度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机进行数据的分析和处理, 在 lcd1602 液晶屏上显示当前温湿度。 用按键控制切换对温度、 湿度及光照强度的显示, 将信号发送
4、给 pc 上位机,利用 labview显示。2.总体方案设计2.1 系统总体方案设计本系统以 52 单片机为控制核心,来对各个模块进行控制,总体方案设计如图 1 所设。图 1 总体方案图从图 1 可知,本系统的各个模块均由52 单片机来控制,用智能集成温温度传感器 dht11 主要实现温度、 湿度的检测, 用环境光照传感器bh1750 实现光照强度的检测, 将温度、湿度、光照强度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机stc89c52 进行数据的分析和处理,并在lcd1602上显示,并通过按键进行切换显示环境温度、湿度及光照强度。通过rs232 将信号传到上位机用labvie
5、w 进行显示。2.2 主控芯片的选择方案一:使用 arm 控制器方案二:使用 stc89c52 单片机本系统采集的参数均为数字量, 即只需要高低电平,考虑到经济性和统一性,最终选择使用 stc89c52 单片机。2.3 温湿度传感器的选择dht11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。实物如图2 所示。原理图如图3 所示。图 2 dht11 温湿度传感器图 3 dht11 温湿度传感器原理图传感器包括一个电阻式感湿元件和一个ntc 测温元件,并与一个高性能8位单片机相连接。因此
6、该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个 dht11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在otp 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20 米以上。产品为4 针单排引脚封装,连接方便。2.4 光照传感器的选择bh1750 环境光照传感器内置16 位的模数转换器,它能够直接输出一个数字信号,不需要再做复杂的计算。 这是一种更精良的和容易使用简易电阻器的版本,通过计算电压 ,来获得有效的数据。这款环境光传感器能够直接通过光度计来测量。光强
7、度的单位是流明lx 。当物体在均匀的光照下它能够在每平方米获得 1lx 的光通量,它们的光强度是 1lx 。实物图如图 4 所示,原理图如图 5 所示。图 4 bh1750 光照传感器图 5 bh1750光照传感器原理图3.硬件设计3.1 单片机最小系统本设计选取单片机作为系统的控制器。 所谓最小系统,也称为最小应用系统,是指一个真正可用的单片机最小配置系统。选取stc89c52 为单片机,最小系统主要有复位电路和晶振电路构成,具体电路图如图6 所示。图 6 最小系统电路图由图 6 可知,单片机最小系统的时钟电路有一个用于构成振荡器的高增益反放大器,引脚 xtal1 和 xtal2 分别是反相
8、放大器的输入端和输出端。通常,经由片外晶体振荡器或陶瓷谐振器与两个匹配电容一起构成一个自激振荡电路。本课题由片外晶体振荡器与两个匹配电容一起构成了一个内部时钟振荡电路,为单片机提供时钟源。复位电路采用上电自动复位电路当上电时,电容通过并联的电阻迅速放电, 然后,rc电路充电, 能够保证 rst 端能够维持一段时间的高电平。3.2 按键模块按键电路是切换 lcd1602 显示界面的关键,本设计有一个按键,每按一次切换一路显示参数,按键与单片机p2.6 口相接,电路图如图7 所示。图 7 按键电路图3.3 温湿度采集模块dht11 的供电电压为 35.5v ,传感器上电后,要等待1s 以越过不稳定
9、状态在此期间无需发送任何指令。电源引脚(vdd ,gnd )之间可增加一个100nf 的电容,用以去耦滤波。数据用于微处理器与dht11 之间的通讯和同步,采用单总线数据格式 ,一次通讯时间4ms 左右,数据分小数部分和整数部分。如图 2.2 所示,本电路上拉电阻为5.1k,数据端接 p2.3(接受温湿度数据)。如图 8 所示。图 8 温度采集电路图3.4 光照采集模块bh1750 引脚有五个, 威力方便微处理器同时采集多路光照强度,bh1750设置了 addr 引脚,由于本系统只有一个光照传感器,因此 4 号引脚 addr 悬空即可。进行环境光照度采集后显示到液晶屏上,它的时钟引脚 scl
10、接 p2.4 口,数据引脚 sdl 接 p2.5 口。如图 9 所示。图 9 光照采集电路图3.5 液晶显示模块本设计采用串行, 用于显示环境的三路参数, p2.0 口接 lcd1602 的 rs 端,p2.1 口接 lcd1602 的 rw 端,p2.2 口接 lcd1602 的 en 端。如图 10 所示。图 10 显示电路图4.软件设计4.1 主程序主程序采用子程序调用的结构,单片机上电后,主程序对系统进行初始化,然后对各个模块进行调用, 这些模块主要包括: 温度、湿度、光照的采集,显示,报警,串口通信。主程序流程图如图11 所示。图 11 主程序流程图4.2 参数采集子程序本设计的环境
11、参数采集流程为: 首先进行串口配置, 在对传感器采集的数字量进行处理,将数据输出到液晶屏时显示,同时判断环境参数是否超过上下限,超限,则报警,不超限则将数据保存,如图12 所示。图 12 参数采集流程图4.3 上位机设计上位机前面板设计如图13 所示, 前面板中有三路环境参数采集的实时曲线,有当前温度显示, 以十进制进行显示, 还有数据接收去显示, 记录所有接收到的参数数据。 还有对串口资源的配置。 同时可设定三路参数上下限报警值,实现三路参数上下限报警以及历史数据报表生成。图 13 前面板设计图如图 14 所示,“0”界面进行串口资源配置,波特率设定为9600 ,数据位8 位,校验位无,停止
12、位1。图 14 程序面板串口配置原理图图 15 上位机数据处理界面如图 16 所示,以温度参数的显示为例, 首先经过属性节点, 读取下位机传送来的 visa 属性资源。图 16 温度数据显示经过 visa 读取函数, visa 读取函数是指从visa 资源名称指定的设备或接口中读取指定数量的字节,并使数据返回至读取缓冲区。如图17 所示。图 17 visa 读取函数各端口说明而后通过截取字符串函数,如图18 所示,以温度为例,从第0 位起截取 2 位字符。图 18 截取字符串函数各端口说明在经过十进制数字符串至数值转换函数,如图19 所示,使字符串中的数字字符转换为十进制整数,通过数字返回。图
13、 19 十进制数字符串至数值转换函数各端口说明将转化为数字的参数, 连接到报表显示, 示波器及仪表盘, 同时与输入的上下限进行比较,超限后报警灯闪烁。图 20 定时界面4.4 通信模块设计rs-232 是 pc 机与通信工业中应用最广泛的一种串行接口。rs-232 被定义为一种在低速率串行通信中增加通讯距离的单端标准。rs-232 采取不平衡传输方式,即所谓单端通讯。 收、发端的数据信号是相对于信号地。 典型的 rs-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5 +15v ,负电平在 -5 -15v 电平。当无数据传输时,线上为ttl,从开始传送数据到结束,线上电平
14、从ttl 电平到 rs-232 电平再返回 ttl 电平。接收器典型的工作电平在 +3 +12v 与-3 -12v 。由于发送电平与接收电平的差仅为2v至 3v 左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约 15 米,最高速率为 20kb/s 。rs-232 是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k。所以 rs-232 适合本地设备之间的通信。图 21 串口通信流程图5.系统调试系统调试调试结果如下图所示, 系统调试结果与预期要求相同, 实现了下位机对环境温度、湿度、光照强度的实时采集,液晶显示。同时也实现了上位机与下位机之间的通信,上位
15、机数据记录,数据绘图,报警功能。如图22、图 23、图 24、图 25 所示。图 22 上位机三路环境参数显示界面开始设置串口为 8位数据位设置t1为自动重装初值设置串口波特率发送数据结束开定时器 0允许接受中断定时1sny图 23 三路环境参数历史数据报表图 24 lcd1602 显示温湿度图 25 lcd1602显示光照强度6.心得体会本次设计我负责软件编程部分, 通过对本系统的研究和设计, 使我对单片机的使用有了更深一层次的理解和掌握。整个系统设计过程用到的主要硬件有stc89c52,温湿度传感器dht11 ,光照传感器 bh1750 。 通过对这些硬件的学习和了解, 不仅扩展了自己的知
16、识面,也是自己对单片机的外围电路有了进一步的学习。设计过程中我们遇到了很多问题,例如上位机与下位机进行串口通信的程序如何编写等等,都通过老师和同学的帮助以及自身学习得到了解决,也锻炼了自己独立思考问题的能力,并增强了自己的动手操作能力,这对我将来的毕业设计以及未来的学习都有很大的帮助。感谢老师们的指导和同学们的帮助。7.参考文献1 梅晓榕 ,柏桂珍 ,张卯瑞 .自动控制元件及线路 m. 北京:科学出版社 ,20072 1985 赵亮.液晶显示模块 lcd1602 应用j.电子制作 ,2007(3)3 马忠梅 ,籍顺心 ,张凯等 .单片机的 c 语言应用程序设计 m. 北京航天航空大学出版社 ,
17、20034 胡汉才 .单片机原理与接口技术m. 清华大学出版社 ,1996.5 黄贤斌 ,郑筱霞 .传感器原理与应用 m. 北京:高等教育出版社 . 成都:电子科技大学出版社 ,2004,3(2009.1重印)6 何立民 .单片机应用系统设计 m. 北京:北京航天航空出版社.1990,50-4907 刘笃仁 ,韩保君 .传感器原理及应用技术 m. 机械工业出版社 .2003,8 8 王勇等 .凌阳单片机原理及其毕业设计精选m. 科学出版社附录一 原理图图 26 电路原理图附录二 程序清单#include #include #include lcd1602.c#define uint unsig
18、ned int #define uchar unsigned charsbit trh=p23; / 1 号温湿度传感器data 数据端sbit scl=p24; /iic 时钟引脚定义sbit sda=p25; /iic 数据引脚定义sbit key1=p26; / 按键int num=0;#define slaveaddress 0 x46 / 定义器件在iic 总线中的从地址 ,根据alt address 地址引脚不同修改/alt address 引脚接地时地址为0 xa6 ,接电源时地址为 0 x3atypedef unsigned char byte;typedef unsigned
19、 short word;byte buf8; / 接收数据缓存区uchar ge,shi,bai,qian,wan; / 显示变量int dis_data; / 变量uchar th_data,tl_data;uchar rh_data,rl_data; void conversion(uint temp_data);void single_write_bh1750(uchar reg_address); / 单个写入数据uchar single_read_bh1750(uchar reg_address); / 单个读取内部寄存器数据void multiple_read_bh1750();
20、/ 连续的读取内部寄存器数据void conversion(uint temp_data) / 数据转换出个,十,百,千,万 wan=temp_data/10000+0 x30 ;temp_data=temp_data%10000; / 取余运算qian=temp_data/1000+0 x30 ;temp_data=temp_data%1000; / 取余运算bai=temp_data/100+0 x30 ;temp_data=temp_data%100; / 取余运算shi=temp_data/10+0 x30 ;temp_data=temp_data%10; / 取余运算ge=temp_
21、data+0 x30; /*起始信号*/void bh1750_start()sda = 1; / 拉高数据线scl = 1; / 拉高时钟线delay5us(); / 延时sda = 0; / 产生下降沿delay5us(); / 延时scl = 0; / 拉低时钟线/*停止信号*/void bh1750_stop()sda = 0; / 拉低数据线scl = 1; / 拉高时钟线delay5us(); / 延时sda = 1; / 产生上升沿delay5us(); / 延时/*发送应答信号入口参数 :ack (0:ack 1:nak)*/void bh1750_sendack(bit ac
22、k)sda = ack; / 写应答信号scl = 1; / 拉高时钟线delay5us(); / 延时scl = 0; / 拉低时钟线delay5us(); / 延时/*接收应答信号*/bit bh1750_recvack()scl = 1; / 拉高时钟线delay5us(); / 延时cy = sda; / 读应答信号scl = 0; / 拉低时钟线delay5us(); / 延时return cy;/*向 iic 总线发送一个字节数据*/void bh1750_sendbyte(byte dat)byte i;for (i=0; i8; i+) /8 位计数器dat = 1; / 移出
23、数据的最高位sda = cy; / 送数据口scl = 1; / 拉高时钟线delay5us(); / 延时scl = 0; / 拉低时钟线delay5us(); / 延时bh1750_recvack();/*从 iic 总线接收一个字节数据*/byte bh1750_recvbyte()byte i;byte dat = 0;sda = 1; / 使能内部上拉 ,准备读取数据 ,for (i=0; i8; i+) /8 位计数器dat = 1;scl = 1; / 拉高时钟线delay5us(); / 延时dat |= sda; / 读数据scl = 0; / 拉低时钟线delay5us()
24、; / 延时return dat;/*void single_write_bh1750(uchar reg_address)bh1750_start(); / 起始信号bh1750_sendbyte(slaveaddress); / 发送设备地址 +写信号bh1750_sendbyte(reg_address); / 内部寄存器地址,请参考中文pdf22 页bh1750_stop(); / 发送停止信号void multiple_read_bh1750(void) uchar i; bh1750_start(); / 起始信号bh1750_sendbyte(slaveaddress+1); /
25、 发送设备地址 +读信号for (i=0; i3; i+) / 连续读取 6 个地址数据,存储中 bufbufi = bh1750_recvbyte(); /buf0 存储 0 x32 地址中的数据if (i = 3)bh1750_sendack(1); / 最后一个数据需要回noackelse bh1750_sendack(0); / 回应 ackbh1750_stop(); / 停止信号delayms(5);/ 初始化 bh1750 ,根据需要请参考 pdf 进行修改 *void init_bh1750()single_write_bh1750(0 x01); /*12us级延时程序*/v
26、oid delay_us()uchar i;i-;i-;i-;i-;i-;i-; /*1号 温 湿 度 传 感 器dht11收 发 信 号 检 测 , 数 据 读 取*/uchar receive() uchar com_data;uchar respond,temp;uchar i;com_data=0;for(i=0; i8; i+) respond=2;while(!trh)&respond+);delay_us(); / 这 3 个大概延时 40usdelay_us();delay_us();if(trh)temp=1;respond=2;while(trh)&resp
27、ond+); else temp=0;com_data=1;com_data|=temp; return(com_data); uchar ck_data;void read_trh() uchar th_temp,tl_temp,rh_temp,rl_temp,ck_temp,untemp;uchar respond;/ 主机拉低 18ms trh=0;delayms(18);trh=1;/data 总线由上拉电阻拉高主机延时 50us 左右delay_us();delay_us();delay_us();delay_us(); if(!trh) respond=2;while(!trh)&
28、amp; respond+);respond=2;/ 等待 dht11 发出 80us 的高电平结束,然后进入接收状态while(trh & respond+);/ 数据接收状态rh_temp = receive(); 电气与控制工程学院综合实验题目:基于 labview 的环境参数检测系统院(系):电气与控制工程学院专业班级:姓名:学号:指导教师:摘 要本文主要描述了利用 pc机与 stc89c52 单片机之间的通信程序设计实现对环境参数的检测。由传感器采集温度,湿度,光照强度三路信号,将信号发送给上位机用 labview 进行显示,单片机程序用c 语言编写,同时拥有液晶显示功能,实
29、现上位机与下位机同步显示三路环境参数信号。关键词:单片机stc89c52 ,温湿度采集,光照强度采集,labveiw上位机,lcd1602 显示目录1.概述 .12.总体方案设计 .12.1 系统总体方案设计 .12.2 主控芯片的选择 .22.3 温湿度传感器的选择 .22.4 光照传感器的选择 .23. 硬件设计 .33.1 单片机最小系统 .33.2 按键模块 .43.3 温湿度采集模块 .43.4 光照采集模块 .54. 软件设计 .64.1 主程序 .64.2 参数采集子程序 .64.3 上位机设计 .64.4 通信模块设计 .75. 系统调试 .86. 心得体会 .97.参考文献
30、.9附录一 原理图 . 10附录二 程序清单 . 10基于 labview 的环境参数检测系统1.概述温湿度测量,光照强度测量是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。随着传感器在生产和生活中的更加广泛的应用,在生产中,温湿度,光照强度的高低对产品的质量影响很大。因此,能够确保快速、 准确地测量环境参数的技术及其装置普遍受到各国的重视。近年来 ,利用智能化数字式传感器以实现环境参数的在线检测已成为温湿度,光照强度检测技术的一种发展趋势。本课题以单片机为核心, 用智能集成温温度传感器dht11 主要实现环境温度、湿度的检测,光照传感器bh1750 实现
31、对环境光照强度的检测。将温度湿度及光照强度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机进行数据的分析和处理, 在 lcd1602 液晶屏上显示当前温湿度。 用按键控制切换对温度、 湿度及光照强度的显示, 将信号发送给 pc 上位机,利用 labview显示。2.总体方案设计2.1 系统总体方案设计本系统以 52 单片机为控制核心,来对各个模块进行控制,总体方案设计如图 1 所设。图 1 总体方案图从图 1 可知,本系统的各个模块均由52 单片机来控制,用智能集成温温度传感器 dht11 主要实现温度、 湿度的检测, 用环境光照传感器bh1750 实现光照强度的检测, 将温度、湿度
32、、光照强度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机stc89c52 进行数据的分析和处理,并在lcd1602上显示,并通过按键进行切换显示环境温度、湿度及光照强度。通过rs232 将信号传到上位机用labview 进行显示。2.2 主控芯片的选择方案一:使用 arm 控制器方案二:使用 stc89c52 单片机本系统采集的参数均为数字量, 即只需要高低电平,考虑到经济性和统一性,最终选择使用 stc89c52 单片机。2.3 温湿度传感器的选择dht11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有
33、极高的可靠性与卓越的长期稳定性。实物如图2 所示。原理图如图3 所示。图 2 dht11 温湿度传感器图 3 dht11 温湿度传感器原理图传感器包括一个电阻式感湿元件和一个ntc 测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个 dht11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在otp 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20 米以上。产品为4 针单排引脚封装,连接方便。2.4 光照传感器的选择b
34、h1750 环境光照传感器内置16 位的模数转换器,它能够直接输出一个数字信号,不需要再做复杂的计算。 这是一种更精良的和容易使用简易电阻器的版本,通过计算电压 ,来获得有效的数据。这款环境光传感器能够直接通过光度计来测量。光强度的单位是流明lx 。当物体在均匀的光照下它能够在每平方米获得 1lx 的光通量,它们的光强度是 1lx 。实物图如图 4 所示,原理图如图 5 所示。图 4 bh1750 光照传感器图 5 bh1750光照传感器原理图7.硬件设计3.1 单片机最小系统本设计选取单片机作为系统的控制器。 所谓最小系统,也称为最小应用系统,是指一个真正可用的单片机最小配置系统。选取stc
35、89c52 为单片机,最小系统主要有复位电路和晶振电路构成,具体电路图如图6 所示。图 6 最小系统电路图由图 6 可知,单片机最小系统的时钟电路有一个用于构成振荡器的高增益反放大器,引脚 xtal1 和 xtal2 分别是反相放大器的输入端和输出端。通常,经由片外晶体振荡器或陶瓷谐振器与两个匹配电容一起构成一个自激振荡电路。本课题由片外晶体振荡器与两个匹配电容一起构成了一个内部时钟振荡电路,为单片机提供时钟源。复位电路采用上电自动复位电路当上电时,电容通过并联的电阻迅速放电, 然后,rc电路充电, 能够保证 rst 端能够维持一段时间的高电平。3.2 按键模块按键电路是切换 lcd1602
36、显示界面的关键,本设计有一个按键,每按一次切换一路显示参数,按键与单片机p2.6 口相接,电路图如图7 所示。图 7 按键电路图3.3 温湿度采集模块dht11 的供电电压为 35.5v ,传感器上电后,要等待1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(vdd ,gnd )之间可增加一个100nf 的电容,用以去耦滤波。数据用于微处理器与dht11 之间的通讯和同步,采用单总线数据格式 ,一次通讯时间4ms 左右,数据分小数部分和整数部分。如图 2.2 所示,本电路上拉电阻为5.1k,数据端接 p2.3(接受温湿度数据)。如图 8 所示。图 8 温度采集电路图3.4 光照采集模块
37、bh1750 引脚有五个, 威力方便微处理器同时采集多路光照强度,bh1750设置了 addr 引脚,由于本系统只有一个光照传感器,因此 4 号引脚 addr 悬空即可。进行环境光照度采集后显示到液晶屏上,它的时钟引脚 scl 接 p2.4 口,数据引脚 sdl 接 p2.5 口。如图 9 所示。图 9 光照采集电路图3.5 液晶显示模块本设计采用串行, 用于显示环境的三路参数, p2.0 口接 lcd1602 的 rs 端,p2.1 口接 lcd1602 的 rw 端,p2.2 口接 lcd1602 的 en 端。如图 10 所示。图 10 显示电路图8.软件设计4.1 主程序主程序采用子程
38、序调用的结构,单片机上电后,主程序对系统进行初始化,然后对各个模块进行调用, 这些模块主要包括: 温度、湿度、光照的采集,显示,报警,串口通信。主程序流程图如图11 所示。图 11 主程序流程图4.2 参数采集子程序本设计的环境参数采集流程为: 首先进行串口配置, 在对传感器采集的数字量进行处理,将数据输出到液晶屏时显示,同时判断环境参数是否超过上下限,超限,则报警,不超限则将数据保存,如图12 所示。图 12 参数采集流程图4.3 上位机设计上位机前面板设计如图13 所示, 前面板中有三路环境参数采集的实时曲线,有当前温度显示, 以十进制进行显示, 还有数据接收去显示, 记录所有接收到的参数
39、数据。 还有对串口资源的配置。 同时可设定三路参数上下限报警值,实现三路参数上下限报警以及历史数据报表生成。图 13 前面板设计图如图 14 所示,“0”界面进行串口资源配置,波特率设定为9600 ,数据位8 位,校验位无,停止位1。图 14 程序面板串口配置原理图图 15 上位机数据处理界面如图 16 所示,以温度参数的显示为例, 首先经过属性节点, 读取下位机传送来的 visa 属性资源。图 16 温度数据显示经过 visa 读取函数, visa 读取函数是指从visa 资源名称指定的设备或接口中读取指定数量的字节,并使数据返回至读取缓冲区。如图17 所示。图 17 visa 读取函数各端
40、口说明而后通过截取字符串函数,如图18 所示,以温度为例,从第0 位起截取 2 位字符。图 18 截取字符串函数各端口说明在经过十进制数字符串至数值转换函数,如图19 所示,使字符串中的数字字符转换为十进制整数,通过数字返回。图 19 十进制数字符串至数值转换函数各端口说明将转化为数字的参数, 连接到报表显示, 示波器及仪表盘, 同时与输入的上下限进行比较,超限后报警灯闪烁。图 20 定时界面4.4 通信模块设计rs-232 是 pc 机与通信工业中应用最广泛的一种串行接口。rs-232 被定义为一种在低速率串行通信中增加通讯距离的单端标准。rs-232 采取不平衡传输方式,即所谓单端通讯。
41、收、发端的数据信号是相对于信号地。 典型的 rs-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5 +15v ,负电平在 -5 -15v 电平。当无数据传输时,线上为ttl,从开始传送数据到结束,线上电平从ttl 电平到 rs-232 电平再返回 ttl 电平。接收器典型的工作电平在 +3 +12v 与-3 -12v 。由于发送电平与接收电平的差仅为2v至 3v 左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约 15 米,最高速率为 20kb/s 。rs-232 是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k。所以 rs-2
42、32 适合本地设备之间的通信。图 21 串口通信流程图9.系统调试系统调试调试结果如下图所示, 系统调试结果与预期要求相同, 实现了下位机对环境温度、湿度、光照强度的实时采集,液晶显示。同时也实现了上位机与下位机之间的通信,上位机数据记录,数据绘图,报警功能。如图22、图 23、开始设置串口为 8位数据位设置t1为自动重装初值设置串口波特率发送数据结束开定时器 0允许接受中断定时1sny图 24、图 25 所示。图 22 上位机三路环境参数显示界面图 23 三路环境参数历史数据报表图 24 lcd1602 显示温湿度图 25 lcd1602显示光照强度10.心得体会本次设计我负责软件编程部分,
43、 通过对本系统的研究和设计, 使我对单片机的使用有了更深一层次的理解和掌握。整个系统设计过程用到的主要硬件有stc89c52,温湿度传感器dht11 ,光照传感器 bh1750 。 通过对这些硬件的学习和了解, 不仅扩展了自己的知识面,也是自己对单片机的外围电路有了进一步的学习。设计过程中我们遇到了很多问题,例如上位机与下位机进行串口通信的程序如何编写等等,都通过老师和同学的帮助以及自身学习得到了解决,也锻炼了自己独立思考问题的能力,并增强了自己的动手操作能力,这对我将来的毕业设计以及未来的学习都有很大的帮助。感谢老师们的指导和同学们的帮助。7.参考文献1 梅晓榕 ,柏桂珍 ,张卯瑞 .自动控
44、制元件及线路 m. 北京:科学出版社 ,20072 1985 赵亮.液晶显示模块 lcd1602 应用j.电子制作 ,2007(3)3 马忠梅 ,籍顺心 ,张凯等 .单片机的 c 语言应用程序设计 m. 北京航天航空大学出版社 ,20034 胡汉才 .单片机原理与接口技术m. 清华大学出版社 ,1996.5 黄贤斌 ,郑筱霞 .传感器原理与应用 m. 北京:高等教育出版社 . 成都:电子科技大学出版社 ,2004,3(2009.1重印)6 何立民 .单片机应用系统设计 m. 北京:北京航天航空出版社.1990,50-4907 刘笃仁 ,韩保君 .传感器原理及应用技术 m. 机械工业出版社 .2
45、003,8 8 王勇等 .凌阳单片机原理及其毕业设计精选m. 科学出版社附录一 原理图图 26 电路原理图附录二 程序清单#include #include #include lcd1602.c#define uint unsigned int #define uchar unsigned charsbit trh=p23; / 1 号温湿度传感器data 数据端sbit scl=p24; /iic 时钟引脚定义sbit sda=p25; /iic 数据引脚定义sbit key1=p26; / 按键int num=0;#define slaveaddress 0 x46 / 定义器件在iic
46、总线中的从地址 ,根据alt address 地址引脚不同修改/alt address 引脚接地时地址为0 xa6 ,接电源时地址为 0 x3atypedef unsigned char byte;typedef unsigned short word;byte buf8; / 接收数据缓存区uchar ge,shi,bai,qian,wan; / 显示变量int dis_data; / 变量uchar th_data,tl_data;uchar rh_data,rl_data; void conversion(uint temp_data);void single_write_bh1750(
47、uchar reg_address); / 单个写入数据uchar single_read_bh1750(uchar reg_address); / 单个读取内部寄存器数据void multiple_read_bh1750(); / 连续的读取内部寄存器数据void conversion(uint temp_data) / 数据转换出个,十,百,千,万 wan=temp_data/10000+0 x30 ;temp_data=temp_data%10000; / 取余运算qian=temp_data/1000+0 x30 ;temp_data=temp_data%1000; / 取余运算bai=temp_data/100+0 x30 ;temp_data=temp_data%100; / 取余运算shi=temp_data/10+0 x30 ;temp_data=temp_data%10; / 取余运算ge=temp_data+0 x30; /*起始信号*/void bh1750_start()sda = 1; / 拉高数据线scl = 1; / 拉高时钟线delay5us();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024语文知识点挑战与试题及答案
- 物流服务师团队协作能力试题及答案
- 独特视角下的计算机二级试题及答案
- 2024年人力资源备考战略试题及答案
- 供应链金融与投资决策的关系试题及答案
- 2025年天津市安全员-A证考试题库及答案
- 充实知识库的陪诊师试题及答案
- 权威人力资源管理师试题及答案2024
- 2025年湖北省建筑安全员B证考试题库
- 招聘中的性别歧视问题及解决方案试题及答案
- 2024专升本英语答题卡浙江省
- 2024年荆门市水务局事业单位公开招聘工作人员招聘历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 反食品浪费及食品安全与健康
- 【劳动教育一等奖教学案例】-二年级劳动教育-《三股辫儿我会编》活动方案
- 校园模拟法庭剧本
- 水准测量记录数据自动生成表
- 2024年十堰市中小学教师职称晋升水平能力测试题附答案
- 肝门部胆管癌护理查房课件
- 神经内科护理查房课件眩晕
- 公司经营合同-公司代持股份协议范本新
- 水平三(五年级)体育《障碍跑-红军长征路》教学设计及教案
评论
0/150
提交评论