当前位置:文档之家› 基于单片机的环境参数检测系统

基于单片机的环境参数检测系统

题目:基于单片机的环境参数检测系统1.实验目的(1)了解单片机的基础知识;(2)了解51单片机的组成和工作方法;(3)掌握项目工程的建立、编辑、编译和下载的过程方法;(4)熟练单片机开发调试工具和方法;(5)了解DHT11温湿度及MQ-9烟雾检测模块等的工作原理和使用方法;(6)掌握使用单片机开发实际项目的能力。

2.实验要求和技术指标2.1实验要求能够实时显示温度、湿度等参数。

2.2 技术指标一个以单片机为控制核心的环境参数检测系统,需要实现的功能为:①能够准确的显示当前的温度以及湿度。

温度检测的范围0℃-60℃,测温精度:±2℃;湿度检测范围20%-100%RH,测湿精度:±5%RH;②能够实现对可燃性气体的检测,比如烟雾、CO等;③能够实现对环境参数的移动实时检测,并将检测参数发送至手机客户端;④载具小车移动方式采用蓝牙或WIFi控制,具有前进、后退、左转、右转、停止功能;⑤具有报警功能,一旦发现检测参数超过了预设值,蜂鸣器蜂鸣报警;⑥系统的温湿度及日期采用LCD1602显示。

3.实验内容和目标本设计是一种基于单片机的移动式环境参数监测系统,以STC公司生产的STC89C52单片机为系统的控制核心,以蓝牙控制小车作为载体,搭载DHT11温湿度传感器模块、MQ-9烟雾检测模块等作为环境温湿度和烟雾数据采集装置,采集周围环境的实时温度、湿度及烟雾的数值,并上传给单片机分析处理,同时将处理结果利用LCD1602液晶显示器显示,完成对所处位置周围环境温湿度及烟雾情况的实时监测显示和超限报警功能。

检测参数还可通过蓝牙发送到手机APP显示。

4.系统总体设计4.1 系统设计思路主控电路芯片选择STC89C52单片机,STC89C52单片机的优点有很多,例如执行指令的速度很快,对工作环境的要求比较低;温湿度传感器模块我们选择了DHT11数字温湿度传感器,DHT11传感器能同时检测温湿度的变化,比以前单纯分别使用DS18B20检测温度,使用湿度传感器检测湿度更加方便简单。

烟雾检测模块采用MQ-9,其具有对可燃性气体的检测功能,灵敏度高。

移动载具采用常用的51小车,并通过HC06蓝牙模块控制小车的行进状态。

根据电路原理连接好外围电路。

通过蓝牙控制小车移动,并通过DHT11传感器和MQ-9烟雾传感器准确地检测出当前场所下的温湿度和可燃性气体浓度,并将所测数据信号传递给STC89C52单片机进行分析和处理。

STC89C52单片机再将所得数据发送给LCD1602液晶屏显示。

同时可以通过向蓝牙发送指令,让其将检测参数返回至手机APP。

报警方式采用蜂鸣器报警,系统设计软件编辑中分别预先设置好所需温湿度和烟雾浓度的限值,若温湿度和烟雾浓度超过限值,蜂鸣器将响起警报声。

整体上来说,本设计主要涉及了小车的蓝牙控制、温湿度测量、烟雾检测、串口通信等。

硬件方面主要有7个模块,即温湿度传感器、烟雾传感器、L298N驱动模块、蓝牙、LCD1602液晶、单片机主控板、蜂鸣器报警模块。

4.2 系统设计原则要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点。

设计原则有以下几个:1. 可靠性高:可靠性是单片机系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要的设计准则。

提高系统的可靠性通常从以下几个方面考虑:使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出通道抗干扰措施;进行软硬件滤波等。

2. 操作维护方便:在系统的软硬件设计时,应从操作者的角度考虑操作和维护方便,尽量减少对操作人员专业知识的要求,以利于系统的推广。

因此在设计时,要尽可能减少人机交互接口,多采用操作内置或简化的方法。

3. 性价比高:单片机除体积小、功耗低等特点外,最大的优势在于高性能价格比。

一个单片机应用系统能否被广泛应用,性价比是其中一个关键因素。

因此,在设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度允许的情况下尽可能用软件功能取代硬件功能等。

4.3 系统整体框图由本系统的设计思路和相关的功能要求,同时也充分考虑到要尽可能的降低系统运行的成本,提高系统的稳定性,降低系统的复杂程度,最终确定的系统的整体框图如下图所示。

图1 系统整体框图5.系统器件选择及硬件设计5.1主控芯片的选择方案一:采用AT89C51单片机AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。

其片内的4K程序存储器是FLASH工艺的,这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机内的程序还可以进行加密,这又很好地保护我们的劳动成果。

再者,AT89C51目前的售价比8031还低,市场供应也很充足。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。

只要程序长度小于4K,四个I/O口全部提供给用户。

可用5V电压编程,而且擦写时间仅需lOms。

AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

PO口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。

方案二:采用STC89C52单片机STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

比较这两种方案,由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑本系统需要满足的技术指标、单片机的各部分资源、硬件设计的性价比以及作为学生能够获得的资源,加之学校也提供了相应的硬件操作平台,实际操作起来比较方便,故STC为更合理的选择,即选择方案二。

STC89C52单片机引脚图如下图所示。

图2 STC89C52引脚图主要特性:本芯片具有512字节数据存储空间和8K字节程序存储空间,内带4K字节EEPROM 存储空间,可直接使用串口下载。

(1)工作电压:5V单片机5.5V~3.3V,3V单片机3.8V~2.0V。

(2)工作频率:正常工作频率0~40MHz,相当于普通的8051~80MHz,最大的工作频率可达48MHz。

(3)时钟/机器周期:STC90C516RC是增强型8051单片机,有6时钟/机器周期和12时钟/机器周期模式,所以指令代码完全兼容传统8051。

(4)片上集成512字节RAM(Random Access Memory) ,用户应用程序空间为8K字节,内带4K字节EEPROM存储空间,可以使用dataflash技术进行在线数据保存防止掉电造成数据丢失。

(5)芯片具有4组通用的I/O口,其中P0口是漏极开路输出可以作为总线扩展端使用,该端口作为普通端口使用时须要加弱上拉电阻才能正常工作。

P1、P2、P3是准双向的I/O口具有弱上拉电阻。

(6)芯片下载程序时只须通过RxD/P3.0,TxD/P3.1端口进行串行数据传输就能完成,不需要专用的编程器和仿真器进行下载程序。

该芯片内部具有EEPROM存储空间使得系统可以在线编程和应用编程。

(7)片内16位定时器/计数器一共有3个,分别是T0、T1、T2。

可以通过指令控制定时和计数功能。

(8)外部中断,触发电路下降沿或低电平中断,Power Down模式可由外部中断低电平触发中断方式唤醒。

5.1.1引脚说明P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P0口在访问外部存储器时,P0口既是一个真正的双向数据总线口,又是输出8位地址口。

它包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入”1”后,被内部上拉为高电平,可用作输入。

P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

专门为用户使用的I/O口,是准双向口,P1口为8位准双向口,每一位均可单独定义为输入或输出口。

在编程校验期间,用做输入低位字节地址。

P1口可以驱动4个TTL负载。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。

P2口也是双向口。

它是供系统扩展时输出高8位地址。

如果没有系统扩展时,也可以作为用户的I/O口使用。

P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2=64k,所以STC89C52最大可外接64kB的程序存储器和数据存储器。

相关主题