温度光强采集报警系统概要

上传人:jiups****uk12 文档编号:90676810 上传时间:2019-06-15 格式:DOC 页数:15 大小:218.54KB
返回 下载 相关 举报
温度光强采集报警系统概要_第1页
第1页 / 共15页
温度光强采集报警系统概要_第2页
第2页 / 共15页
温度光强采集报警系统概要_第3页
第3页 / 共15页
温度光强采集报警系统概要_第4页
第4页 / 共15页
温度光强采集报警系统概要_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《温度光强采集报警系统概要》由会员分享,可在线阅读,更多相关《温度光强采集报警系统概要(15页珍藏版)》请在金锄头文库上搜索。

1、实验总成绩: 装 订 线报告份数: 温度光强采集报警系统通信与信息工程学院 专业课程设计报告专业班级: 学生姓名: 学号(班内序号): 年 月 日一、设计内容1题目:温度光强采集报警系统 基本部分要求:(1)采用单片机温度的采集。(2)通过者液晶显示采集到的数字。(3)当温度超过设定的值进行声光报警,用发光二极管闪烁报警。发挥部分要求:(1)将采集到的数据通过串口传给PC ,PC 端进行显示。(2)通过按键可以切换华氏温度和摄氏温度显示。2设计思路本次课程设计主要是51单片机温度的采集,采集到的数字显示在液晶屏上。通过键盘控制温度的上限,当温度超过上限时,采用二极管闪烁和蜂鸣器鸣响进行声光报警

2、。4*4矩阵键盘控制温度上限以及切换华氏温度和摄氏温度显示。主要涉及了温度的测量、显示以及实现简单控制。硬件方面有五个模块,即AT89S52单片机主控模块、DHT11传感器模块、LCD1602液晶显示模块、报警模块以及4*4键盘模块。其中AT89S52单片机主控模块已经给出,我们只需适当增加驱动电路即可。传感器模块使用的是DHT11数字温湿度传感器。通过DHT11检测出当前环境下的温湿度,将所测数据交给AT单片机进行分析和处理,并分别存入不同数组以便显示时候用。1602液晶显示模块就是实现温度检测值和上限值的显示。其分两行显示,上边一行显示湿度,下边显示温度上限值,正常工作的时候可以通过按键调

3、节上限值,当温度超过上限值时,二极管闪烁并且蜂鸣器鸣响报警。通过虚拟终端显示检测到的温度值。报警模块实现了检测值超过上限值的时候二极管闪烁并且蜂鸣器鸣响报警。无论温度超出范围二极管和蜂鸣器都是以相同频率的闪烁及声音进行报警提示。提醒此时温度数据出现异常、需及时调整实验室内温度。4*4矩阵键盘模块通过+(加)-(减)两个按键来上限值设置功能;通过*(乘)/(除)两个按键来切换华氏温度和摄氏温度转换功能。3、 设计和学习步骤(1)分析题目并查找资料;(2)编写程序并用Proteus仿真;(3)在实物上进行液晶的调试;(4)传感器实物的调试;(5)加装键盘模块和二极管蜂鸣器报警模块的实物调试。4、总

4、体设计框图按照系统功能的具体要求,在保证实现其功能的基础上,尽可能降低系统成本。总体设计方案围绕上述思想,初步确定系统的方案如下图所示。仿真时使用SHT11代替DHT11液晶1602LCDDHT11温度传感器超上限报警模块4*4键盘模块单片机最小系统从图中可以看出,系统单片机最小系统模块、DHT11传感器模块、1602字符液晶显示模块、4*4矩阵键盘模块、报警模块组成。在方案设计中,外围模块采用并行控制,以简化系统,提高控制精度。该设计以AT89S52单片机为控制核心,实现温湿度采集及显示的基本功能。5、DHT11传感器简介(查找的资料)DHT11数字温湿度传感器是一款含有已校准数字信号输出的

5、温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根

6、据用户需求而提供。(1)引脚介绍:Pin1:(VDD),电源引脚,供电电压为35.5V。Pin2:(DATA),串行数据,单总线。Pin3:(NC),空脚,请悬浮。Pin4(VDD),接地端,电源负极。(2)接口说明 :建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。(3)数据帧的描述:DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8b

7、it湿度小数数据+8bit温度整数数据+8bit温度小数数据数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。(4)电气特性:VDD=5V,T = 25,除非特殊标注表2-1 DHT11的电气特性参数条件Mintypmax单位供电DC355.5V供电电流测量0.52.5mA平均0.21mA待机100150uA采样周期秒1次注:采样周期间隔不得低于1秒钟。(5)时序描述:用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发

8、一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。二、电路图 1、总体电路连接图 本次课程设计使用的主控模块是由老师给出的一个AT89S52为核心的最小系统。使用的时候将P1口作为与液晶的数据传输口,P2口作为键盘的数据传输口,P1.0P1.1作为与传感器SHT11通信的数据口, P3.4P3.6作为分别于液晶的E和RS、RW端相连接,以控制液晶显示;P1.6接蜂鸣器控制端,P1.7接二极管控制端,以控制报警模块工作。2、各模块控制电路图(1)51单片机固定端口

9、模块连接图(2)4*4矩阵按键模块连接图(3)液晶显示连接图(4)传感器与二极管和蜂鸣器报警模块连接图三、上机程序部分代码:#ifndef _TOU_H_#define _TOU_H_#include#include #define uint unsigned int#define uchar unsigned charenum TEMP;sbit RS = P35;sbit RW = P36;sbit E = P34;sfr DBPort = 0x80; /P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口sbit DATA = P11;sbit SCK = P10;s

10、bit LED=P17; /定义led输出端口sbit SPK=P16; /定义喇叭端口unsigned char frq; void DelayUs2x(unsigned char t);/函数声明 void DelayMs(unsigned char t);void DelayUs2x(unsigned char t) while(-t);void DelayMs(unsigned char t) while(t-) DelayUs2x(245); DelayUs2x(245); /* DS1602函数声明 */void LCD_Initial();void GotoXY(unsigned

11、 char x, unsigned char y);void Print(unsigned char *str);void LCD_Write(bit style, unsigned char input);/* SHT10函数声明 */void s_connectionreset(void);char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);void calc_sth10(float *p_temperature);#endif#define noACK 0/继续传输数据

12、,用于判断是否结束通讯#define ACK 1 /结束数据传输;/#define STATUS_REG_W 0x06 /000 0011 0/#define STATUS_REG_R 0x07 /000 0011 1#define MEASURE_TEMP 0x03 /000 0001 1#define RESET 0x1e /000 1111 0/写字节程序char s_write_byte(unsigned char value) unsigned char i,error=0; for (i=0x80;i0;i=1) /高位为1,循环右移 if (i&value) DATA=1; /和

13、要发送的数相与,结果为发送的位 else DATA=0; SCK=1; _nop_();_nop_();_nop_(); /延时3us SCK=0;DATA=1; /释放数据线SCK=1; error=DATA; /检查应答信号,确认通讯正常_nop_();_nop_();_nop_();SCK=0; DATA=1;return error; /error=1 通讯错误/读字节程序char s_read_byte(unsigned char ack) unsigned char i,val=0;DATA=1; /释放数据线for(i=0x80;i0;i=1) /高位为1,循环右移 SCK=1; if(DATA) val=(val|i); /读一位数据线的值 SCK=0; DATA=!ack;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号