基于STC89C52单片机的温湿度检测电路设计

合集下载

基于STC89C52单片机的粮仓温湿度的系统设计

基于STC89C52单片机的粮仓温湿度的系统设计

学号:常州大学毕业设计(论文)(2012届)题目学生学院专业班级校内指导教师专业技术职务校外指导老师专业技术职务二○一二年六月基于STC89C52单片机的粮仓温湿度的系统设计摘要:温湿度作为一个重要的物理量,是粮食仓库中最普遍、最重要的工艺参数之一。

随着科学技术的不断更新,对温湿度测量的准确性要求不断提高,因此温湿度检测也成为一个重要的研究课题。

本设计是基于单片机对数字信号的高敏感性和可控性以及数字温湿度传感器可以产生数字信号的性能,设计了以STC89C52为核心的一套控制系统,其中包括单片机、温湿度检测、键盘及显示、报警电路、系统软件等部分的设计。

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K可编程Flash 存储控器。

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。

它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

关键词:温湿度;STC89C52;DHT11传感器;Temperature and Humidity of Granary System design basedon STC89C52 MicrocontrollerAbstract: Temperature and humidity as an important physical quantity, is one of the most common food warehouse, the most important process parameters. As the times progress, social development, science and technology constantly updated, the accuracy of measurement of temperature and humidity requirements continue to improve, so the temperature and humidity testing has also become an important research topic.The design is based on single-chip digital signal high sensitivity and controllability, as well as digital temperature and humidity sensors can produce the performance of digital signal, design a control system STC89C52 as the core, Including the microcontroller, temperature and humidity testing, keyboard and display, the alarm circuit, system software, and other parts of the design.STC89C52 a low-power, high performance CMOS8 bit microcontroller with 8K programmable Flash storage controller. DHT11 digital temperature and humidity sensor is a composite Sensor contains a calibrated digital signal output of the temperature and humidity. Application of a dedicated digital modules collection technology and the temperature and humidity sensing technology, to ensure that products with high reliability and excellent long-term stabilityKey words: Temperature and Humidity; STC89C52; DHT11 sensor;目录摘要 (I)1 绪论 (1)1.1课题开发的意义 (1)1.2课题开发的背景 (1)1.3课题开发的目标 (2)2系统总体分析 (2)2.1 总体方案设计 (2)2.2 硬件选择 (3)2.3 系统仿真 (4)3硬件设计 (6)3.1 Protel硬件开发软件 (6)3.2 单片机系统模块 (7)3.3 温湿度检测模块 (12)3.4 显示模块 (14)3.5 温湿度上限存储模块 (17)3.6 电源及程序下载模块 (19)4 软件设计 (21)4.1 主程序 (21)4.2 温湿度检测模块程序 (22)4.3 LCD显示模块程序 (23)5 系统实现与调试 (24)5.1 电路板焊接注意事项 (24)5.2 程序下载 (24)5.3 系统运行 (25)参考文献 (27)致谢 (28)附录 A (29)附录 B................................................................................ 错误!未定义书签。

STC89C52单片机温湿度检验装置的设计

STC89C52单片机温湿度检验装置的设计

STC89C52单片机温湿度检验装置的设计摘要:本文拟设计一款基于STC89C52单片机的库存温湿度智能化控制系统,传感器模块选择一体式的温湿度传感器DHT11硬件模块,选择LCD1602液晶显示屏模块进行数据的动态化显示,在外接控制设备上连接继电器控制,并且采用语音模块实现动态化的语音播报效果。

关键词:STC89C52;硬件;模块;单片机;温湿度前言:本次系统在设计目标的基础上采用模块化的设计方案,从温湿度测量、显示功能、控制实现三个角度进行综合设计,硬件系统具体分为5个基本模块,分别是STC89C52单片机主控模块、DHT11温湿度检测模块、LCD1602液晶显示模块、继电器控制模块以及按键阈值调整模块。

在传感器模块中,考虑DHT11数字温湿度传感器模块,通过对当前环境内的温湿度进行检验,测量得到的数据需要传输到单片机内进行数据处理与分析,并且将对应的数据存储到LCD1602显示模块,为了提升显示的稳定性,系统设置传感器数据采集间隔时间为2s。

系统整体采用继电器负载驱动装置,在环境温度与湿度超出设定阈值范围的基础上对负载实现驱动控制,不同模块对应降温、升温、干燥、喷水四个功能。

1 硬件设计1.1 单片机模块本次设计的主控模块选择STC89C52单片机作为主控装置,STC89C52单片机的时钟信号产生主要通过内部时钟方式以及外部时钟方式两种进行控制,单片机内部有单独的振荡电路,需要接入到XTAL引脚上,外接到陶瓷振荡器或者晶体构成晶振,形成的自激振荡器可以为单片机的内部提供时钟信号。

晶振电路上的C1与C2实现快速起振以及频率稳定控制两种效果,选择的电容数值控制在5-30pF之间,数据的典型值为30pF。

晶振电路的频率典型值为11.0592MHz。

复位电路是实现单片机初始化的电路结构,单片机最小系统中的复位电路主要通过按钮复位以及上电复位两种方式。

上电复位是通过与外部电路复位电容实现充放电的过程,在Vcc上升时间控制在1ms以下,可以实现上电复位操作。

基于STC89C52单片机的温湿度检测系统设计_课程设计说明书

基于STC89C52单片机的温湿度检测系统设计_课程设计说明书

基于STC89C52单片机的温湿度检测系统设计摘要:温湿度是生活生产中的重要的参数。

本设计为基于单片机的温湿度检测与控制系统,采用模块化、层次化设计。

用新型的智能温湿度传感器DHT11主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。

报警系统根据设定报警的上下限值实现报警功能,显示部分采用LCD1602液晶显示所测温湿度值。

系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。

关键词:单片机;温湿度传感器; LCD显示Summary:Temperature and humidity is important in the life of the production parameters. The design of microcontroller-based temperature and humidity measurement and control system, modular, hierarchical design. With the new intelligent temperature and humidity sensors DHT11 main achievement of the temperature, humidity testing, the temperature and humidity sensor signal acquisition and signal into digital signal, then the use of single-chip STC89C52RC for data analysis and processing, to provide for the display and alarm circuit signal, the control of temperature and humidity alarm. Alarm system alarm according to the upper and lower limits set an alarm function, some use LCD1602 display the temperature and humidity values. System circuit is simple, highly integrated, stable, easy debugging, high precision and has some practical value.Keyword:SCM; temperature and humidity sensor; LCD display目录第1章概述 (3)1.1课题背景 (3)1.2主要内容 (4)第2章系统总体方案设计 (4)2.1 温湿度传感器 (5)1、DHT11产品概述 (5)2、引脚说明 (6)3、电源引脚 (6)4、串行接口(单线双向) (6)2.2 RS232接口 (7)2.3 单片机STC89C52 (7)1、主要特性如下: (7)2、 STC89C52RC单片机的工作模式 (8)第3章系统的硬件设计和连接 (11)3.1、时钟电路 (11)3.2、复位电路 (12)3.3、晶振电路 (12)3.4、LCD1602 (13)3.5、报警电路 (15)第4章仿真软件介绍 (16)4.1、Proteus软件 (16)4.2、Keil C51软件 (17)第5章硬件电路的调试 (18)第6章总结 (19)参考文献 (20)附录: (21)第1章概述1.1课题背景温湿度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用。

基于STC89C52单片机的温度控制电路设计

基于STC89C52单片机的温度控制电路设计

2.7系统整体硬件电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主控电路等,通过Protel99se 可画出如图2-9所示的电路图[9][10][11]图2-9 温度控制电路原理三系统软件设计3.1 温度控制系统原理框图主控制程序的主要是用来实时控制当前所要测控的环境温度,并读出由DS18B20测量的经过处理的当前环境的温度值,同时检查温度是否在限度之内,否则报警,同时调整温度值。

其主控制程序流程图如3-1所示。

图3-1 主程序流程图图3-2读温度流程图温度控制系统C语言程序#include <reg51.h>#define uint unsigned int#define uchar unsigned charsbit p34=P2^4;sbit p35=P2^5;sbit p36=P2^6;sbit dp=P0^7;sbit p37=P2^7;sbit DQ=P2^2; //定义DS18B20总线I/Osbit SET=P3^1; //定义选择报调整警温度上限和下限(1为上限,0为下限)sbit LING=P2^0; //定义闪烁signed char m; //温度值全局变量bit sign=0; //外部中断状态标志signed char shangxian=38; //上限报警温度,默认值为38signed char xiaxian=5; //下限报警温度,默认值为5ucharcode LEDData[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}; /*****延时子程序*****/void Delay(uint i){while( i-- );}/*****初始化DS18B20*****/void Init_DS18B20(void){unsigned char x=0;DQ=1;Delay(8); //稍做延时DQ=0; //单片机将DQ拉低Delay(80); //精确延时,大于480usDQ=1; //拉高总线Delay(14);x=DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay(20);}/*****读一个字节*****/unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat=0;for (i=8;i>0;i--){DQ=0; // 给脉冲信号dat>>=1;DQ=1; // 给脉冲信号if(DQ)dat|=0x80;Delay(4);}return(dat);}/*****写一个字节*****/void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ=0;DQ=dat&0x01;Delay(5);DQ=1;dat>>=1;}}void Tmpchange(void) //发送温度转换命令{Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0x44); //启动温度转换}/*****读取温度*****/unsigned int ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Tmpchange();Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器a=ReadOneChar(); //读低8位b=ReadOneChar(); //读高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*100+0.5; //放大100倍输出并四舍五入return(t);}/*****显示开机初始化等待画面*****/Disp_init(){P0 = 0x80; //显示-p34=1;p35=0;p36=0;p37=0;Delay(200);P0 = 0x80;p34=0;p35=1;p36=0;p37=0;Delay(200);P0 = 0x80;p34=0;p35=0;p36=1;p37=0;Delay(200);P0 = 0x80;p34=0;p35=0;p36=0;p37=1;Delay(200);P0 = 0x80;}/*****显示温度子程序*****/Disp_Temperature() //显示温度{uint a,b,c,d,e;e=ReadTemperature(); //获取温度值a=e/1000; //计算得到十位数字b=e/100-a*10; //计算得到个位数字d=e%10; //计算得到小数点后两位c=(e%100)/10; //计算得到小数点后一位m=e/100;if(m>shangxian || m<xiaxian) LING=1; //温度不在范围内报警else LING=0;p34=0;p35=0;p36=0;p37=0;P0 =LEDData[d]; //显示小数点后两位p34=1;p35=0;p36=0;p37=0;Delay(300);p34=0;p35=0;p36=0;p37=0;P0 =LEDData[c]; //显示小数点后一位p34=0;p35=1;p36=0;p37=0;Delay(300);p34=0;p35=0;p36=0;p37=0;P0 =LEDData[b]; //显示个位dp=0;p34=0;p35=0;p36=1;p37=0;Delay(300);p34=0;p35=0;p36=0;p37=0;P0 =LEDData[a]; //显示十位p34=0;p35=0;p36=0;p37=1;Delay(300);p34=0;p35=0;p36=0;p37=0; //关闭显示}disptiaozheng(){uchar f,g,j,k;f=shangxian/10;g=shangxian%10;j=xiaxian/10;k=xiaxian%10;p34=0;p35=0;p36=0;p37=0;P0 =0xc0; //显示0p34=1;p35=0;p36=0;p37=0;Delay(200);p34=0;p35=0;p36=0;p37=0;P0 =0xc0; //显示0p34=0;p35=1;p36=0;p37=0;Delay(200);p34=0;p35=0;p36=0;p37=0;if(SET==1){P0 =LEDData[g];dp=0; //显示上限温度个位}else{P0 =LEDData[k];dp=0;}p34=0;p35=0;p36=1;p37=0;Delay(200);p34=0;p35=0;p36=0;p37=0;if(SET==1) P0 =LEDData[f]; //显示上限温度十位else{if(f==0) P0=0x00; //不显示下限温度十位else P0 =LEDData[j]; //显示下限温度十位}p34=0;p35=0;p36=0;p37=1;Delay(200);p34=0;p35=0;p36=0;p37=0; //关闭显示Delay(20);}/*****外部中断0服务程序*****/void int0(void) interrupt 0{EX0=0; //关外部中断0 sign=1;if(SET==1) shangxian++;else xiaxian++;Delay(500);EX0=1;}/*****外部中断1服务程序*****/void int1(void) interrupt 2{EX1=0; //关外部中断0 sign=1;if(SET==1) shangxian--;else xiaxian--;Delay(500);EX1=1;}/*****主函数*****/void main(void){uint z;IT0=1;IT1=1;EX0=1;EX1=1;EA=1;ReadTemperature();LING=0;for(z=0;z<100;z++){Disp_init();}while(1){Disp_Temperature();if(sign==1){for(z=0;z<300;z++)disptiaozheng();sign=0;}}}。

基于STC89C52单片机的温湿度环境监测系统设计与实现

基于STC89C52单片机的温湿度环境监测系统设计与实现

43第2卷 第19期产业科技创新 2020,2(19):43~44Industrial Technology Innovation 基于STC89C52单片机的温湿度环境监测系统设计与实现*倪丹艳(苏州高博软件技术职业学院,江苏 苏州 215163)摘要:文章主要设计实现基于单片机的温湿度环境监测系统。

本设计以STC89C52单片机为核心控制模块,外接DHT11温湿度及GP2Y1010AU粉尘传感器进行环境温湿度与PM2.5值的实时采集,利用ADC0832模数转换芯片将采集到的芯片传输至单片机,选用LCD1602液晶显示器对温湿度及PM值实时显示。

为了使用户及时查看环境适宜程度,通过蓝牙协议将数据传送至用户手机端。

关键词:STC89C51;温湿度;蓝牙中图分类号:TP311 文献标识码:A 文章编号:2096-6164(2020)19-0043-02随着时代的发展和工业水平进步,人民的生活水平得到极大地提高,对于生活环境质量要求也日益提高,环境中的温度、湿度及PM2.5这些指标也备受大家关注。

在智能家居领域,现代人追求高品质舒适生活,对环境要求进一步提升,以环境监测为主的智能家居设备广受追捧,PM2.5传感器、温湿度传感器得到广泛应用。

1 系统总体设计1.1 总体设计方案本设计主要以STC89C52单片机为核心控制模块实现温湿度及PM2.5值监测,系统主要有以下功能:温湿度采集、显示模块、传感器信号处理、蜂鸣器报警及蓝牙通信模块。

本设计的系统框图如下图1所示。

本设计可以实时监测环境温湿度、PM2.5值,并将采集的数据显示在液晶屏幕上。

为了用户使用方便,通过通信模块将用户手机连接至该系统,可及时查看环境舒适程度。

图1 系统设计框图1.2 系统原理图本文主要设计一个实时显示温度和湿度的检测系统,可以检测周围的温度、湿度有与空气PM2.5。

通过蓝牙将检测到的数据检测到用户端。

整个系统原理图如下图2所示。

基于STC89C52单片机的温湿度检测电路设计

基于STC89C52单片机的温湿度检测电路设计

基于单片机的车间温湿度控制系统学生姓名:霍晓东学号:20084073831指导教师:孟洁所在学院:信息技术学院专业:电气工程及其自动化中国·大庆2012年 5 月黑龙江八一农垦大学本科毕业设计(论文)任务书摘要本设计是基于STC89C52单片机的温湿度检测电路设计,采用单总线传输模式的AM2301传感器,对温度湿度分别测量并通过液晶显示屏1602显示。

单片机采集到AM2301温湿度传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。

本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。

关键词:温度湿度单片机目录摘要ﻩ错误!未定义书签。

ABSTRACTﻩ错误!未定义书签。

前言 (IV)1设计要求............................... 错误!未定义书签。

2方案设计及论证ﻩ12.1系统主要单元的选择与论证ﻩ错误!未定义书签。

2.2 总体方案设计ﻩ错误!未定义书签。

3 单片机主模块设计....................... 错误!未定义书签。

3.1单片机主电路设计................. 错误!未定义书签。

3.2主程序流程图ﻩ错误!未定义书签。

3.3主程序设计ﻩ错误!未定义书签。

4温湿度检测模块设计................... 错误!未定义书签。

4.1温湿度检测电路设计.............. 错误!未定义书签。

4.2温湿度检测流程图.................. 错误!未定义书签。

4.3温湿度检测程序设计................ 错误!未定义书签。

5液晶显示模块设计....................... 错误!未定义书签。

5.1 1602液晶显示模块电路设计....... 错误!未定义书签。

5.2液晶显示流程图.................. 错误!未定义书签。

5.3 液晶显示程序设计................. 错误!未定义书签。

基于51单片机stc89c52的温湿度检测系统

基于51单片机stc89c52的温湿度检测系统

课程设计基于msp430单片机F5529的文本提取及触摸按键测试单位:11电子科学与技术姓名:康自林学号:1110359【摘要】本设计以MSP430单片机的F5529芯片为核心,利用程序代码提取已存信息以及触摸按键的测试【关键词】msp430单片机触摸按键提取文本目录一、设计目的及意义……………………………………二、系统软件基本思路…………………………………三、系统调试……………………………………………四、程序……………………………………………基于msp430f5529单片机的简单程序设计一、设计目的及意义在不用sd卡的情况下,利用芯片内部小容量存储来实现提取文本功能,以及利用触摸按键来显示不同图案二、msp430f5529介绍1、超低功率a)230 μA/MHzb) 1.9 μA 待机模式c)从待机模式唤醒仅需< 5 μs2、增强性能d)高达25 MHze)全线产品8 MHz (1.8 - 3.6 V)f) 1.8V ISP 闪存擦除及写入g)自动防故障,灵活的时钟系统3、创新性能h)集成LDO,BOR,WDT+,RTCi)多通道DMA支持待机模式下的数据传送j)更多连接方式:USB,RFk)AES加密,RTC后备电池l)用户定义的引导装入程序m)业界领先的代码密度4、主电路图三、系统软件基本思路根据系统定义,用C语言以及430单片机语言编写代码,并使系统能够正常工作,流程图如下:四.程序1.显示进入页面#include<stdint.h>#include"msp430.h"#include"HAL_PMM.h"#include"HAL_UCS.h"#include"HAL_Board.h"#include"HAL_Buttons.h"#include"HAL_Cma3000.h"#include"HAL_Dogs102x6.h"#include"HAL_Menu.h"#include"HAL_Wheel.h"#include"LPM.h"#include"PMM.h"#include"lab2.h"uint16_t timeoutCounter;// This image has been created by ImageDog using 'ti_bug.jpg'static const uint8_t tiBug[] ={0x42, // Image width in pixels0x08, // Image height in rows (1 row = 8 pixels)0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x02,0x03,0x01,0x00,0x03,0x03,0x02,0x02,0x03,0x03,0x02,0x02,0x03,0x03, 0x00,0x02,0x02,0x03,0x07,0x04,0x04,0x03,0x03,0x02,0x02,0x02,0x02,0x02,0x03,0x03, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x20,0x20,0x3F,0xBF,0x02,0xFA,0xFA,0x92,0x93,0xFF,0xFF,0x93,0x92,0xFA,0xFA, 0x02,0x41,0x4F,0xFF,0xFF,0x4E,0x46,0xEB,0xE9,0x49,0x49,0x4F,0x4F,0x49,0xE9,0xE9, 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x20,0xE0,0xC0,0xE0,0xE0,0x40,0xC0,0x80,0xF0,0xF0,0x80,0xC0,0x40,0x60, 0x20,0x80,0x00,0xF0,0xF0,0x00,0x20,0x20,0x20,0x20,0x20,0xE0,0xE0,0x20,0x20,0x20, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x44,0x67,0x37,0x14,0x0D,0x1D,0x79,0x71,0x41,0x41,0x41,0x7D,0x7D,0x05, 0x04,0x04,0xC4,0x77,0x37,0x00,0x04,0x04,0x04,0x04,0xFF,0xFF,0xFF,0x04,0x04,0x04, 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xFC,0xFC,0x1A,0x1E,0xC6,0xE4,0x7C,0x18,0x18,0x7C,0xE4,0xC6,0x02, 0x02,0x00,0x00,0xFE,0xFE,0x0C,0x18,0x18,0x00,0x00,0xFE,0xFE,0xFE,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,};void main(void){uint8_t contrast = *((unsigned char *)contrastSetpointAddress); //读取FLASH中对比度值uint8_t brightness = *((unsigned char *)brightnessSetpointAddress); //读取FLASH中背光值// Initialize accelerometer offset from flashCma3000_setAccel_offset(*((unsigned char *)accelXcalibrationAddress), //初始化加速度偏移量*((unsigned char *)accelYcalibrationAddress),*((unsigned char *)accelZcalibrationAddress));// Stop WDTWDTCTL = WDTPW + WDTHOLD; //关闭看门狗// Basic GPIO initializationBoard_init(); //初始化GPIO// Set Vcore to accomodate for max. allowed system speedSetVCore(3); //设VCore为最大// Use 32.768kHz XTAL as referenceLFXT_Start(XT1DRIVE_0); //利用LFXT1(32.768kHZ)作为时钟参考// Set system clock to max (25MHz)Init_FLL_Settle(25000, 762); //利用FLL(锁频环)将系统时钟设为最大25MHZSFRIFG1 = 0; //清中断标志SFRIE1 |= OFIE; //使能晶振失效中断// Globally enable interrupts__enable_interrupt(); //使能全局中断// Setup real time clock//SetupRTC(); //设置实时时钟// Set up LCDDogs102x6_init(); //初始化LCDDogs102x6_backlightInit(); //背光初始化// Contrast not programed in Flash Yetif (contrast == 0xFF) //若当前FLASH中无对比度值,则将对比度值设为11(默认)// Set Default Contrastcontrast = 11;// Brightness not programed in Flash Yetif (brightness == 0xFF) //若当前FLASH中无背光值,则将背光值设为11(默认)// Set Default Brightnessbrightness = 11;Dogs102x6_setBacklight(brightness); //设置初始背光值Dogs102x6_setContrast(contrast); //设置初始对比度值Dogs102x6_clearScreen(); //清屏// Set up wheelWheel_init(); //初始化齿轮电位计Buttons_init(BUTTON_ALL); //初始化按键Buttons_interruptEnable(BUTTON_ALL); //使能所有按键中断buttonsPressed = 0; //键值清零// Display TI logoDogs102x6_imageDraw(tiBug, 0, 16); //显示图案// Wait for button presswhile (!buttonsPressed) //等待按键被按下,或者超时退出等待{for (timeoutCounter = 0; timeoutCounter < 0xFFFF; timeoutCounter++) {if (buttonsPressed)break;__delay_cycles(1000);}//Timeout breakbreak; //超时退出}Dogs102x6_clearScreen();buttonsPressed = 0;//显示文字说明:Dogs102x6_stringDraw(3, 10, " Welcome ", DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(4, 0, " to NK university ", DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(7, 0, "or press S1 | S2 ", DOGS102x6_DRAW_INVERT);// Wait for button presswhile(!buttonsPressed) //等待按键被按下,或者超时退出等待 {for (timeoutCounter = 0; timeoutCounter < 0xFFFF; timeoutCounter++) {if (buttonsPressed)break;__delay_cycles(2000);}//Timeout breakbreak;}// 主循环while (1){l ab2(); //}}2.主程序#include<stdint.h>#include"msp430.h"#include"HAL_PMM.h"#include"HAL_UCS.h"#include"HAL_Board.h"#include"HAL_Buttons.h"#include"HAL_Dogs102x6.h"#include"HAL_Menu.h"#include"HAL_Wheel.h"#include"Clock.h"#include"LPM.h"#include"Random.h"#include"PMM.h"#include"Demo_Cube.h"#include"CTS_Layer.h"#include"stdlib.h"#include"lab2.h"static const char *const capMenuText[] = {"==LAB2:Cap App===","1. test1 ","2. CapDemo ","3. happy"};char *itoa(int, char *, int);// Forward Declared Functionvoid test1(void);void CapDemo(void);/************************************************************************** *//*** @brief The menu of lab2.* @param none* @return none*************************************************************************** ***/void lab2(void){uint8_t selection = 0;buttonsPressed = 0;Dogs102x6_clearScreen();Dogs102x6_stringDraw(7, 0, "*S1=Enter S2=Esc*",DOGS102x6_DRAW_NORMAL);selection = Menu_active((char **)capMenuText, 3);if (buttonsPressed & BUTTON_S2);elseswitch (selection){case 1: test1(); break; //读取已存文件case 2: CapDemo(); break; //触摸按键柱形图default: break;}}/************************************************************************** *//*** @brief CapLED.* @param none* @return none*************************************************************************** ***/void test1(void){uint8_t sliderPosition = 0;Board_ledOff(LED_ALL); //关闭所有LEDDogs102x6_clearScreen();buttonsPressed = 0;Dogs102x6_stringDraw(1, 0, " Slide Finger on ", DOGS102x6_DRAW_NORMAL); Dogs102x6_stringDraw(2, 0, " Touch Pads ", DOGS102x6_DRAW_NORMAL);TI_CAPT_Init_Baseline(&slider); //触摸按键初始化while (!(buttonsPressed & BUTTON_S2)) //S2按键按下退出程序{sliderPosition = TI_CAPT_Slider(&slider);sliderPosition = (sliderPosition + 10) / 20; //得到触摸按键位置//以下根据触摸按键位置点亮相应LEDswitch (sliderPosition){case 1: Dogs102x6_stringDraw(1, 0, " page_one ",DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(2, 0, " friend'name ",DOGS102x6_DRAW_NORMAL);break;case 2: Dogs102x6_stringDraw(1, 0, " page_two ",DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(2, 0, " friend'message ",DOGS102x6_DRAW_NORMAL);break;case 3: Dogs102x6_stringDraw(1, 0, " page_three",DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(2, 0, " friend'message ",DOGS102x6_DRAW_NORMAL);break;case 4: Dogs102x6_stringDraw(1, 0, " page_four",DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(2, 0, " friend'message ",DOGS102x6_DRAW_NORMAL);break;case 5: Dogs102x6_stringDraw(1, 0, " page_five",DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(2, 0, " friend'message ",DOGS102x6_DRAW_NORMAL);break;case (255 / 17):break;}}Board_ledOff(LED_ALL);Dogs102x6_clearScreen();buttonsPressed = 0;}/************************************************************************** *//*** @brief Allows user to select USB apps* @param none* @return none*************************************************************************** ***/void CapDemo(void){uint8_t quit = 0, spacing = 0, height = 0, height1 = 0, i;uint16_t deltaCount[5];Dogs102x6_clearScreen();buttonsPressed = 0;TI_CAPT_Init_Baseline(&slider); //触摸按键初始化buttonDebounce = 0;Dogs102x6_stringDraw(0, 0, "== Touch Demo ==", DOGS102x6_DRAW_NORMAL);//menu active until selection is madewhile (!quit){TI_CAPT_Custom(&slider, deltaCount); //测量电容传感器变化// 5 = No. of sensorsfor (i = 0; i < 5; i++){spacing = 20 * i + 10;if (deltaCount[i] < 4000)height = 63 - deltaCount[i] / 60; //利用第i组传感器数据得到所需柱形高度elseheight = 10;// 限制列的高度if (height < 10)height = 10;// 每列三像素宽,,,,以下显示LCD上九列图案中的第1、3、5、7、9列Dogs102x6_verticalLineDraw(63, height, spacing - 1,DOGS102x6_DRAW_NORMAL);Dogs102x6_verticalLineDraw(63, height, spacing,DOGS102x6_DRAW_NORMAL);Dogs102x6_verticalLineDraw(63, height, spacing + 1,DOGS102x6_DRAW_NORMAL);__delay_cycles(1000);Dogs102x6_verticalLineDraw(height, 5, spacing,DOGS102x6_DRAW_INVERT);Dogs102x6_verticalLineDraw(height, 5, spacing - 1,DOGS102x6_DRAW_INVERT);Dogs102x6_verticalLineDraw(height, 5, spacing + 1,DOGS102x6_DRAW_INVERT);if (i < 4){//for the "in between" heightsif (deltaCount[i + 1] < 2400)height1 = 63 - deltaCount[i + 1] / 40;elseheight1 = 10;// Limit the height of the columnsif (height + height1 < 10)height1 = 10;// 每列三像素宽,,,,以下显示LCD上九列图案中的第2、4、6、8列Dogs102x6_verticalLineDraw(63, (height + height1) / 2, (spacing + 7),DOGS102x6_DRAW_NORMAL);Dogs102x6_verticalLineDraw(63, (height + height1) / 2, (spacing + 6),DOGS102x6_DRAW_NORMAL);Dogs102x6_verticalLineDraw(63, (height + height1) / 2, (spacing + 5),DOGS102x6_DRAW_NORMAL);__delay_cycles(1000);Dogs102x6_verticalLineDraw((height + height1) / 2, 5, (spacing + 7),DOGS102x6_DRAW_INVERT);Dogs102x6_verticalLineDraw((height + height1) / 2, 5, (spacing + 6),DOGS102x6_DRAW_INVERT);Dogs102x6_verticalLineDraw((height + height1) / 2, 5, (spacing + 5),DOGS102x6_DRAW_INVERT);}}if ((buttonsPressed & BUTTON_S2))quit = 1;}Board_ledOff(LED_ALL);Dogs102x6_clearScreen();buttonDebounce = 1;buttonsPressed = 0;}。

基于STC89C52单片机的温湿度传感器

基于STC89C52单片机的温湿度传感器

2011级小学期53组目录CHAPTER 1 TEMPERATURE AND HUMIDITY MEASURING PRINCIPLE (2)1.1THE SCHEME SELECTION OF TEMPERATURE AND HUMIDITY SENSOR (2)1.2THE SCHEME SELECTION OF TEMPERATURE AND HUMIDITY DISPLAY (2)CHAPTER 2 THE HARDWARE DESIGN OF THE SYSTEM (3)2.1 THE OVERALL DESIGN OF THE SYSTEM HARDWARE (3)2.2 THE MAIN SCHEME SELECTION AND DESIGN OF THE CONTROL MODULE (4)2.2.1SINGLECHIP STC89C52INTRODUCTION (4)2.2.2T HE MAIN CONTROL MODULE CIRCUIT (4)2.3THE SELECTION AND DESIGN OF THE RTC MODULE SCHEME (6)2.4THE DESIGN OF INTERFACE MODULES (8)CHAPTER 3 THE DESIGN OF SYSTEM SOFTWARE............... 错误!未定义书签。

3.1SYSTEM OF THE MAIN PROGRAM AND FLOW CHART (9)3.2 THE READ OPERATION FLOW CHART OF DS1302CLOCK CHIP (10)3.3WRITE OPERATION FLOW CHART THE OF LCD MODULE.... 错误!未定义书签。

CHAPTER 4 THE EXPERIMENT AND DEBUGGING (12)4.1DIFFICULTIES AND SOLUTIONS (14)CHAPTER 5 TEAM DIVISION OF LABOR AND COMMENTS (15)APPENDIX A:ELECTRIC SCHEMATIC DIAGRAM (18)APPENDIX B:PROGRAM LIST (19)APPENDIX C:EXTERNAL VIEW (32)2011级小学期53组第1章温湿度测量原理单片机的接口信号是数字信号。

基于STC89C52单片机的温度控制电路设计说明

基于STC89C52单片机的温度控制电路设计说明

基于温度传感器的单片机温控电路设计一、设计分析在各行业中广泛应用的温度控制器及仪器仪表主要具有如下的特点:一是在复杂的温度控制系统中能够适应于大惯性、大滞后的控制;二是在受控系统数学模型难以建立的情况下,得到控制;三是在受控系统中,能够被控制过程很复杂且参数时变的温度控制系统控制;五是温度控制系统普遍具有参数自检功能,借助计算机技术,能控制对象和参数,并且具有特性进行自动调整的功能等特点[1]。

本次电子工艺实训旨在练习实用单片机系统的设计与安装,掌握典型51系列单片机最小系统及外围电路设计、常用电子元器件的识别、万用板焊接电路的方法、巩固常用电子仪表测量与调试电路参数的方法,培养创新实践动手能力,为下学期单片机、电子系统设计等课程奠定理论和实践基础。

具体要求如下:1.自行设计以STC89C52RC40单片机为控制核心的实用单片机控制系统的硬件电路,实现至少一个环境参量信息采集、数值显示、报警功能。

2.根据设计,利用万用板焊接硬件电路,并做简单调试。

3.要求模块化设计,单片机最小系统模块、显示模块、信息采集报警模块、键盘模块,主要贵重器件用排座插接,电阻、电容、按键等元器件要求布局合理、排列整齐,无虚焊。

二、设计方案本文设计是以单片机为核心,实现温度实时测控和显示。

确定电路中的一些主要参数,了解温度控制电路的结构,工作原理,对该控制电路性能进行测试。

具体设计方案:(1)本设计是用来测控温度的,可以利用热敏电阻的感温效应,将被测温度变化的模拟信号,电压或电流的采集过来,首先进行放大和滤波后,再通过A/D 转换,将得到的数字量送往单片机中去处理,用数码管将被测得的温度值显示出来。

但是这种电路的设计需要用到放大滤波电路,A/D转换电路,感温电路等一系列模拟电路,设计起来较麻烦[2]。

(2)本设计采用单片机做处理器,可以考虑使用温度传感器,采用由达拉斯公司研制的DS18B20型温度传感器,此传感器可以将被测的温度直接读取出来,并进行转换,这样就很容易满足设计要求。

基于STC89C52单片机的温湿度检测系统设计

基于STC89C52单片机的温湿度检测系统设计

基于STC89C52单片机的温湿度检测系统设计摘要随着人们的生活及其生产水平的不断提高,对生活环境和生产环境的要求就显的尤为重要,温湿度的控制就是一个典型的例子,因此温湿度检测系统就是现代生产生活中应运而生的一种智能、快捷、方便可靠的检测系统,特别是在工业生产中如果检测得不准确就会发生许多的生产事故。

要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。

本设计是以单片机为核心,配合温湿度传感器,以及相关的外围电路组成的检测系统,可以接收所测环境的温度和湿度信号,检测人员可以通过LCD显示的数据,实时监控环境的温度和湿度情况。

所有的测量操作都可以通过主机控制软件来实现,温度和湿度传感器得到的测量信号,经电路转换为电信号,然后通过转换送到单片机进行数据处理,经软件分析处理后送显示装置。

本系统包括系统硬件和软件设计,可靠性高,结构简单,实现了对温湿度的自动调节。

系统还应用RS232与上位机相连接,可以设置自动记录温度、湿度的相关的参数,也可以设置每隔一定的时间自动记录,可用在气象的观察方面。

关键词:STC89C52单片机,温湿度传感器, LCD显示As people life level of production and improve the living environment and production environment to the demands of the significant particularly important, control of temperature and humidity is one example, so the temperature and humidity detection system is the modern production and life of a kind of intelligence have emerged in, quick, convenient and reliable detection system, especially in the industrial production, if detection is not accurate will happen many production accidents. For modern people to work, scientific research, and provide a better life moreconvenient facilities will need from single chip technology of digital control to all, intelligent control direction. This design is based on single chip microcomputer as the core, with temperature and humidity sensor, and related peripheral circuit composed of detection system, can receive the environment temperature and humidity signal, testing personnel can through the LCD display data, real-time monitoring of environmental temperature and humidity conditions. This system including the system hardware and software design, high reliability, simple structure, realize the automatic adjustment of the temperature and humidity. System is used RS232 and superordination machine connected, can set up automatic recording of temperature and humidity in related parameters, can also set every certain time to be automatic records, can be used in meteorological observation.Key words: STC89C52 microcontroller, temperature and humidity sensor, LCD display目录第1章概述 (3)1.1课题的研究背景 (3)1.2温湿度检测的发展状况以及存在的问题 (4)1.3本课程设计的主要内容 (5)第2章系统总体方案设计 (5)2.1 温湿度传感器 (6)1、DHT11产品概述 (6)2接口说明 (6)3、电源引脚 (7)4、串行接口 (单线双向) (7)5、DHT11引脚说明 (7)6、焊接信息 (7)7、注意事项 (8)2.2 RS232接口 (8)2.3 单片机STC89C52 (8)2.4 LCD1602 (10)第3章系统的硬件设计和连接 (11)3.1主控模块 (11)3.2显示模块 (13)3.3 温度和湿度采集模块 (13)3.4 键盘设计 (15)3.5与上位机相连电路的设计 (16)3.6 报警电路设计 (16)第4章系统软件方案的设计 (17)4.1 程序流程图 (17)第5章总结与展望 (37)参考文献 (38)第1章概述1.1课题的研究背景工业生产中有些场合需要使用精密的机台设备,这些设备的精密度高、价格高,因此为了保证产品的质量及机台的使用寿命,对其环境的要求也很高,尤其的是对温度、湿度的控制。

基于STC89C52单片机的温度控制电路设计

基于STC89C52单片机的温度控制电路设计

基于温度传感器的单片机温控电路设计一、设计分析在各行业中广泛应用的温度控制器及仪器仪表主要具有如下的特点:一是在复杂的温度控制系统中能够适应于大惯性、大滞后的控制;二是在受控系统数学模型难以建立的情况下,得到控制;三是在受控系统中,能够被控制过程很复杂且参数时变的温度控制系统控制;五是温度控制系统普遍具有参数自检功能,借助计算机技术,能控制对象和参数,并且具有特性进行自动调整的功能等特点[1]。

本次电子工艺实训旨在练习实用单片机系统的设计与安装,掌握典型51系列单片机最小系统及外围电路设计、常用电子元器件的识别、万用板焊接电路的方法、巩固常用电子仪表测量与调试电路参数的方法,培养创新实践动手能力,为下学期单片机、电子系统设计等课程奠定理论和实践基础。

具体要求如下:1.自行设计以STC89C52RC40单片机为控制核心的实用单片机控制系统的硬件电路,实现至少一个环境参量信息采集、数值显示、报警功能。

2.根据设计,利用万用板焊接硬件电路,并做简单调试。

3.要求模块化设计,单片机最小系统模块、显示模块、信息采集报警模块、键盘模块,主要贵重器件用排座插接,电阻、电容、按键等元器件要求布局合理、排列整齐,无虚焊。

二、设计方案本文设计是以单片机为核心,实现温度实时测控和显示。

确定电路中的一些主要参数,了解温度控制电路的结构,工作原理,对该控制电路性能进行测试。

具体设计方案:(1)本设计是用来测控温度的,可以利用热敏电阻的感温效应,将被测温度变化的模拟信号,电压或电流的采集过来,首先进行放大和滤波后,再通过A/D 转换,将得到的数字量送往单片机中去处理,用数码管将被测得的温度值显示出来。

但是这种电路的设计需要用到放大滤波电路,A/D转换电路,感温电路等一系列模拟电路,设计起来较麻烦[2]。

(2)本设计采用单片机做处理器,可以考虑使用温度传感器,采用由达拉斯公司研制的DS18B20型温度传感器,此传感器可以将被测的温度直接读取出来,并进行转换,这样就很容易满足设计要求。

基于STC89C52单片机的温度控制电路设计

基于STC89C52单片机的温度控制电路设计

本科生毕业论文(设计)题目:基于温度传感器的单片机温控电路设计系部电子信息工程学院学科门类工学专业电子信息工程学号1008211048姓名徐晓龙指导教师万丽娟2012年5月18日基于温度传感器的单片机温控电路设计摘要随着微处理器和大规模集成电路的发展,及其在测试控制技术方面的广泛应用,仪器设备的智能化已成为自动化技术发展方向,数据采集与温度检测的自动化将取代传统的方法。

本设计采用STC89C52型号的单片机,数字温度传感器采用美国DALASS公司的1–Wire器件DS18B20,即单总线器件DS18B20,与单片机组成一个测温系统,当系统上电时,温度传感器就会读出当前环境的温度,并在LED数码显示管上显示出当前的温度,该测温系统的测温范围为-40℃~110℃,按此要求设计硬件和软件以实现这一功能。

关键词:单片机温度传感器DS18B20测量电子线路温度ABSTRACTAlong with the microprocessor and large scale integrated circuit, and in the test control technology is widely used, and the intelligent instrument and equipment has become automation technology development direction, data acquisition and temperature automatic testing would replace the traditional method.This design uses the STC89C52 type of single chip microcomputer, digital temperature sensor using the American DALASS company 1-Wire device DS18B20, namely single bus device DS18B20, and consists of a single chip microcomputer temperature measurement system, when the system is powered on, temperature sensors will read the current environment temperature, and in display tube LED digital showed on the current temperature, the temperature measurement system of measuring temperature range for 40 ℃~110 ℃-according to this design requirement for hardware and software to achieve this function.Keywords:single chip microcomputer temperature sensor DS18B20 measurement circuit temperature目录一绪论 (1)1.1课题研究背景及意义 (1)1.2国内外研究现状 (1)1.3研究内容 (2)二系统硬件设计 (3)2.1总体设计方案 (3)2.1.1 设计思路 (3)2.1.2设计方框图 (3)2.2单片机介绍 (3)2.2.1 STC单片机结构介绍 (4)2.2.2 STC单片机引脚介绍 (6)2.3 DS18B20数字温度传感器介绍 (8)2.3.1功能介绍 (8)2.3.2内部存储器介绍 (9)2.4 显示模块设计 (11)2.4.1 LED数码管结构 (12)2.4.2 共阳数码管数字编码 (12)2.5按键电路的设计 (13)2.5.1判键及其接口电路设计 (13)2.5.2键盘的工作方式 (13)2.6报警装置电路设计 (14)2.7系统整体硬件电路 (15)三系统软件设计 (16)3.1温度控制系统原理框图 (16)3.1.1 读温度子程序 (17)3.1.2温度转换子程序 (17)3.1.3计算温度子程序 (18)3.1.4温度显示子程序 (19)四总结与展望 (20)参考文献 (21)附录 (22)一绪论1.1课题研究背景及意义目前温度控制系统在很多场合都得到广泛的应用,因此在国内外发展非常迅速,并在智能化、环境自适应、参数自动调整等方面取得显著成果。

基于STC89C52的温湿度监控系统

基于STC89C52的温湿度监控系统

测试结果
特色不结论
• 此温湿度监控系统设计的特色: • (1)采用STC89C52作为内核控制中心,性价比高, 収挥了STC89C52的最大功能。 • (2)设计制作了220V转5V变压器电路,可直接接22 0V交流电即可工作,无需通过PC机接供电线对其 供电,使得此温湿度监控系统使用更方便。 • (3)具有蜂鸣器报警电路,更加人性化,对环境的 温湿度变化在第一时间做出反应,告知使用者, 方便使用者即时应对。
开収平台
• 此温湿度监控系统使用的开収平台是STC89C52,STC89C52是一 种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Fl ash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编 程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活 、超有效的解决方案。 具有以下标准功能: 8k字节Flash,51 2字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM ,MAX810复位电路,2个16 位 定时器/计数器,一个6向量2级 中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逡 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止 工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电 保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作 停止,直到下一个中断戒硬件复位为止。最高运作频率35MHz, 6T/12T可选。
测试方法Байду номын сангаас
• 本系统以STC89C52为控制中心,在完成此次设计完成之后 我对其各个模块的各项功能迚行测试,测试方案如下: • STC89C52测试:我在测试这个主芯片的时候,将编写好的 程序烧入主控制板,然后检测每个管脚的电压。我们还将 其它的模块不它相连来测试他们是否正常工作。 • 蜂鸣器测试:我通过改变环境温度,使得环境的温度戒湿 度超出所设定的范围,观察蜂鸣器是否鸣叫。 • 液晶屏显示测试:我将程序下载迚单片机里,给单片机供 电,单片机驱动LCD12864显示当前温湿度值,通过调节液 晶屏上的电位器,最终LCD12864上正常显示当前温湿度数 值。

基于单片机STC89C52温湿度测控系统的设计

基于单片机STC89C52温湿度测控系统的设计

] , 具 体 电路
月 呀 伪 ,
VC C I S (二 IK
子程 序 主要是对 温湿 度 的设 定值 和实 际值进 行 比
理 I亏 ST
D S 130 2
较 , 产生加 热 冷 却 增 湿 除 湿各 个装置 的启 动与
V CC l l 卜
3V l r
停止 信号 以及报 警信 号.
3 .2 上位 机软件 的设计 主要有 以下 功能 :( 1) P C 机 从 串 口读 取 数据
第2 9 卷
第1 期








V ol.2 9 N o . 1 1 Nov. 2 0 12
2012 年 11 月
JO U R N A L O F JI I N I L N ST I TU T E
OF CHEM I CAL T E CHNOLOGY
文章编号 :l0 ) 7一 ( 853 (2012 )11一113很
灯 D 转 换 U C 线接 口全部 集成 于 一个 芯 片上 , 具 有全校 准相 对 湿 度 及 温 值 输 出 , 1 2 C 总线数字输
出接 口, 露点 值计 算 输 出 功能 , 免 围元 件 , 湿度 值 输 出分 辨率 为 1 4 位 , 温度 值输 出分 辨率 为 1 2 位,
可编 程降至 1 2 位 和 8 位 , CR C 数据 传输校验功 能 , 片装 载 的 校 准 系 数 可 保 证 1 0 0 % 的 互 换 性. SH 竹 l 与单 片机 的 接 口 电路 为 :G N D 为 接 地 端 ; D A T A 为 双 向 串行 数 据 总 线 ;SC K 为 串行 时 钟 输
人端 ; v D D 为 电源端 , 范 围为 2 .4 一 5 .5 V ; NC 为 空管脚 . 2 .3 实 时时钟 电路 作 为 日历 时钟 电路 , 主 要 采 用 了 D a l a s 公司 生产 的 串行 实 时 时钟 芯 片 D S 1 3OZ , D S 1 30 2 具有

毕业设计(论文)-基于STC89C52单片机的大棚温湿度监测与报警系统设计

毕业设计(论文)-基于STC89C52单片机的大棚温湿度监测与报警系统设计
声明人:(签字)时间:年月日
大棚温湿度监测与报警系统
摘要:本文以STC89C52单片机为核心,结合温度传感器AD590及湿度传感器HS1101设计并完成了一款适用于大棚的监测与报警系统。该系统主要由环境参数采集模块、数据处理模块、显示及按键模块和电源模块几大部分组成。首先由传感器采集温度、湿度数据,经单片机处理后在LED上显示,并与按键输入的预设值进行比较,如果超出预设值一定范围,后再由单片机启动报警模块。经调试,系统工作性能稳定,温度测量精度可达0.5℃,湿度测量精度可达1%,基本达到预设目标。
本科毕业论文(设计)
题目:大棚温湿度监测及报警系统
学院:
专业:
学号:
姓名:
指导老师:职称:
成绩:(分数)
温州医学院教务处制
毕业设计(论文)诚信声明书
本人承诺:在今后的毕业(设计)论文撰写过程中,将遵守学校有关规定,恪守学术规范,在指导老师指导下独立完成研究成果。本人在论文写作中参考的其他个人或集体的研究成果,将均在文中以明确方式标明。本人依法享有和承担由此论文而产生的权利和责任。
大棚监测系统一般包括三个模块:环境参数采集模块、数据处理模块和执行模块。在目前的监测系统中,需采集的环境参数主要包括温度、湿度、CO2浓度、光照强度、土壤湿度等。在实际设计中还需根据大棚的规模及所在区域设定不同的采集方式,确保数据采集的准确性。例如我国北方地区,冬季寒冷而漫长,大棚监测最主要的一部分就是温度的调节。这时可将一天分为午前、午后、前半夜和后半夜4个时段来进行温度调节。午前以增加同化量为主,一般应将棚温保持在25~30℃为宜;午后光合作用呈下降趋势,以20~25℃为好,避免高温下养分消耗过多;日落后4~5h内,要将棚内温度从20℃逐渐降到15℃上下,以促进体内同化物的运转。此后,再将夜温降到10~12℃,以抑制呼吸、减少消耗、增加积累,但也不能降得过低,以免冻伤植物[2]。考虑外界环境因素的同时也不能忽略植物本身的生理过程,比如植物的蒸腾作用、光合作用等,事实上大棚内的水分养料供给可以通过蒸腾这样的实测数据来决定;而CO2浓度则可根据光合作用的情况来决定,这一系列监测过程都可通过单片机系统来实现。本课题正是以此为出发点,利用单片机、结合相应的湿度与温度传感器,设计并完成了一款结构小巧、价格低廉、性能相对稳定的大棚温度、湿度监测与报警系统。

基于stc89c52的温湿度检测电路综合设计

基于stc89c52的温湿度检测电路综合设计

基于stc89c52的温湿度检测电路综合设计一、引言温湿度检测电路是一种常见的电子检测设备,其主要作用是对周围环境的温度和湿度进行实时监测和反馈。

在工业、农业、医疗等领域都有广泛的应用。

本文将基于STC89C52单片机,设计一个能够实现温湿度检测的电路,并对设计过程进行详细介绍。

二、硬件设计1. STC89C52单片机STC89C52是一种高性能、低功耗的8位单片机,具有强大的计算能力和丰富的外设资源。

它采用了CMOS工艺制造,工作电压为5V,最高主频可达22MHz。

在本次设计中,我们选择STC89C52作为主控芯片。

2. 温湿度传感器温湿度传感器是本次设计中最重要的部分之一。

根据需求,我们选择了DHT11数字温湿度传感器。

该传感器具有精确度高、响应速度快等优点,在市场上也较为常见。

3. 显示模块为了方便用户观察温湿度数据,我们需要一个显示模块来展示数据。

在本次设计中,我们选择了12864液晶显示屏。

该显示屏具有分辨率高、显示效果好等优点,可以满足我们的需求。

4. 其他外设为了让整个电路更加完善,我们还需要一些其他的外设。

例如电源模块、按键模块等。

三、软件设计1. 系统框图在进行软件设计之前,我们需要先画出系统框图。

如下图所示:其中,温湿度传感器通过单片机的IO口与单片机相连;液晶显示屏通过SPI接口与单片机相连;按键模块通过IO口与单片机相连。

2. 程序流程程序流程如下:(1)初始化各个外设;(2)读取温湿度传感器数据;(3)将数据转换为字符串格式;(4)将字符串格式的数据在液晶显示屏上展示;(5)判断是否有按键按下,如果有则进行相应操作;(6)返回步骤2。

3. 代码实现以下是代码实现部分的核心代码://初始化各个外设void init(){//初始化温湿度传感器DHT11_Init();//初始化液晶显示屏LCD_Init();//初始化按键模块KEY_Init();}//读取温湿度传感器数据并在液晶显示屏上展示void read_and_display(){char temp[16], humi[16];//读取温湿度传感器数据DHT11_Read_Data(&temp_value, &humi_value);//将数据转换为字符串格式sprintf(temp, "Temp: %dC", temp_value);sprintf(humi, "Humi: %d%%", humi_value);//在液晶显示屏上展示数据LCD_Show_String(0, 0, temp);LCD_Show_String(0, 1, humi);}//判断是否有按键按下并进行相应操作void check_key(){if(KEY_Scan() == KEY1_PRESSED){//按下KEY1,执行相应操作//...}}//主函数void main(){init();while(1){read_and_display();check_key();delay_ms(1000); //延时1s,避免频繁读取传感器数据}}四、总结本文基于STC89C52单片机,设计了一个能够实现温湿度检测的电路,并对设计过程进行了详细介绍。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 座 插 排 87654321 单 76543210 DDDDDDDD 4 9 座 8 插 7 排 87654321 6 阻 单 排 5 K 4 0 1 3 2 72P62P52P12P02P32P22P42P 1 2 CCV J 00987654321234567891 43222222222333333333 CCV 72P62P52P42P32P22P12P02P70P60P50P40P30P20P10P00P CCV NESP P/ELA PV/AE D R N21 D 10 GDXRDXT71P61P51P41P31P21PT/11PT/01PTT1TNI0TNIWRTESERXX 2 25C98U 00154326789 876543219 21111111111 71P61P51P41P31P21P11P01P 73P63P53P43P33P23P13P03P 31 座座 9TSR P 插插 0 路 01C3 排排 8765432187654321 电 单单 振 2 X 1 晶 1 Y P 9 0 C3 2 1 X
图 3 复位电路
按键后:电容器被短路放电、RST 直接和 VCC 相连,就是高电平,此时进入 “复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形 成高电平送到 RST,仍然是“复位状态”;稍后,充电结束,电流降为 0,电阻 上的电压也将为 0,RST 降为低电平,开始正常工作。
--
2.1.1 单片机控制模块的选择论证
方案一:采用 XC9000 系列的 FPGA。该类器件具有并行处理能力,能快速的 响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。
方案二:采用单片机作为控制核心,单片机数学运算功能较强。在程序相互 调用方面,处理方便灵活,性能稳定,适合实际应用。且单片机技术发展较为成 熟,价格便宜。基于以上分析,采用单片机控制可更为简便灵活地实现系统功能, 故拟采用方案二。
--
--
1 设计要求
基于单片机的室内温湿度检测电路设计要求如下: (1)设计制作一个温湿度计,温度测量范围为-40~50℃,湿度为 0~100%; (2)温度测量误差为 0.1℃,湿度测量误差为 3%; (3)具有量程自动转换功能; (4)其他创新性设计,如低功耗等。
--
--
2 方案设计及论证
2.1 系统主要单元的选择与论证
--
基于单片机的车间温湿度 控制系统
学生姓名:霍晓东 学 号:20084073831 指导教师: 孟洁 所在学院:信息技术学院 专 业:电气工程及其自动化
中国·大庆 2012 年 5 月
--
--
黑龙江八一农垦大学
本科毕业设计(论文)任务书
学生姓名 论文题目 题目分类
霍晓东
所在班级 08 级电气 8 导师姓名 班
晶 P03 9C 21 1Y XX 21 2X2redaeH 3 1 供源电CCV 电 BSU
DS18B20 温度检测
--
显示模块 单片机
电源
HS1101 湿度检测
图 1 系统组成框图
如图 1 所示,本系统由单片机主模块、DS18B20 温度检测模块、HS1101 湿度 检测模块、1602 液晶显示模块 4 部分组成。
2.2 总体方案设计
经分析,系统选用单片机 STC89C52、温度传感器 DS18B20 、 湿 度 传 感 器 HS1101、LCD 液晶显示 1602。由温度检测电路和湿度检测电路将检测到的数据送 到单片机,单片机对接收到的数据进行处理并送到 1602 显示,5V 稳压电源给各 个部分供电。
--
孟洁
基于单片机的车间温湿度控制系统
导师职称
1.应用与非应用类:〇 工程 〇科研 〇教学建设 〇理论分析 〇模拟 2.软件与软硬结合类:〇软件〇硬件〇 软硬结合〇非软硬件
副教授
主要研究内容及指标: 本设计主要研究如何应用单片机实现车间温湿度检测,应用 STC89C52 单片机,经过单总线式
AM2301 芯片分别对车间温湿度数据进行采集,并通过液晶显示屏 1602 进行显示。 指标:(1)温度测量范围为 15~30℃,湿度为 40~70%; (2)温度测量误差为 0.1℃,湿度测量误差为 3%; (3)具有量程自动转换功能
主要参考文献: 1、 康华光.电子技术基础[M]. 北京:高等教育出版社 2、 彭介华.电子技术课程设计指导[M]. 北京:高等教育出版社 3、 郭天祥.新概念 51 单片机 C 语言教程:入门、提高、开发、拓展全攻略[M].电子工业出版社 4、 黄智伟.印制电路板(PCB)设计技术与实践[M].北京:电子工业出版社,2009 5、 高吉祥等.电子技术基础实验与课程设计[M].北京:电子工业出版社,2002
2.1 系统主要单元的选择与论证.......................... 1 2.2 总体方案设计 ..................................... 1 3 单片机主模块设计 ....................................... 3 3.1 单片机主电路设计.................................. 3 3.2 主程序流程图...................................... 5 3.3 主程序设计 ....................................... 5 4 温湿度检测模块设计 ..................................... 6 4.1 温湿度检测电路设计................................ 6 4.2 温湿度检测流程图.................................. 7 4.3 温湿度检测程序设计................................ 8 5 液晶显示模块设计 ....................................... 8 5.1 1602 液晶显示模块电路设计......................... 8 5.2 液晶显示流程图 .................................. 10 5.3 液晶显示程序设计 ................................ 11 6. 系统测试 ............................................. 11 6.1 系统运行测试..................................... 11 6.2 主要指标测试..................................... 11 6.3 测试结果分析..................................... 11 参考文献 ................................................ 12 致谢 .................................................... 13 附录 A:原理图 .......................................... 14 附录B: PCB 图及元件分布图.............................. 15 附录 C:元器件清单 ...................................... 17 附录 D:程序清单 ........................................ 18 附录 E:实物照片 ........................................ 34
2.1.3 显示模块的选择与论证
方案一:采用 12864 液晶模块显示测得的数据,可显示较多组的数据,字体 较大,可清晰读数,但 12864 液晶模块价格昂贵,接线复杂,故不采用。
方案二:采用 1602 液晶模块显示所测数据,1602 液晶接线简单方便,同时 也能满足显示需要,价格远低于 12864 液晶。因此,本方案为首选方案。综上所 述,显示模块选择方案二。
阶段规划: 2011 年 12 月 20 日 至 2012 年 1 月 9 日 2012 年 1 月 10 日 至 2012 年 1 月 16 日 2012 年 3 月 1 日 至 2012 年 4 月 17 日 2012 年 4 月 18 日 至 2012 年 5 月 8 日 2012 年 5 月 9 日 至 2012 年 5 月 19 日
--
3 单片机主模块设计 3.1 单片机主电路设计
单片机主模块包括了电源电路、晶振电路、复位电路,同时接入了各个模块 的接口,保证了整个系统的灵活性。
3.1.1 电源电路
图 2 电源电路
如图 2 所示:系统的供电既能由 USB 供电又能由电源供电,S1 是电源开关, DS1 为电源指示灯。
3.1.2 复位电路
2.1.2 温度湿度检测模块的选择与论证
方案一:选用 DHT11 作为温湿度检测模块。DHT11 是一款数字输出的复合传 感器,包含一个电阻式感湿元件和 NTC 式温度检测元件,可测 20~90%RH 湿度, 误差 5%RH,0~50 摄氏度,误差 2 摄氏度。
方案二:选用 DS18B20 温度传感器和 HS1101 湿度传感器。DS18B20 是一线 式数字温度传感器,具有独特的单线式接口方式,测量范围在-55℃~125℃,误 差为-\+0.5℃。最高精度可达 0.0625℃。HS1101 是电容式湿度传感器,可测相 对湿度范围在 0%~100%RH,误差为-\+2%RH。上述数据可知,根据设计要求,本 模块采用方案二。
--
--
前言
随着智能检测技术的飞速发展,多传感器系统得到了广泛的应用。如何把多 传感器集中于一个检测系统,综合利用来自多传感器的信息获得被测对象的可靠 数据,是智能检测系统中需要解决的首要问题。为此,本设计利用 STC89C52 单片机制作了一个简便但精度较高的室内温湿度检测系统;它是利用 DS18B20 温度传感器作为测温元件;温度测量范围在-55℃~125°C;用 HS1101 湿度传感 器作为测湿元件;湿度测量范围在 0%~100%RH;在同时该设计具备温湿度显示 功能,主要原理是:通过温度传感器将非电量的温湿度值转换为电量输出并由 A /D 转换器对模拟信号进行数字化,然后通过单片机读取温湿度传感器转换的温 湿度值,当温度超过一定值时蜂鸣器报警。
相关文档
最新文档