基于51单片机粮仓温湿度监测-Visual Basic上位机显示
基于51单片机的温湿度报警器
引言网络通信技术的发展,使监控系统广泛应用于工农业生产等领域,因此,粮情检测技术粮情检测属监控系统范畴,近年来,由于计算机技术、超大规模集成电路技术和的研究在软、硬件等方面都有了一定的进展。
早期粮情监测主要采用温度计测量法,它是将温度计放入特制的插杆中,根据经验插在粮堆的多个测温点,管理人员定期拔出读数,确定粮温的高、低,决定是否倒粮。
这种方法对储粮有一定的作用,但由于温度计精度、人工读数的人为因素等原因,温度检测不仅速度慢,而且精度低,抽样不彻底,局部粮温过高不易被及时发现,导致因局部粮食发霉变质引起大面积坏粮的情况时有发生。
随着科技的发展,从1978 年开始,采用电阻式温度传感器、采样器、模数转换器、报警器等组成的储粮监测系统出现,它可对各粮库的各个测温点进行巡回检测,检测速度、精度大大提高,降低了劳动强度,但由于电阻传感器的灵敏度低,致检测精度、系统可靠性还不够理想。
至1990 年,粮情检测系统有了很大的改善和提高,系统在布线上采用矩阵式布线技术,简化了数据采集部分的线路,在传感器方面应用了半导体、热电偶等器件;在线路传输上采用了串行传输方式,从而减少了传输线根数;采用单板机进行数据处理,并采用各种手段提高数据传输及检测速度,通过软硬件技术的结合,检测精度和可靠性较前有很大提高。
但温度传感器的线性度差,系统的检测精度仍不理想,无法大面积推广。
近年来,随着单片机功能的日益强大和计算机的广泛应用,粮情检测的准确性、稳定性要求越来越高。
寻找最佳配置和最好的性价比成为粮情监测研究的热点国外在粮情监控技术上已达到了很成熟的地步,高科技数字式传感器广泛应用于粮情检测系统。
这种传感器采用了半导体集成电路与微控制器最新技术,在一个管芯上集成了半导体温度检测芯片、数据信号转换芯片、计算机接口芯片,转换、温度补偿等功能。
由于数字温度传感器直接传出数字量,从而解决了温度信号长距离传输问题及传输过程中因干扰和衰减而导致的精度降低等问题。
基于51单片机温湿度监控系统毕业设计
基于51单片机温湿度监控系统毕业设计摘要本文将介绍一个基于51单片机的温湿度监控系统的毕业设计。
该系统可以实时监测环境的温度和湿度,并将数据通过LCD显示。
同时,该系统还能将数据通过串口传输给计算机进行进一步处理和分析。
本文将从需求分析、硬件设计、软件设计和系统测试等方面全面介绍该系统的设计和实现过程。
1. 引言随着科技的不断发展,人们对环境的监测需求越来越高。
尤其是在工业生产、农业种植和生活领域,精确的温湿度监控对保证操作的顺利进行非常重要。
本文将设计一个基于51单片机的温湿度监控系统,用于实时监测环境的温湿度。
2. 需求分析需求分析是软件开发过程中至关重要的一环。
在本设计中,我们需要考虑以下需求:- 实时监测环境的温度和湿度 - 数据显示在LCD上 - 数据通过串口传输给计算机3. 硬件设计硬件设计是本系统的关键部分。
我们使用51单片机作为主控芯片,并选择合适的温湿度传感器对环境数据进行采集。
硬件设计主要包括以下几个方面: - 单片机选型和接口设计 - 温湿度传感器的选用和接口设计 - LCD模块的选用和接口设计- 串口传输电路的设计4. 软件设计软件设计是实现系统功能的关键。
本文设计了以下几个模块的软件: - 温湿度采集模块 - 数据处理模块 - LCD显示模块 - 串口通信模块5. 系统测试系统测试是确保整个系统正确运行的重要环节。
在本设计中,我们将定期对系统进行各个模块的功能测试和整体性能测试,以确保系统的稳定性和可靠性。
6. 结论本文设计并实现了一个基于51单片机的温湿度监控系统。
通过对温湿度传感器的采集和LCD显示的设计,以及串口通信的实现,该系统能够实时监测环境的温湿度,并将数据显示在LCD上。
同时,该系统还能通过串口将数据传输给计算机进行进一步处理和分析。
经过系统测试,该系统的功能和性能均符合设计要求。
参考文献•[1] 张永建. 单片机技术与应用. 北京:机械工业出版社,2018.•[2] 陈洪焰. 嵌入式系统. 北京:机械工业出版社,2019.•[3] 黄文昌. 温湿度测量技术及其应用. 北京:电子工业出版社,2016.。
基于51单片机的粮仓温湿度检测系统毕业设计
基于51单片机的粮仓温湿度检测系统[摘要]粮仓温度湿度监测控制系统是基于STC12C52A60S2的数据采集、对比、控制的系统。
以STC12C52A60S2单片机为控制器,对温度传感器DS18B20传送的数字量信号和对湿度传感器HR202传送的模拟量信号进行采集和处理,当前值和设定温度上限值进行对比,进而执行控制作用,通过对继电器的控制进而控制设备的启停,对粮仓温度湿度进行调节,使其维持在适当范围,维护粮仓正常运行。
[关键词] 单片机、温湿度、检测、控制Abstract:The granary’s temperature and humidity control and detect system is based on the micro control unit of STC12C5A60S2,the system is used for date acquisition,comparison,and control.In this system,STC12C5A60S2 is the controller,the controller is designed to deal with temperature and humidity signal from the temperature sensor and humidity sensor.Then compare these data with limits the value of temperature and humidity.If the date is out of limits,then the controller send a control signal to warn people,besides,the controller will make the fan running to make the temperature and humidity lower.In this way,the granary can be working at usual status.Key words: MCU、temperature and humidity、control目录第一章绪论 (1)1.2相关领域国内外应用的现状及发展趋势 (1)1.3 粮仓温湿度检测控制系统原理 (2)1.4 本章小结 (2)第二章:系统分析、设计要求及模块选择 (3)2.1 设计要求 (3)2.2 单片机型号的选择 (3)2.21 采用STC89C52单片机 (3)2.22 采用STC12C5A60S2单片机 (3)2.3 显示系统模块的选择 (3)2.31采用LED数码管显示 (3)2.32采用1602液晶显示 (3)2.4 测温模块的选择 (4)2.41 采用模拟量温度传感器 (4)2.42 采用数字量温度传感器 (4)2.5 测湿模块的选择 (4)2.6 控制模块的选择 (4)2.7 通讯模块的选择 (4)2.8本章小结 (4)第三章系统总体方案及硬件电路模块设计 (5)3.1 系统总体设计思路: (5)3.2 系统硬件设计 (5)3.2.1 单片机最小系统 (5)3.2.2 温度信号采样电路模块 (9)3.2.3 湿度采样电路模块 (12)3.3 串口模块 (14)3.4显示模块 (15)3.5 控制模块 (16)3.6 继电器模块 (17)3.7 本章小结 (18)第四章系统的软件设计 (19)4.1 流程图设计 (19)4.1.1系统总体流程图 (19)4.1.2温度检测流程图 (19)4.1.3湿度检测流程 (20)4.2系统的程序设计 (20)4.2.1 DS18B20测温程序 (20)4.2.2 A/D转换程序 (25)4.2.3 1602显示程序 (26)4.3 本章小结 (29)第五章硬件调试部分 (30)结束语 (31)参考文献 (32)第一章绪论1.1 本课题的研究意义及必要性民以食为天,粮食是社会安定的保证,自1990年我国建立粮食储备制度以来,储备粮在国家宏观调控中占据了重要地位,无论何时,必须时刻保持储备粮的调控作用不动摇,是维持社会安定、粮食市场稳定、农民增收的重要保证。
基于51单片机的温室大棚温湿度测控系统
收稿日期:2007-03-20作者简介:张明洋(1981-),男(汉),福建惠安人,黎明职业大学电子工程系教师,主要从事电子与通信、视频处理等方面的研究。
文章编号:1008—8075(2007)02—0025—06・科技研究・基于51单片机的温室大棚温湿度测控系统张明洋(黎明职业大学电子工程系 福建 泉州 362000)摘要:介绍了基于A T89C51单片机的温室大棚温湿度测控系统设计原理,主要电路设计及软件设计等。
该系统采用A T89C51单片机作为控制器,可对执行机构发出指令实现大棚温湿度参数调节,具有上下位机直接设置温湿度范围,温湿度实时显示等功能。
上位机采用Delphi 软件进行编写,用户界面友好,操作简单,可以根据大棚作物生长情况绘制成简明直观的作物生长走势图,从而容易得出最适合作物生长的温湿度值。
关键词:51单片机;温室大棚;温湿度;测控系统中图分类号:S62513 文献标识码:A1 引 言植物的生长都是在一定的环境中进行的,其在生长过程中受到环境中各种因素的影响,其中对植物生长影响最大的是环境中的温度和湿度。
环境中昼夜的温度和湿度变化大,其对植物生长极为不利。
因此必须对环境的温度和湿度进行监测和控制,使其适合植物的生长,提高其产量和质量。
本系统就是利用价格便宜的一般电子器件来设计一个参数精度高,控制操作方便,性价比高的应用于农业种植生产的温室大棚温湿度测控系统。
2 设计思想系统的一大特点是用户可以通过下位机中的键盘输入温湿度的上下限值和预置值,也可以通过上位机对温湿度的上下限值和预置值进行输入,从而实现上位机对大棚内作物生长的远程控制。
系统下位机设在种植植物的大棚内,下位机中的温湿度传感器可以将环境中的温湿度非电量参数转化成电量信号,再将这些信号进行处理后送至下位机中的单片机,单片机读取数据后将数据送到缓冲区内,通过L ED 数码管进行实时显示。
同时与原先内部设定的参数值进行比较处理;单片机可以根据比较的结果对执行机构发出相应的信号,并通过继电器的控制对相应的设备如喷水器、吹风机、加热器、降温泵等进行操作,调节大棚内温湿度状态。
基于51单片机粮仓温湿度监测-Visual Basic上位机显示
论文题目:粮仓温湿度监测系统(软件)专业:自动化本科生:孙婷婷(签名)___________指导教师:乐春峡(签名)___________摘要本设计是以单片机为核心,配合温度传感器(DS18B20)和湿度传感器(HIH-4010),相关的外围电路以及上位机(VB)显示组成了粮仓温湿度监测系统,可以监测粮仓环境的温度和湿度信号,检测人员可以通过LCD1602液晶显示的数据或者上位机(VB),实时监控粮仓环境的温度和湿度情况。
所有的测量操作都可以通过主机控制软件来实现,温度传感器得到的测量信号,经电路转换为电信号,直接送入单片机。
湿度传感器则需要经过A/D转换芯片(TLC549)的处理送到单片机进行数据处理,然后经过软件分析处理后送显示装置。
本系统还应用RS232与上位机相连接,可以设置温度、湿度的报警值,也可以实时显示温湿度的采样值,并将其存入数据库,便于以后对于数据的处理。
关键词:STC89C52RC单片机,温度传感器,湿度传感器,LCD显示,上位机.Subject: Barn Temperature and Humidity Monitoring System (Software) Specialty: AutomationName: SunTingting (Signature) ___________ Instructor: YueChunxia (Signature) ___________ABSTRACTThis design is based on single chip microcomputer as the core including the temperature sensor (DS18B20), humidity sensor (HIH-4010), the related peripheral circuit and PC (VB) . It can monitor the temperature and humidity signal of granary environment. Workers can display data through the LCD1602 or PC (VB) in time to monitor the barn conditions. All of the measuring the operation can be controlled by software .Temperature sensors can get the signal and the circuit converts them into electrical signals to send the microcontroller. Humidity sensor need to make use of A/D conversion chip to convert the data to analysis them by MCU sending them to display device by software.This system is connected with PC by RS232.It can set alarm value of the temperature and humidity .It also can display temperature and humidity in time, and save them in the database to handle the data conveniently in the future.Key words: STC89C52RC microcontroller, temperature sensors, humidity sensors, LCD display, PC.目录第1章前言 (1)1.1背景 (1)1.2国内外研究现状及发展趋势 (1)1.3设计的目的及意义 (2)1.4设计的主要工作 (3)1.5本文的主要内容 (3)第2章系统的软件设计 (4)2.1单片机及其外围电路软件设计 (4)2.1.1系统总体框图设计 (4)2.1.2主程序流程图 (5)2.1.3 DS18B20温度传感器 (6)2.1.4 HIH4010湿度传感器 (6)2.1.5 TLC549 A/D转换模块 (8)2.1.6 LCD1602显示模块 (9)2.1.7按键模块 (10)2.1.8报警模块 (10)2.1.9串口通信模块 (12)2.1.10小结 (13)2.2上位机软件设计 (13)2.2.1上位机系统总体设计 (14)2.2.2系统各个模块 (14)2.2.3 小结 (33)第3章系统调试和结果分析 (34)3.1单片机调试及分析 (34)3.2上位机调试及分析 (34)第4章总结 (35)参考文献 (36).致谢 (37)附录 (38)1.仿真原理图 (38)2硬件原理图 (39)3.上位机显示图 (40)4.实物图 (40)5.单片机程序 (41).第1章前言1.1背景俗话说“国以民为本,民以食为天”,粮食是一个国家的立国之本。
基于51单片机的粮仓温湿度检测
基于51单片机的粮仓温湿度检测作者:曾鹏陈其军段浩楠高雁凤许素安陈锡爱来源:《科技资讯》2018年第26期摘要:随着社会科学技术发展,越来越多的产业开始实现自动化。
近年来,互联网实时监控日渐普及,得到了广泛应用,本文设计了一套基于51单片机的粮仓温湿度检测系统。
该粮仓管理系统根据用户所期待的温湿度对环境(粮仓)进行检测,将数据通过2.4G无线网络上传并记录在数据库,并在超出阈值时报警。
关键词:粮仓管理 51单片机温湿度检测无线通讯串口技术中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2018)09(b)-0041-03Abstract: For the large range of temperature fluctuations and pushing tube speed and temperature control matching problems, the heating system and hydraulic in the intermediate frequency bender are analyzed, transfer function of heating system and hydraulic system are established. A double closed loop controller is developed and variable integral PID method is adopted in hydraulic system control strategy. The results show that base on a double closed loop and variable integral PID control method ensures accurately control to the temperature and high-level quality to the elbows.Key Words: Double closed loop; Variable integral PID control; Medium-frequency heating; Pipe bender粮库是粮食仓库的简称,是存储粮食的重要方式,由粮食部门统一管理,担负着国家粮食储备、地方粮食储备、粮食流通的主渠道作用,其主要任务是完成粮食的接受、保管和调运输送等粮食流通诸环节。
基于51单片机的温度测试系统 VB上位机
简介:这是我学完51单片机的第一个作品,单片机型号为89c52,时钟芯片用的是DS1302,温度传感器用的是DS18B20,USB供电,掉电后时钟芯片继续工作,且已经设置好的温度上下限和闹钟数据不会丢失。
上位机是用VB语言写的,只是一个模型,从上位机上可以观察当前温度值以及温度上下限,以后会更加完善其功能。
下面是下位机程序和上位机程序,程序比较长,而且下位机程序的键盘部分写得有点麻烦。
下位机程序:/***************************************************************************************作者:江苏科技大学电子信息科学与技术二班吴亚迪注:此程序可以实现万年历闹钟温度测定温度超过上下限发出警报断电后时钟不停,且已设好的温度上下限和闹钟数据不会丢失****************************************************************************************/#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="20 / / DAY- ";uchar code table1[]=" : : ";uchar code table2[]="0123456789";uchar code table3[]=" alarm clock ";sbit ds_clk=P3^6;sbit ds_io=P3^7;sbit ds_rst=P1^4;sbit lcdrs=P1^0;sbit lcdrw=P1^1;sbit lcden=P1^2;sbit scl=P3^2;sbit sda=P3^3;sbit ACC_7=ACC^7;sbit P34=P3^4;bit alarm=0;//闹钟标志位bit stop_alarm=0;//停止闹钟标志位uchar i,j;uchar th,tl; //温度上下限uint th1,th2,tl1,tl2;uchar min,hour,sec; //闹钟时分秒uint min1,min2,hour1,hour2,sec1,sec2;void delay(uint i){uint j;for(;i>0;i--)for(j=0;j<110;j++);}/***********************************************************************************************DS1302部分**************************************************************************************************/ char s,s1,s2; //时钟秒char m,m1,m2; //分char h,h1,h2; //时char day; //星期char date,date1,date2;//日期char mon,mon1,mon2; //月char year,year1,year2;//年void write_ds(uchar add,uchar date ) //向ds1302指定地址写数据{uchar i,temp;ds_rst=0;ds_clk=0;ds_rst= 1;for ( i=8; i>0; i-- ){ds_clk = 0;temp = add;ds_io= temp&0x01;add >>= 1;ds_clk = 1;}for ( i=8; i>0; i-- ){ds_clk = 0;temp = date;ds_io =temp&0x01;date >>= 1;ds_clk = 1;}ds_rst= 0;}uchar read_ds(uchar add ) //ds1302指定地址读数据{unsigned char i,temp,date1;ds_rst=0;ds_clk=0;ds_rst= 1;for ( i=8; i>0; i-- ){ds_clk = 0;temp = add;ds_io=temp&0x01;add >>= 1;ds_clk = 1;}for ( i=8; i>0; i-- ) //这里要注意{ACC_7=ds_io;ds_clk = 1;ACC>>=1;ds_clk = 0;}ds_rst=0;date1=ACC;return date1;}void init_ds() //初始化ds1302{write_ds(0x8e,0x00); //关闭写保护write_ds(0x80,0x22); //初始化秒write_ds(0x82,0x59); //分write_ds(0x84,0x23); //时write_ds(0x86,0x21); //日write_ds(0x88,0x05); //月write_ds(0x8a,0x06); //星期write_ds(0x8c,0x11); //年write_ds(0x8e,0x80); //开写保护}void read_all() //读s,m,h,date,mon,year,day{s=read_ds(0x81);s1=s/16;s2=s%16;m=read_ds(0x83);m1=m/16;m2=m%16;h=read_ds(0x85);h1=h/16;h2=h%16;date=read_ds(0x87);date1=date/16;date2=date%16;mon=read_ds(0x89);mon1=mon/16;mon2=mon%16;day=read_ds(0x8b);year=read_ds(0x8d);year1=year/16;year2=year%16;}/***********************************************************************************************1602部分**************************************************************************************************/ void write_com(uchar com) //写命令{lcdrs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date)//写数据{lcdrs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init_1602() //初始化1602{lcdrw=0;write_com(0x01);write_com(0x38);write_com(0x0f);write_com(0x06);for(i=0;i<16;i++){write_date(table[i]);delay(10);}write_com(0x80+0x40);for(i=0;i<16;i++){write_date(table1[i]);delay(10);}write_com(0x80+0x40+0x0e);write_date(0xdf);delay(10);write_date('c');}/***********************************************************************************************EEPROM部分**************************************************************************************************/void delay1(){ ; ; }void init()//初始化总线{sda=1;delay1();scl=1;delay1();}void start()//开始函数{sda=1;delay1();scl=1;delay1();sda=0;delay1();}void stop()//停止函数{sda=0;delay1();scl=1;delay1();sda=1;delay1();}void respons()//应答{uchar i;sda=1;delay1();scl=1;while(sda==1&&i<250) i++;scl=0;delay1();}void write_byterom(uchar date)//向eeprom中写一字节数据{uchar i;for(i=0;i<8;i++){date=date<<1;scl=0;delay1();sda=CY;delay1();scl=1;delay1();}scl=0;delay1();}uchar read_byterom()//从eeprom中读一字节数据{uchar i,temp;scl=0;delay1();for(i=0;i<8;i++){scl=1;delay1();temp<<=1;temp|=sda;scl=0;delay1();}return temp;}void write_add(uchar add,uchar date)//指定地址写数据{start();write_byterom(0xa0);respons();write_byterom(add);respons();write_byterom(date);respons();stop();}uchar read_add(uchar add)//指定地址读数据{uchar temp;start();write_byterom(0xa0);respons();write_byterom(add);respons();start();write_byterom(0xa1);respons();temp=read_byterom();stop();return temp;}/***********************************************************************************************ds18b20部分**************************************************************************************************/ sbit DQ=P3^5;void delay2(uchar i){while(i--);}void init_ds18b20()//初始化ds18b20{uchar i;DQ=1;delay2(8);DQ=0;delay2(80);DQ=1;while(DQ==1&&i<255) i++;delay2(35);delay2(20);}void write_byte(uchar dat)//向ds18b20中写一字节{uchar i;for(i=0;i<8;i++){DQ=1;delay2(1);DQ=0;delay2(1);DQ=dat&0x01;delay2(5);DQ=1;dat>>=1;delay2(4);}}uchar read_byte()//从ds18b20中读一字节{uchar i,dat=0;for(i=0;i<8;i++){DQ=1;delay2(1);DQ=0;dat>>=1;DQ=1;if(DQ)dat=dat|0X80;delay2(4);}return dat;}uchar read_temp() //读温度函数{uchar a,b,c;init_ds18b20();write_byte(0xcc);write_byte(0x44);init_ds18b20();write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();c=(b<<4)|(a>>4);return c;}uchar read_th()//读上限函数{uchar a,b,c;init_ds18b20();write_byte(0xcc);write_byte(0x44);init_ds18b20();write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();c=read_byte();return c;}uchar read_tl()//读下限函数{uchar a,b,c;init_ds18b20();write_byte(0xcc);write_byte(0x44);init_ds18b20();write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();a=read_byte();c=read_byte();return c;}/***********************************************************************************************键盘部分(P2^0~P2^3)**************************************************************************************************/void keyscan(){uchar temp,num1,num2;temp=P2;temp&=0x0f;if(temp!=0x0f) //消抖{delay(5);if(temp!=0x0f){temp=P2;temp&=0x0f;if(temp==0x0e){num1=1;write_ds(0x8e,0x00);write_ds(0x80,s|0x80);//禁止写保护while(temp==0x0e)//松手检测{temp=P2;temp&=0x0f;}while(1){temp=P2;temp&=0x0f;if(temp==0x0e){delay(5);temp=P2;temp&=0x0f;if(temp==0x0e){num1++;}}while(temp==0x0e)//松手检测{temp=P2;temp&=0x0f;}if(num1==1){write_com(0x80+0x40+0x08); write_com(0x0f);//光标闪烁temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测 {temp=P2;temp&=0x0f;}s=read_ds(0x81);s1=s/16;s2=s%16;s2+=1;if(s2==10){s1+=1;}if(s1==6) s1=0;write_com(0x80+0x40+0x07);write_date(table2[s1]);write_date(table2[s2]);write_ds(0x80,s1*16+s2);//向ds1302中写入秒 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}s=read_ds(0x81);//读ds1302秒s1=s/16;s2=s%16;s2-=1;if(s2==-1){s2=9;s1-=1;}if(s1==-1) s1=5;write_com(0x80+0x40+0x07);write_date(table2[s1]);write_date(table2[s2]);write_ds(0x80,s1*16+s2);}}}if(num1==2){write_com(0x80+0x40+0x05);write_com(0x0f);temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}m=read_ds(0x83);//从ds1302中读分m1=m/16;m2=m%16;m2+=1;if(m2==10){m2=0;m1+=1;}if(m1==6) m1=0;write_com(0x80+0x40+0x04);write_date(table2[m1]);write_date(table2[m2]);write_ds(0x82,m1*16+m2);//向ds1302中写入分 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}m=read_ds(0x83);m1=m/16;m2=m%16;m2-=1;{m2=9;m1-=1;}if(m1==-1) m1=5;write_com(0x80+0x40+0x04);write_date(table2[m1]);write_date(table2[m2]);write_ds(0x82,m1*16+m2);}}}if(num1==3){write_com(0x80+0x40+0x02);write_com(0x0f);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}h=read_ds(0x85);//从ds1302中读时 h1=h/16;h2=h%16;h2+=1;if(h2==10){h2=0;h1+=1;}if(h2==4&&h1==2){h2=0;h1=0;}write_com(0x80+0x40+0x01);write_date(table2[h1]);write_date(table2[h2]);write_ds(0x84,h1*16+h2);//向ds1302中写入时 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}h=read_ds(0x85);h1=h/16;h2=h%16;h2-=1;if(h2==-1){h2=9;h1-=1;}if(h2==9&&h1==-1){h2=3;h1=2;}write_com(0x80+0x40+0x01);write_date(table2[h1]);write_date(table2[h2]);write_ds(0x84,h1*16+h2);}}}if(num1==4){write_com(0x80+0x0f);write_com(0x0f);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}day=read_ds(0x8b);//从ds1302中读星期day+=1;if(day==8){day=1;}write_com(0x80+0x0f);write_date(table2[day]);write_ds(0x8a,day);//向ds1302中写入星期 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}day=read_ds(0x8b);day-=1;if(day==0){day=7;}write_com(0x80+0x0f);write_date(table2[day]);write_ds(0x8a,day);}}}if(num1==5){write_com(0x80+0x09);write_com(0x0f);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}date=read_ds(0x87);//从ds1302中读日期date1=date/16;date2=date%16;date2+=1;if(date2==10){date2=0;date1+=1;}if(date2==2&&date1==3){date2=0;date1=0;}if(date1==0&&date2==0){date1=0;date2=1;}write_com(0x80+0x08);write_date(table2[date1]);write_date(table2[date2]);write_ds(0x86,date1*16+date2);//向ds1302中写入日期 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}date=read_ds(0x87);date1=date/16;date2=date%16;date2-=1;if(date2==-1){date2=9;date1-=1;}if(date2==9&&date1==-1){date2=1;date1=3;}if(date1==0&&date2==0){date1=3;date2=1;}write_com(0x80+0x08);write_date(table2[date1]);write_date(table2[date2]);write_ds(0x86,date1*16+date2); }}}if(num1==6){write_com(0x80+0x06);write_com(0x0f);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}mon=read_ds(0x89);//从ds1302中读月mon1=mon/16;mon2=mon%16;mon2+=1;if(mon2==10){mon2=0;mon1+=1;}if(mon2==3&&mon1==1){mon2=0;mon1=0;}if(mon1==0&&mon2==0){mon1=0;mon2=1;}write_com(0x80+0x05);write_date(table2[mon1]);write_date(table2[mon2]);write_ds(0x88,mon1*16+mon2);//向ds1302中写入月 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}mon=read_ds(0x89);mon1=mon/16;mon2=mon%16;mon2-=1;if(mon2==-1){mon2=9;mon1-=1;}if(mon2==9&&mon1==-1){mon2=2;mon1=1;}if(mon1==0&&mon2==0){mon1=1;mon2=2;}write_com(0x80+0x05);write_date(table2[mon1]);write_date(table2[mon2]);write_ds(0x88,mon1*16+mon2); }}}if(num1==7){write_com(0x80+0x03);write_com(0x0f);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}year=read_ds(0x8d);//从ds1302中读年year1=year/16;year2=year%16;year2+=1;if(year2==10){year2=0;year1+=1;}if(year1==9){year1=0;}write_com(0x80+0x02);write_date(table2[year1]);write_date(table2[year2]);write_ds(0x8c,year1*16+year2);//向ds1302中写入年 }}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}year=read_ds(0x8d);year1=year/16;year2=year%16;year2-=1;if(year2==-1){year2=9;year1-=1;}if(year1==-1){year1=7;}write_com(0x80+0x02);write_date(table2[year1]);write_date(table2[year2]);write_ds(0x8c,year1*16+year2); }}}if(num1==8) //修改上限{write_com(0x80+0x40+0x0d); write_com(0x0f);delay(10);write_com(0x80+0x40+0x09); write_com(0x0e);write_date('T');write_date('H');write_com(0x80+0x40+0x0d); write_com(0x0f);th=read_th();write_com(0x80+0x40+0x0b);if(th>=100){write_date('-');th=~th+1;}else write_date(' ');th1=th/10;th2=th%10;write_date(table2[th1]);write_date(table2[th2]);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测{temp=P2;temp&=0x0f;}tl=read_tl();th=read_th();th+=1;if(th==100){th=157;}if(th==256){th=0;}init_ds18b20(); //写上下限 write_byte(0xcc);write_byte(0x4e);write_byte(th);write_byte(tl);}}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测 {temp=P2;temp&=0x0f;}th=read_th();tl=read_tl();th-=1;if(th==256){th=255;}if(th==156){th=99;}init_ds18b20(); //写上下限write_byte(0xcc);write_byte(0x4e);write_byte(th);write_byte(tl);}}}if(num1==9) //修改下限{write_com(0x80+0x40+0x0d); write_com(0x0f);delay(10);write_com(0x80+0x40+0x09); write_com(0x0e);write_date('T');write_date('L');write_com(0x80+0x40+0x0d); write_com(0x0f);tl=read_tl();write_com(0x80+0x40+0x0b); if(tl>=100){write_date('-');tl=~tl+1;}else write_date(' ');tl1=tl/10;tl2=tl%10;write_date(table2[tl1]);write_date(table2[tl2]);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测 {temp=P2;temp&=0x0f;}tl=read_tl();th=read_th();tl+=1;if(tl==100){tl=157;}if(tl==256){tl=0;}init_ds18b20(); //写上下限 write_byte(0xcc);write_byte(0x4e);write_byte(th);write_byte(tl);}}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测 {temp=P2;temp&=0x0f;}th=read_th();tl=read_tl();tl-=1;if(tl==256){tl=255;}if(tl==156){tl=99;}init_ds18b20(); //写上下限write_byte(0xcc);write_byte(0x4e);write_byte(th);write_byte(tl);}}}if(num1==10){write_com(0x80+0x40+0x09); write_com(0x0e);write_date(' ');write_date(' ');write_date(' ');init_ds18b20(); //拷贝上下限write_byte(0xcc);write_byte(0x48);num1=0;write_ds(0x80,s&0x7f);write_ds(0x8e,0x80);//开启写保护 break;}}}if(temp==0x07)//闹钟设定{delay(5);if(temp==0x07){while(temp==0x07){temp=P2;temp&=0x0f;}if(alarm==1){P34=1;alarm=0;stop_alarm=1;}else{num2=1;while(1){temp=P2;temp&=0x0f;if(temp==0x07){delay(5);temp=P2;temp&=0x0f;if(temp==0x07){num2++;}}while(temp==0x07)//松手检测{temp=P2;temp&=0x0f;}if(num2==1)//按下第一次显示上次设定的时间 {write_com(0x80);for(i=0;i<16;i++){write_date(table3[i]);delay(10);}write_com(0x80+0x40+0x0c);write_date(' ');write_date(' ');write_date(' ');write_date(' ');hour=read_add(1);hour1=hour/10;hour2=hour%10;min=read_add(7);min1=min/10;min2=min%10;sec=read_add(4);sec1=sec/10;sec2=sec%10;write_com(0x80+0x40+0x01); write_date(table2[hour1]);write_date(table2[hour2]);write_com(0x80+0x40+0x04); write_date(table2[min1]);write_date(table2[min2]);write_com(0x80+0x40+0x07); write_date(table2[sec1]);write_date(table2[sec2]);}if(num2==2)//按下第二次设定秒 {write_com(0x80+0x40+0x08); write_com(0x0f);delay(100);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测 {temp=P2;temp&=0x0f;}sec++;if(sec==60) sec=0;}}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测 {temp=P2;temp&=0x0f;}sec--;if(sec==255) sec=59;}}}sec1=sec/10;sec2=sec%10;write_com(0x80+0x40+0x07); write_date(table2[sec1]);write_date(table2[sec2]);if(num2==3)//按下第三次设定分 {write_com(0x80+0x40+0x05); write_com(0x0f);delay(100);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测 {temp=P2;temp&=0x0f;}min++;if(min==60) min=0;}}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测 {temp=P2;temp&=0x0f;}min--;if(min==255) min=59;}}}min1=min/10;min2=min%10;write_com(0x80+0x40+0x04); write_date(table2[min1]);write_date(table2[min2]);if(num2==4)//按下第四次设定时 {write_com(0x80+0x40+0x02); write_com(0x0f);delay(100);temp=P2;temp&=0x0f;if(temp==0x0d){delay(5);if(temp==0x0d){while(temp==0x0d)//松手检测 {temp=P2;temp&=0x0f;}hour++;if(hour==24) hour=0;}}else if(temp==0x0b){delay(5);if(temp==0x0b){while(temp==0x0b)//松手检测{temp=P2;temp&=0x0f;}hour--;if(hour==255) hour=23;}}}hour1=hour/10;hour2=hour%10;write_com(0x80+0x40+0x01);write_date(table2[hour1]);write_date(table2[hour2]);if(num2==5) //按下第五次向eeprom中写入时分(秒省略),并退出循环 {write_add(7,min);delay(10);write_add(1,hour);write_com(0x80);for(i=0;i<16;i++){write_date(table[i]);delay(10);}write_com(0x80+0x40+0x0e);write_date(0xdf);write_date('c');break;}}}}}}}}/***********************************************************************************************主函数部分**************************************************************************************************/ void main(){uchar temp;init();init_1602();init_ds();temp=read_temp();delay(100);while(1)//循环检测{read_all();keyscan();write_com(0x80+0x40+0x01);write_date(table2[h1]);write_date(table2[h2]);write_com(0x80+0x40+0x04);write_date(table2[m1]);write_date(table2[m2]);write_com(0x80+0x40+0x07);write_date(table2[s1]);write_date(table2[s2]);write_com(0x80+0x02);write_date(table2[year1]);write_date(table2[year2]);write_com(0x80+0x05);write_date(table2[mon1]);write_date(table2[mon2]);write_com(0x80+0x08);write_date(table2[date1]);write_date(table2[date2]);write_com(0x80+0x0f);write_date(table2[day]);temp=read_temp();th=read_th();tl=read_tl();//*********************************************************************************温度上限先检测及报警write_com(0x80+0x40+0x0b);if(temp<128) //查看温度是否超过上下限{if((th>128)||(th<128&&temp>=th)||(tl<128&&temp<=tl)){P34=0;delay(1000);P34=1;}}if(temp>128) //temp>128时温度取反后加一,查看温度是否超过上下限{if((th>128&&temp>=th)||(tl>128&&temp<=tl)||(tl<128)){P34=0;delay(1000);P34=1;}write_date('-');temp=~temp+1;}else write_date(' ');write_date(table2[temp/10]);write_date(table2[temp%10]);min=read_add(7);delay(5);hour=read_add(1);delay(5);//***********************************************************************************闹钟检测及报警if((min==m1*10+m2)&&stop_alarm){}else if((min==m1*10+m2)&&(hour==h1*10+h2)&&(!stop_alarm)) //闹钟{alarm=1;}if((min!=m1*10+m2)&&stop_alarm){stop_alarm=0;}if(alarm==1){P34=0;delay(30);P34=1;delay(100);P34=0;delay(30);P34=1;delay(100);P34=0;delay(30);P34=1;delay(100);P34=0;delay(30);P34=1;delay(100);}//*************************************************************************************************** }}上位机程序(VB语言):Option ExplicitDim i%Dim buf$Private Sub Form_Load()mPort = 2MSComm1.PortOpen = TrueMSComm1.RThreshold = 1MSComm1.InBufferCount = 0MSComm1.InputMode = comInputModeTextText1.FontSize = 10End SubPrivate Sub MSComm1_OnComm() Select Case mEvent Case comEvReceivebuf = Trim(Str(Asc(MSComm1.Input))) i = i + 1If i = 1 ThenText1.Text = bufEnd IfIf i = 2 ThenText2.Text = bufEnd IfIf i = 3 Theni = 0Text3.Text = bufEnd IfEnd SelectEnd Sub上位机运行图片:。
基于51单片机的温室大棚温湿度检测报警系统设计
湖南科技大学课程设计课程设计名称:多路温湿度测试报警系统学生姓名:学院:机电工程学院专业及班级:09级测控一班学号:00指导教师:2013年01 月18 日湖南科技大学机电工程学院课程设计任务书摘要随着现代技术的不断发展,生产生活现代化的不断提高,用温室大棚技术来培养农作物可以显著的提高农作物产量,降低农业生产对自然环境和气候变化的要求。
然而温室大棚对于温度湿度等一系列空气成分指标要求非常严格,而现代化的温室大棚则必须有一整套温度湿度的检测和控制系统,本设计就是为了适应现代温室大棚的需求,更加方便有效地观测环境温湿度,以便于更为科学合理地对温室大棚进行管理。
本设计是以单片机为核心,配合温湿度传感器,以及相关的外围电路组成的检测系统,可以接收所测环境的温度和湿度信号,检测人员可以通过LCD显示的数据,实时监控环境的温度和湿度情况,如果检测到的数据超过所设定的温湿度上下限,则系统会自动产生相应的声光报警。
所有的测量操作都可以通过主机控制软件来实现,温度和湿度传感器得到的测量信号,经电路转换为电信号,然后通过转换送到单片机进行数据处理,经软件分析处理后送显示装置。
本系统包括系统硬件和软件设计,可靠性高,结构简单,系统还应用RS232与上位机相连接,可以设置自动记录温度、湿度的相关的参数,也可以设置每隔一定的时间自动记录,操作简便,应用广泛。
关键词:STC89C52单片机,温湿度传感器, LCD显示AbstractWith the development of modern technology, the production of modern life continues to improve, for greenhouse technology to cultivate crops can significantly increase the yield of crops, reducing the agricultural production of the natural environment and climate change request. However, the greenhouse temperature and humidity requirements for a series of air composition indicators are very strict, and greenhouse modernization must have a set of temperature and humidity measurement and control system, the design is for people living with and the continuous improvement of production level, to the living environment and the requirements of the production environment is particularly important, control temperature and humidity is a typical example, therefore, emerge as the times require an intelligent temperature and humidity detection system in modern life and fast, convenient and reliable detection system, especially in the industrial production if the detection of inaccurate will occur in many production accidents. To provide a better life for modern people to work, scientific research, and more convenient facilities, we must start from the SCM technology, all toward digital control system, intelligent control direction. The design is based on single-chip microcomputer as the core, with the temperature and humidity sensor, detecting system and related peripheral circuit, can receive the measurement of environmental temperature and humidity signal, detecting personnel can be displayed by the LCD data, the temperature and humidity of real-time monitoring of the environment. The measurement operation all can be realized through the host computer control software, the measurement signals are temperature and humidity sensor, the circuit is converted to electrical signals, and then the data were processed by conversion to SCM, through the software analysis processing evacuation display device.The system hardware and software design, including the system of high reliability, simple structure, realizes the automatic control of temperature and humidity. The system also applies RS232 and host machine is connected, can parameters related to the automatic recording of temperature, humidity settings, can also be set at a certain time automatic recording, available in the meteorological observation.Keywords :STC89C52 microcontroller, temperature and humidity sensor, LCD display目录第1章概述……………………………………………………………………………1.1 课题研究的背景………………………………………………………………1.2 温湿度检测的发展状况以及存在的问题…………………………………1.3 本课程设计的主要内容………………………………………………………第2章系统总体方案设计………………………………………………………2.1 温湿度传感器…………………………………………………………………2.1.1 DHT11产品概述…………………………………………………………2.1.2 接口说明……………………………………………………………………2.1.3 电源引脚……………………………………………………………………2.1.4 串行接口(单线双向)……………………………………………………2.1.5 DHT11引脚说明…………………………………………………………2.1.6 焊接信息……………………………………………………………………2.1.7 注意事项……………………………………………………………………2.2 RS232接口……………………………………………………………………2.3 单片机STC89C52 ………………………………………………………2.4 LCD1602………………………………………………………………………第3章系统的硬件设计和连接…………………………………………………3.1 主控模块……………………………………………………………………………3.2 显示模块……………………………………………………………………………3.3 温度和湿度采集模块……………………………………………………………3.4 键盘设计……………………………………………………………………………3.5 与上位机相连电路的设计………………………………………………………3.6 报警电路设计………………………………………………………………………第4章系统软件方案的设计………………………………………………………4.1 程序流程图…………………………………………………………………………第5章总结与展望……………………………………………………………………参考文献因此为了保证产品的质量及机台的使用寿命,对其环境的要求也很高,尤其的是对温度、湿度的控制。
基于51单片机的温湿度检测系统设计与实现
3、无线通信模块
本系统的无线通信模块采用nRF24L01无线通信芯片。nRF24L01是一款具有 2.4GHz全球开放频率的无线通信芯片,具有低功耗、高速率、高稳定性等特点。 它将主控制器处理后的数据通过无线方式发送给接收器。
4、电源模块
本系统的电源模块采用9V电池供电。我们将9V电池通过稳压器转换为5V电源, 为整个系统提供稳定的电力支持。
三、测试与结果分析
为了验证本系统的可靠性和准确性,我们进行了一系列的测试。测试结果表 明,本系统能够准确快速地采集环境中的温湿度数据,并且能够稳定地将数据上 传至计算机或其他数据采集设备。同时,本系统的按键电路和液晶显示电路也表 现良好,用户可以通过按键调整系统的参数设置,并直观地查看温湿度数据。
2、液晶显示屏
为了方便用户直观地查看温湿度数据,本系统选用了一块16×2字符型液晶 显示屏。液晶屏的驱动电路简单易懂,且具有较低的功耗。
3、按键电路
为了便于用户对温湿度检测系统的参数进行设置,本系统加入了一个按键电 路。用户可以通过按键对系统的采样间隔、数据上传频率等参数进行设置。
4、串口通信电路
图1主程序流程图
2.温湿度采集模块
温湿度采集模块主要负责通过DHT11传感器采集环境中的温湿度数据。该模 块首先对DHT11传感器进行初始化,然后通过单总线接口接收传感器输出的温湿 度数据,最后对数据进行处理并存储。
3、液晶显示模块
液晶显示模块主要负责将温湿度数据显示在液晶屏上。该模块首先对液晶屏 进行初始化,然后根据主程序传递过来的温湿度数据,控制液晶屏的字符输出。
三、软件设计
本系统的软件设计主要分为以下几个步骤:
1、系统初始化:在系统上电后,首先进行各模块的初始化操作,包括DHT11 传感器、AT89C51单片机、nRF24L01无线通信芯片等。
基于51单片机的粮仓远程温度监控系统设计
基于51单片机的粮仓远程温度监控系统设计文章标题:基于51单片机的粮仓远程温度监控系统设计摘要:粮仓是储存谷物和油籽等粮食作物的重要场所,而粮食保存质量的高低与所储存环境的温度、湿度等因素有很大关系。
因此,建立一套粮仓远程温度监控系统对于提高粮食的保存质量具有重要意义。
本文基于51单片机设计了一套粮仓远程温度监控系统,实现了对于不同位置粮仓内的温度数据采集、传输和显示等功能。
通过对实验结果的分析,揭示了设计方案的可行性和优劣,为类似粮仓环境监控系统的研究提供了一定的指导意义。
关键词:51单片机;粮仓;温度监控;远程1.引言粮仓温度监控是指在粮仓内部设置温度传感器,实时监测粮仓内部的温度情况,并将其传送到监控设备进行处理分析,以保障储存谷物、油籽等粮食作物的品质安全。
目前,国内外对于粮仓监控技术的研究已有很多,但在解决远程监控和实时数据传输等方面仍存在一定的不足。
本文针对该问题,通过利用51单片机等材料组成粮仓远程温度监控系统,实现了远程监控和数据传输的功能。
在实验中,利用该系统对于不同位置粮仓的温度进行了实时监测,并对于实验数据进行了分析。
实验结果表明,该系统具有可行性和实用性,能够满足粮仓温度监控的需求,为粮仓环境监控技术的研究提供了新的思路和方向。
2.系统架构设计2.1 系统硬件结构本系统硬件结构主要包括MCU、传感器、显示器、无线通讯模块等四个部分。
MCU: 本系统采用的MCU是基于51单片机的AT89S52,具有强大的计算处理能力和丰富的外设资源,并且其运行稳定性和可靠性较高。
传感器:本系统采用的传感器为DS18B20数字温度传感器,采用单总线接口模式实现数字温度转换,具有精度高、应用广泛和性价比高等优点。
显示器:本系统的显示器采用OLED 0.96寸点阵显示屏,可以实现温度数据的实时显示和运行状态的提示。
无线通讯模块:本系统无线通讯模块采用了NRF24L01+2.4G无线传输模块,能够实现高速率的无线数据传输,具有传输距离长、抗干扰能力强等优点。
基于51单片机的粮仓温湿度检测
工 程 技 术DOI:10.16661/ki.1672-3791.2018.26.041基于51单片机的粮仓温湿度检测曾鹏 陈其军 段浩楠 高雁凤 许素安 陈锡爱(中国计量大学机电工程学院 浙江杭州 310018)摘 要:随着社会科学技术发展,越来越多的产业开始实现自动化。
近年来,互联网实时监控日渐普及,得到了广泛应用,本文设计了一套基于51单片机的粮仓温湿度检测系统。
该粮仓管理系统根据用户所期待的温湿度对环境(粮仓)进行检测,将数据通过2.4G无线网络上传并记录在数据库,并在超出阈值时报警。
关键词:粮仓管理 51单片机 温湿度检测 无线通讯 串口技术中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2018)09(b)-0041-03Abstract: For the large range of temperature f luctuations and pushing tube speed and temperature control matching problems, the heating system and hydraulic in the intermediate frequency bender are analyzed, transfer function of heating system and hydraulic system are established. A double closed loop controller is developed and variable integral PID method is adopted in hydraulic system control strategy. The results show that base on a double closed loop and variable integral PID control method ensures accurately control to the temperature and high-level quality to the elbows.Key Words: Double closed loop; Variable integral PID control; Medium-frequency heating; Pipe bender粮库是粮食仓库的简称,是存储粮食的重要方式,由粮食部门统一管理,担负着国家粮食储备、地方粮食储备、粮食流通的主渠道作用,其主要任务是完成粮食的接受、保管和调运输送等粮食流通诸环节。
基于51单片机的大棚温湿度自动控制系统
关键词:大棚、温湿度、智能、单片机、传感器
I
河南理工大学毕业设计(论文)说明书
ABSTRACT
In the modern agricultural production, shed greenhouse used more widely. It’s because of shed greenhouse people can buy everything in any seasons. The most important element of cultivate in shed greenhouse is the control of temperature and humidity. So, this project can finish the control of temperature and humidity with the help of SCM. As for the requirement of the temperature and humidity, this project use PC as host computer, use SCM as lower computer to take shape intelligent greenhouse environment measurement and control system. Considering economy, efficiency and functional this thesis design A89S52 as the core control apparatus and DHT11 as digital temperature and humidity sensor to measure and take samples. According to the analysis of the data and requirement, this system can make the control of greenhouse come true. For different parameters, we can use keyboard to set the anticipant range of the crop. The secondary computer communicates with host computer though RS232. In order that it's model block is composed of data acquisition, keyboard and display, siren and so on. At the last, this thesis presents the reliability and the measures to against interference, and make the system work more reliable and stable.
毕业论文+基于单片机的粮仓温湿度测控系统
毕业论文+基于单片机的粮仓温湿度测控系统一、绪论粮食是我们生活中非常重要的一个物资,它直接关系到我们的生命健康和经济利益。
而在粮食的储存过程中,温度和湿度是影响粮食品质的重要因素。
因此,对于粮仓内温度和湿度的测控,具有很高的实用价值。
基于单片机的粮仓温湿度测控系统,可以对粮仓内的温度和湿度进行实时监测和控制,并且可以使用网络通信功能,让用户可以通过手机、电脑等终端设备方便地查看和控制系统。
本文将详细介绍基于单片机的粮仓温湿度测控系统的设计与实现,包括系统的需求分析、硬件设计、软件设计、实现过程等方面。
二、系统需求分析根据粮仓的特点和系统的实际需求,本文对粮仓温湿度测控系统的需求进行了详细分析,主要包括以下几个方面:1.实时监测:系统需要能够实时监测粮仓内的温度和湿度,并将数据反馈给用户。
2.数据存储:系统需要能够将监测到的数据进行存储,便于用户进行历史数据的查看。
3.温湿度控制:系统需要能够根据用户的要求,对粮仓内的温湿度进行控制。
4.网络通信:系统需要具有网络通信功能,让用户可以通过手机、电脑等终端设备方便地查看和控制系统。
5.可靠性:系统需要具有高度的可靠性,能够在极端环境下正常工作。
三、系统硬件设计基于单片机的粮仓温湿度测控系统的硬件设计,主要包括传感器的选型和单片机的选型。
1.传感器选型为了能够实现对粮仓内温湿度的监测,我们需要选择合适的温湿度传感器。
根据实际需求,我们选择了DHT11温湿度传感器。
DHT11温湿度传感器采用数字采样技术,具有精度高、使用方便、成本低等优点,非常适合用于粮仓温湿度监测系统。
它可以通过单片机的数字口直接读取温度和湿度,数据精度达到0.1度,误差在±2度以内。
2.单片机选型单片机是粮仓温湿度测控系统的核心,它需要能够实现温湿度传感器数据的采集、通信等功能。
根据实际需求,我们选择了STC89C52单片机。
STC89C52是一款高性能、低功耗的8位微控制器,具有多种接口和通信功能,非常适合用于嵌入式应用。
基于51单片机的仓库温湿度监测系统的设计
基于51单片机的仓库温湿度监测系统的设计选题背景防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。
它直接影响到储备物资的使用寿命和工作可靠性。
为保证日常工作的顺利进行,首要任务是加强仓库内温度与湿度的监测工作。
但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。
这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。
因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。
系统总体设计本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,设计以8031基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系统软件等部分的设计。
系统总体框图系统由信号采集、信号分析和信号处理三个部分组成的。
1、信号采集:由AD590、HS1100及多路开关CD4051组成;2、信号分析:由A/D转换器MC14433、单片机8031基本系统组成;3、信号处理:由串行口LED显示器和报警系统等组成。
温度传感器AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。
根据特性分挡,AD590的后缀以I,J,K,L,M表示。
AD590L,AD590M 一般用于精密温度测量电路,其电路外形如下图所示,它采用金属壳3脚封装,其中1脚为电源正端V+;2脚为电流输出端I0;3脚为管壳,一般不用。
AD590外形1、流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数,即:IT/T=1μA /K。
式中:IT—流过器件(AD590)的电流,单位μA。
T—热力学温度,单位K。
2、AD590的测温范围-55℃- +150℃。
3、AD590的电源电压范围为4V-30V。
电流IT变化1μA,相当于温度变化1K。
基于51单片机温湿度监控系统毕业设计
基于51单片机温湿度监控系统毕业设计1. 引言温湿度监控系统是一种用于实时监测环境温度和湿度的设备,广泛应用于工业生产、农业种植、仓储物流等领域。
本文将介绍基于51单片机的温湿度监控系统的设计和实现过程。
2. 设计目标本设计旨在开发一款简单易用、功能稳定的温湿度监控系统。
具体设计目标如下:- 实时监测环境温度和湿度; - 提供用户界面,显示当前温湿度数据; - 当温湿度超出设定范围时,发出警报信号。
3. 硬件设计3.1 单片机选择本设计选用51系列单片机作为主控芯片,因其成本低廉、易于编程和广泛应用等优点。
3.2 温湿度传感器采用常见的DHT11数字式温湿度传感器,具有价格低廉、精确可靠等特点。
3.3 显示模块使用LCD1602液晶显示模块,能够直观地显示当前环境温湿度数据。
3.4 警报器选用蜂鸣器作为警报器,当温湿度超出设定范围时,发出警报信号。
3.5 其他外围电路为了实现与单片机的通信和控制,还需设计适当的电源、电压转换、数据传输等外围电路。
4. 软件设计4.1 系统框架本系统采用基于C语言的嵌入式软件开发,主要包括初始化、数据采集、数据处理和用户界面显示等模块。
4.2 初始化模块在系统启动时,需要对硬件进行初始化设置,包括配置串口通信、LCD1602显示模块和DHT11传感器等。
4.3 数据采集模块通过DHT11传感器采集环境温湿度数据,并将其转换为数字信号供单片机处理。
4.4 数据处理模块根据用户设定的温湿度范围,对采集到的温湿度数据进行判断和处理。
当温湿度超出设定范围时,触发警报信号。
4.5 用户界面显示模块通过LCD1602显示当前环境温湿度数据,并提供简单的操作界面,包括设定温湿度范围和查看历史数据等功能。
5. 系统实现5.1 硬件连接根据设计需求,将单片机、DHT11传感器、LCD1602显示模块和蜂鸣器等进行正确的连接。
5.2 软件编程使用C语言编写嵌入式软件程序,实现系统框架中各个模块的功能。
基于51单片机粮库无线温度监测系统的设计说明
科技学院2013届本科毕业论文基于51单片机粮库无线温度监测系统的设计与实现专业:通信工程中国﹒﹒2013年5月目录摘要ⅢAbstractⅣ第一章绪论 (1)1.1 引言 (1)1.2 现状 (2)1.3 目的和意义 (2)1.4 本文结构 (3)第二章方案的比较和论证32.1 温度传感器的选型 (3)2.2 无线发送模块的选型 (4)2.3 语音芯片的选型 (5)2.4 显示模块的选型 (6)第三章 MCS-51单片机的结构与原理简介 (7)3.1 MCS-51单片机的部结构 (8)3.1.1 MCS-51单片机的组成 (8)3.1.2 CPU (8)3.2 MCS-51单片机外部结构 (10)3.2.1 MCS-51单片机引脚功能 (10)3.2.2 复位和复位电路 (11)3.3 MCS-51单片机的定时器/计数器 (12)3.3.1定时器/计数器的结构 (12)3.3.2工作方式 (13)3.4 MCS-51单片机的中断系统 (14)3.4.1中断请求源和中断请求标志 (14)3.4.2中断控制 (15)第四章系统硬件设计 (17)4.1 系统硬件框图174.2 单片机模块184.3无线发送模块 (16)4.3.1 RF1100-232技术指标194.3.2 RF1100-232端口定义 (17)4.3.3 RF1100-232参数设定 (18)4.4 温度传感器模块 (22)4.4.1 DS18B20的管脚定义与部结构 (22)4.4.2 DS18B20温度数据格式 (26)4.4.3 DS18B20温度传感器工作原理 (27)4.5显示模块284.5.1 数码管显示294.5.2液晶显示304.6语音报温模 (28)4.6.1引脚与功能 (28)4.6.2 ISD1700典型的应用电路 (37)4.7其他模块384.7.1电源模块394.7.2超温报警模块 (32)第五章系统软件设计 (33)5.1系统开发环境简介 (33)5.1.1软件功能 (33)5.1.2 Keil软件使用方法 (33)5.2系统软件流程图495.3温度传感器驱动程序设计515.4无线收发模块程序设计565.5液晶显示驱动程序设计 (48)第六章设计总结 (53)参考文献 (54)附录 (55)致 (68)基于51单片机粮库无线温度监测系统的设计与实现摘要粮食是国家的战略物质,是人民的生活必需品。
基于51单片机的温湿度检测控制系统
摘要本次设计是采用MSC-51系列单片机中的AT89S51和DHT11构成的低成本的温湿度的检测控制系统。
单片机AT89S51是一款低消耗、高性能的CMOS8位单片机,由于它强大的功能和低价位,因此在很多领域都是用它。
DHT11温湿度传感器是一款含有已校准数字输出的温湿度复合传感器,传感器包括一个电阻式感湿原件和一个NTC测温元件,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
设计主要包括硬件电路的设计和系统软件的设计。
硬件电路主要包括单片机、温湿度传感器、显示模块、报警器以及控制设备等5部分。
其中由DHT11温湿度传感器及1602字符型液晶模块构成系统显示模块;测温湿度控制电路由温湿度传感器和预设温度值比较报警电路组成;用户根据需要预先输入预设值,当实际测量的温湿度不符合预设的温湿度标准时,发出报警信号(蜂鸣器蜂鸣),启动相应控制。
软件部分包括了主程序、显示子程序、测温湿度子程序。
关键词:AT89S51;DHT11;温湿度传感器AbstractMicrocontroller AT89S51 is a low consumption, high performance CMOS8 bit microcontroller.Because of its powerful features and low price, so it is used in many areas.DHT11 temperature and humidity sensor is a temperature and humidity combined sensor contains a calibrated digital output, the sensor consists of a resistor in the original sense of wet and a NTC temperature measurement devices.The product has many advantage,such as excellent quality, fast response, strong anti-jamming capability . This design is fromed by the AT89S51 in MSC-51 Series and DHT11 constitute which is a low-cost temperature and humidity measurement and control system. The design includes the design of hardware circuit design and system software.The hardware has Five modules.They are a microcontroller, temperature and humidity sensors, display module, alarm and control equipment. The 1602-character LCD module constitute the system display module.The temperature and humidity control circuit by the temperature and humidity sensors and preset temperature alarm circuit.According to the need of pre-enter the default value, when the actual measurement of the temperature humidity does not conform the preset temperature and humidity standards, send the alarm signal (buzzer will beep), and start the corresponding control.The software part includes the main program, the display routines, temperature and humidity subroutine.Key words:Temperature and humidity measurement;Temperature and humidity control;AT89S51 ;DHT11目录前言 (1)1.1本文研究的背景及意义 (1)1.2研究现状 (1)1.3本文研究的主要内容 (1)第2章设计任务分析及方案论证 (4)2.1设计过程及其工艺要求设计 (4)2.2设计总体方案及其论证 (4)2.3器件选定 (5)2.4AT89S51单片机 (11)2.5中断系统 (15)2.6复位电路 (16)2.7时钟电路 (17)2.8显示部分 (18)2.9本章小结 (26)第3章硬件设计 (27)3.1主控制电路和测温时控制电路 (27)3.2主要模块的电路 (28)3.3硬件实施控制 (33)3.4设备运行 (35)3.5控制设备: (36)3.6本章小结 (38)第4章软件设计 (39)4.1系统流程图 (39)4.2按键流程图 (41)4.3P ROTUES运行结果 (42)4.4本章小结 (43)结论 (44)参考文献 (45)附录 (47)前言1.1本文研究的背景及意义粮库已经被广泛的运用,是存储粮食的一个重要方式。
基于51单片机的温度采集系统(Labview做上位机)
基于51单片机的温度采集系统(Labview做上位机)做该设计的初衷是为自己的毕设打基础,因为我的毕设要做一个探测机器人,需要对某一地区的各种环境参数进行检测,然后通过WIFI返回到上位机。
所以为了搞懂温度传感器以及练习上位机的设计,花了几天时间做了一个很简单的采集系统。
今天把它拿出来跟各位小伙伴们分享,希望对各位有所帮助,同时也希望大佬们指出不足,起到一个相互学习,相互促进的作用。
该系统原理是:51单片机把ds18b20传感器将采集到的温度值(十六进制)通过串口发送到labview,labview对单片机发来的数据做简单的处理然后显示。
上位机界面上位机(接受程序)简单的硬件连接数据纪录串口部分:void main() {if(flag==1||flag1==1) {S=test/10;Y=test%10;ES=0;flag=0;SBUF=S;while(!TI);TI=0;SBUF=Y;while(!TI);TI=0;if(temperature!=test)flag1=1;ES=1;}}//串口中断void ser() interrupt 4{if(RI==1){RI=0;a=SBUF;if(a=='1') P1=0x55;if(a=='0') P1=0xaa;flag=1;}}温度采集部分:#include#include "ds18b20.h"#include "delay.h"sbit DQ=P2^2; //温度传感器 I/O 口uchar reset_ds18b20(){uchar presence;DQ=0;delay_ds18b20(29); //延时480 - 960 us DQ=1; delay_ds18b20(3); //延时 15 - 60 us presence=DQ;delay_ds18b20(25); //延时 60 - 240 usreturn(presence);}uchar read_bit_ds18b20(){uchar i;DQ=1;delay_ds18b20(1);DQ=0;//delay(1); //延时 15us 也可以不延时DQ=1;//delay(3); //延时 1 - ∞ usfor(i=0;i<3;i++);return(DQ);}void write_bit_ds18b20(uchar dat){DQ=0; //置0 无需延时if(dat==1)DQ=1;delay_ds18b20(1); //延时 60 - 120 us DQ=1;delay_ds18b20(1); //延时 1 - ∞ us }void write_byte_ds18b20(uchar dat){uchar i,j;for(i=0;i<8;i++){j=((dat>>i)&0x01);write_bit_ds18b20(j);//delay(1); //延时 1 - ∞ us}}uchar read_byte_ds18b20(){uchar dat=0;uchar i;for(i=0;i<8;i++){if(read_bit_ds18b20())dat|=0x01<<>//delay(1); //延时 1 - ∞ us}return(dat);}int read_temp_ds18b20(){uchar templ=0,temph=0;int temp=0;reset_ds18b20();//复位write_byte_ds18b20(0xcc); //跳过ROMwrite_byte_ds18b20(0x44); //跳过温度采集delay_ds18b20(10); //750msreset_ds18b20();write_byte_ds18b20(0xcc); //跳过ROMwrite_byte_ds18b20(0xbe); //准备好数据(开始温度转换采集)templ=read_byte_ds18b20();//读低字节温度值temph=read_byte_ds18b20();//读低字节温度值temp=(templ+(temph*256));return(temp); }关键字。
基于51系列单片机仓库温湿度的实时监测系统设计
毕业设计有关说明一、温度传感器的选择、湿度传感器的选择、系统总体设计1. 温度传感器的选择采用AD590,它的测温范围在-55℃~+150℃之间,而且精度高。
M档在测温范围内非线形误差为±0.3℃。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏,使用可靠。
它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。
作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。
2.湿度传感器的选择采用HS1100/HS1101湿度传感器。
HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。
不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。
相对湿度在1%---100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04 pF/℃。
可见精度是较高的。
3.总体设计系统整体框图二、系统联调的有关说明1. AD590应用电路AD590应用电路2. 主程序流程图时间过的很快,一晃大学几年的生活已接近了尾声在目,当初还是刚进大学的懵懂少年现在也长大了学到了很多,也懂得了很多。
随着毕业日子的到,毕业设计也接近了尾声。
经过两个月的奋战我的毕业设计终于完成了。
在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。
毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次毕业设计使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论文题目:粮仓温湿度监测系统(软件)专业:自动化本科生:孙婷婷(签名)___________指导教师:乐春峡(签名)___________摘要本设计是以单片机为核心,配合温度传感器(DS18B20)和湿度传感器(HIH-4010),相关的外围电路以及上位机(VB)显示组成了粮仓温湿度监测系统,可以监测粮仓环境的温度和湿度信号,检测人员可以通过LCD1602液晶显示的数据或者上位机(VB),实时监控粮仓环境的温度和湿度情况。
所有的测量操作都可以通过主机控制软件来实现,温度传感器得到的测量信号,经电路转换为电信号,直接送入单片机。
湿度传感器则需要经过A/D转换芯片(TLC549)的处理送到单片机进行数据处理,然后经过软件分析处理后送显示装置。
本系统还应用RS232与上位机相连接,可以设置温度、湿度的报警值,也可以实时显示温湿度的采样值,并将其存入数据库,便于以后对于数据的处理。
关键词:STC89C52RC单片机,温度传感器,湿度传感器,LCD显示,上位机Subject: Barn Temperature and Humidity Monitoring System (Software) Specialty: AutomationName: SunTingting (Signature) ___________ Instructor: YueChunxia (Signature) ___________ABSTRACTThis design is based on single chip microcomputer as the core including the temperature sensor (DS18B20), humidity sensor (HIH-4010), the related peripheral circuit and PC (VB) . It can monitor the temperature and humidity signal of granary environment. Workers can display data through the LCD1602 or PC (VB) in time to monitor the barn conditions. All of the measuring the operation can be controlled by software .Temperature sensors can get the signal and the circuit converts them into electrical signals to send the microcontroller. Humidity sensor need to make use of A/D conversion chip to convert the data to analysis them by MCU sending them to display device by software.This system is connected with PC by RS232.It can set alarm value of the temperature and humidity .It also can display temperature and humidity in time, and save them in the database to handle the data conveniently in the future.Key words: STC89C52RC microcontroller, temperature sensors, humidity sensors, LCD display, PC目录第1章前言 (1)1.1背景 (1)1.2国内外研究现状及发展趋势 (1)1.3设计的目的及意义 (2)1.4设计的主要工作 (3)1.5本文的主要内容 (3)第2章系统的软件设计 (4)2.1单片机及其外围电路软件设计 (4)2.1.1系统总体框图设计 (4)2.1.2主程序流程图 (5)2.1.3 DS18B20温度传感器 (6)2.1.4 HIH4010湿度传感器 (6)2.1.5 TLC549 A/D转换模块 (8)2.1.6 LCD1602显示模块 (9)2.1.7按键模块 (10)2.1.8报警模块 (10)2.1.9串口通信模块 (12)2.1.10小结 (13)2.2上位机软件设计 (13)2.2.1上位机系统总体设计 (14)2.2.2系统各个模块 (14)2.2.3 小结 (33)第3章系统调试和结果分析 (34)3.1单片机调试及分析 (34)3.2上位机调试及分析 (34)第4章总结 (35)参考文献 (36)致谢 (37)附录 (38)1.仿真原理图 (38)2硬件原理图 (39)3.上位机显示图 (40)4.实物图 (40)5.单片机程序 (41)第1章前言1.1背景俗话说“国以民为本,民以食为天”,粮食是一个国家的立国之本。
是一个国家稳定繁荣的基础。
所以说粮食对于国家的重要性是不言而喻的。
也正因为如此粮食的科学储藏就显得尤为重要。
就我们国家来说,粮食一般存放在粮仓中。
对于一些大型粮仓或多或少都还存在着不同程度的粮食储存变质问题。
根据国家粮食保护法规定,必须定期抽样检查粮仓粮食的温度和湿度,以便及时采取相应的措施,防止粮食的变质。
但大部分粮仓目前还是采取人工测量温度和湿度的方法,这不仅使粮仓工作人员工作量增大,且工作效率低,如果检测任务如不能及时彻底的完成,则很有可能会造成粮食大面积变质。
1.2国内外研究现状及发展趋势随着传感器技术、计算机应用技术、超大规模集成电路技术和网络通信技术的发展,监控系统广泛应用于工农业生产等领域,在此同时,粮仓温湿度监控技术的研究在软、硬件等方面都有了一定的进展。
初期,以热敏电阻,湿敏电阻作为传感器件,通过检测电阻的变化来反映粮食温湿度的变化,为粮食保管提供参考依据。
采用人工测量与人工抄录、管理相结合的传统方法,并且用人工的办法对粮食进行晾晒,通风,喷洒药剂防止因存储不当引起的温湿度异常及虫害,消耗了大量的人力和财力,效率较低。
这30年里,粮情检测技术在祖国的广大科技工作者不断地探索与努力下,不断完善、进步、并日趋成熟,逐步形成了多样化的粮仓检测系统,推动了安全、科学储粮了发展。
目前,国内生产的粮仓温湿度监控系统种类繁杂,系统结构均不相同,在粮仓外部温湿度检测、粮食内部温湿度检测及分析、通风机械的控制等方面,比之前有了不少进步但仍有发展的空间。
国外的温湿度监控系统相对比较先进,主要体现在以下三个方面:(1)无论是传感器的测量精度、反应速度、稳定性、功能多样性还是使用环境方面,国外的传感器都比较先进。
(2)构成系统整体的测控技术和管理,无论是硬件还是软件,都已普遍采用相应的标准模块集成,并且早已实现组态。
(3)系统结构已经普遍采用网络连接的现场总线技术(FCS),有些需要的场合,则连接到Internet上,实现远程控制、远程诊断。
粮仓温湿度监控系统主要应用于监测粮仓环境空间的温度及相对湿度,从系统控制的角度来看,属于纯滞后控制,而这一技术已经相当成熟。
目前研制高精度,高性能,多功能的温湿度监控系统是主流,提高可靠性、灵活性和降低成本也是其考虑的重点,并且系统在报警、记录、控制、通信等方面的自动化和智能化也将逐步完善。
1.3设计的目的及意义科学储粮是粮食生产的一个重要环节,若管理不当,粮食发霉或生虫会造成极大浪费,而粮仓管理中最重要的问题是监测粮堆中温度和湿度的变化。
现在,我国在粮仓建设上己经实现了规范化,但是监测手段一直未能实现同步现代化。
我国许多储备粮仓每年都因测控设备的不完善而导致部分粮食霉变,许多大型储备粮仓的测控设备仍需高价进口,因此国家准备在未来的几年内对全国所有的粮仓进行翻新和改造工作,要求规范粮仓管理,实现粮仓管理现代化。
影响储粮安全的最主要因素是粮堆内的温度和湿度,因此这就要求有一种经济实用的粮仓温湿度监控系统能够及时监测粮仓温度和湿度分布,准确分析粮仓温湿度变化,并及时采取相应控制措施,使得管理人员能够方便有效地进行监控操作。
基于以上内容,我们的目的是设计一款经济、操作方便、实用的粮仓温湿度监控系统。
该系统,用单片机作为下位机,对现场的温湿度数据进行采集,同时采用PC机作为上位机,对粮仓进行实时监控。
通过RS232实现下位机与上位机的数据通信。
粮仓温湿度监控系统是通过现场的单片机检测粮库中粮食的基本温湿度情况。
利用上位机对粮仓进行监控,用户可方便地构造自己需要的数据采集系统,可以查看历史数据,优化现场作业,提高了生产效率,增强了国家粮食储备安全水平,以获得实时粮仓管理,实现自动化、智能化,为实现我国粮仓管理现代化更近了一步。
1.4设计的主要工作该系统主要利用单片机来测量粮仓中的温度和湿度,为了完成系统功能做以下设计:(1) 根据粮仓温度、湿度的测量范围及要求,选择温湿度传感器。
(2) 设计温湿度测量系统,使之具有测量、报警、设定限定值及实时显示的功能。
(3) 设计基于RS232的通信系统及基于Visual Basic 6.0的人机界面。
1.5本文的主要内容本文对所设计的系统进行了介绍和总结,具体安排如下:第一章:引言,主要介绍了本系统的背景,研究现状,发展方向以及本设计主要内容;第二章:系统的软件设计,分为单片机(下位机)和VB(上位机)两大部分。
第一部分主要介绍了单片机的各个功能模块的软件设计,如温湿度传感器,A/D转换芯片,LCD1602等,第二部分主要是VB上位机的软件设计第三章:总结,对本次毕业设计过进行总结,并对系统的功能和存在的问题进行分析,还陈述了可行的改进方案。
第四、五、六章,分别为致谢,参考文献和附录。
第2章系统的软件设计2.1单片机及其外围电路软件设计2.1.1系统总体框图设计该系统主要由以下功能块构成:中央控制处理器STC89C52RC;数据采集系统(包括温度传感器DS18B20,湿度传感器HIH4010),显示模块,报警电路,键盘控制系统以及上位机显示。
系统总框图如图2-1所示:图2-1 基于DS18B20和HIH4010的粮仓温湿度监测系统方框图2.1.2主程序流程图图2-2 系统流程图2.1.3 DS18B20温度传感器DS1820数字化温度传感器是高度集成的单总线式的,体积小、功耗低,抗干扰是它的优点。
所以本系统采用DS18B20测量粮仓温度值。
单片机的P2.4作为其控制口,与其DQ端口连接。