随着科技文明的不断创新,单片机这种微型计算器逐渐进入了人们的视野之中,它作为一种符合现代化需求的计算器,方便快捷成为了主流。单片机是在一块集成电路上把CPU、存储器、定时器/计数器及多种形式的I/O接口集成在一起而构成的微型计算机。 简单说就是单片机就一个集成芯片,外加辅助电路构成一个系统。与此同时,单片机的重要性不断增加,致使我们的生活中对于单片机的需求不断增加,占据着重要的地位。它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。
本设计基于STC12C5A60S2为核心的单片机,利用DHT11温湿度传感器测量空气中的温度以及湿度,在LCD1602模块之中显示出来。由于通过温湿度的改变会影响大棚里面作物的生长情况,此设计在于利用湿度在温湿度高于或者低于某一个特定的数值时会提供声音报警系统,从而实现了对空气中温度和湿度的监测,并通过四个LED小灯的亮灭来模拟通风口和加湿口的开关。
利用本设计对温湿度功能的实时检测功能,得到出当前的湿度数值。调整大棚内部的温湿度。本设计应用于我们的生产生活之中,我们只需要通过观察温度以及湿度的变化,就可以判断大棚内部的环境温湿度。
代码链接为:基于单片机的蔬菜大棚温湿度智能控制系统设计(代码)
仿真链接为:基于单片机的蔬菜大棚温湿度智能控制系统设计(仿真)
我们通过本次实习我们通过对于基于单片机温湿度采集系统,我们们可以从中能够学习和掌握以下内容:
(1)掌握keil4软件的编程与仿真;
(2)实现基于STC12C5A60S2单片机操作系统的系统设计
(3)学习DHT11硬件仿真使用。
(4)进一步熟悉Proteus、EDA软件对于硬件电路图绘制。
主控模块:通过STC12C5A60S2单片机为主控系统,进行对本设计整体的控制,微处理器组合各个模块,从而进行系统性控制与传输,对模块产生的数据进行整合。
显示模块:我们通过LCD1602模块,清楚的显示温度和湿度数值,从而可以清楚明白的观察到对于任意时刻温湿度变化。
温湿度采集系统:通过DHT11模块对空气中温湿度的数据采集,从而得到温度和湿度的数值。
报警系统:我们在温度和湿度过高或者过低的时候,我们利用喇叭来报警,从而完成对温湿度超过预警温度的监测。
调控模块:在对温湿度进行报警的同时,我们会通过四个LED小灯的亮灭来模拟打开或关闭加湿口、通风口,以达到平衡大棚内部温湿度的目的。
以STC12C5A60S2单片机为核心,同时我们采用优点较高的DHT11温湿度传感器,温湿度传感器有其独特的优点,并且由于我们测量的是普通的大棚,其温度量程湿度5-95%RH, 温度0~+50℃。所以说DHT11更加的适合于大棚的正常环境下的温湿度。并且DHT11温湿度传感器有着以下的主要特点:温湿度传感器的敏感元件是热敏电阻、湿敏电阻。超长信号传输距离以及超低能耗,一般温度、湿度测量多有一个精度值。温度一般在0.5°C湿度5%RH左右。温度不对,如果是没有显示或者显示全部为0,有可能是热敏元件损坏,或者接触不良,从而容易判断出是否是因为DHT11还是由于程序问题而导致我们所做实验时的错误。报警系统:我们通过设置好我们所设定好的范围,调节DHT11温湿度传感器的数值,从而增加或者减少此刻的温湿度,这时报警系统就会发出响声,从而提醒用户,然后通过4个LED小灯的亮灭来模拟通风口和加湿口的开关。
(1)完成硬件设计,包括硬件选择以及对硬件原理图绘制。
(2)完成软件设计,对仿真的思路进行理解。
(3)掌握温湿度传感器程序的编程方法。
(4)学习和了解单片机对于通信和信息传递的重要性
在主控芯片的选择上,考虑到成本和代码的可移植性,选择了STC12C5A60S2单片机,STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。
STC12C5A60S2单片机有其独特的特点:
(1)内核:增强型8051CPU,最高工作频率35MHz,单周期乘法和硬件除法。
(2)存储器:片上集成1280字节的Flash存储器。
(3)时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5%到±10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:3.3V单片机为:8MHz~12MHz。
(4)通用I/O口:通用I/O口(40个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉、强推挽/强上拉、仅为输入/高阻、开漏。每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA。如图3-1STC12C5A60S2单片机硬件电路图,图3-2STC12C5A60S2单片机芯片核心所示。
图3-1STC12C5A60S2单片机硬件电路图
图3-2STC12C5A60S2单片机芯片核心
DHT11数字温度传感器是一款含有已校准数字信号输出的温湿度符合传感器。如图3-3DHT11实物图,图3-4DHT11硬件电路图所示。
图3-3DHT11实物图
图3-4DHT11硬件电路图
对于DHT11,它拥有温湿度测量、校准、稳定的数字输出、超低能耗以及良好的稳并且符合我们的日常使用需求,所以我们选择DHT11作为我们大棚温湿度智能控制系统的核心传感器。
它的工作情况如下:DHT11和微处理器之间采用串行接口的方式进行通信,采用单总线数据格式。DHT11和微处理器之间的通讯过程,先主机(微处理器)发出低电平信号,至少持续18ms,之后主机拉高电平,并转换为输入模式,等待DHT11的响应,若DHT11输出80us的低电平,即I/O口输入80us的低电平,表示DHT11发出响应,之后I/O口再输入80us的高电平,之后开始传送数据,在传送数据之后,I/O口输入高电平,主机会根据输入高电平的时间长度来判断为1或0。当输入的数据位为0时,持续高电平的输入时间长度在26us~28us之间,便开始输入低电平,表示该数据位结束。
我们采用此蜂鸣器采用SPEAKER进行模拟,参照原理图画出连接电路,其连接电路图,在温度或者湿度超过我们设定的范围时,报警器直接进行报警,提醒使用者。先配置一个I/O口作为输出,当需要蜂鸣器响时,输出1即可。在DHT11检测到数据后,若温湿度高于或低于一定值,则使输出口为高电平,蜂鸣器响。如图3-5报警系统模块硬件电路图所示。
图3-5报警系统模块硬件电路图
DS1302时钟芯片是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302芯片包含一个用于存储实时时钟/日历的 31 字节的静态 RAM,可通过简单的串行接口与微处理器通讯,将当前的是时钟存于RAM。DS1302芯片对于少于 31 天的月份月末会自动调整,并会自动对闰年进行校正。由于有一个 AM/PM 指示器,时钟可以工作在 12 小时制或者 24小时制。
此模块用于测算时间并传输到单片机上用于显示实时时间,DS1302采用的是三线接口的双向数据通信接口,RST是片引脚,低电平有效;SCLK是时钟芯片,为通信提供时钟源;I/O为数据输入输出引脚,用于传输及接收数据。DS1302还采用了双电源供电模式,VCC1 连接到备用电源,在VCC2主电源失效时保持时间和日期数据。
DS1302的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如图3-6DS1302时钟模块硬件电路图所示。
图3-6DS1302时钟模块硬件电路图
在系统中,我们选择用LCD1602显示模块来实现显示功能,以达到显示实时温湿度和时间的功能。
1602液晶也叫1602字符型液晶,16x02,每行16个字符显示两行。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它的主控芯片是HD44780或者其它兼容芯片,它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
LCD1602的基本操作分为四种:读状态(输入RS=0,RW=1,E=高脉冲,输出:D0—D7为状态字读数)、读数据(输入RS=1,RW=1,E=高脉冲,输出:D0—D7为数据)、写命令(输入RS=0,RW=0,E=高脉冲,输出:无)、写数据(输入RS=1,RW=0,E=高脉冲,输出:无)。编程时主要是围绕LCD1602模块的RS(数据命令选择)、RW(读写选择端)、E(使能端)三个引脚进行初始化、写命令、写数据,如图3-7LCD1602显示模块硬件电路图所示。
图3-7LCD1602显示模块硬件电路图
当大棚里面温湿度过高或者过低的时候,该系统会通过打开或关闭通风口和加湿口来平衡大棚内部的温湿度,由于仿真条件有限,于是选择用LED小灯的亮灭来模拟通风口和加湿口的开关。
LED小灯即发光二极管,发光二极管为二极管中的一种,二极管中有阳极和阴极,电流从正极流向负极导通,反向阻断。其中贴片发光二极管,正向导通电压在1.8V-2.2V之间,靠电流驱动,工作电流在1mA-20mA之间,1mA-5 mA之间LED小灯亮度变化明显,5 mA-20mA之间LED小灯亮度变化不大,20mA以上LED小灯易烧坏。当I/O口输出一个高电平的时候,相当于跟VCC一样的5V电压,此时整个电路路无电压差无电流,LED熄灭。当I/O口输出一个低电平的时候,相当于跟GND一样的0V电压,此时整个电路接通,LED点亮。如图3-8LED灯模块硬件电路图所示。
图3-8LED灯模块硬件电路图
Keil C51是一款应用于单片机编程的软件开发工具,它拥有强大的仿真器、调试器、宏汇编器、单板计算机以及符合生产标准的Keil C编译器,在嵌入式软件开发的基础上有深层次的研发进展,帮助您在嵌入式开发上准确模拟硬件配置,以详尽的测试报告对定量的数据进行简单合理的分析。
Proteus软件是来自英国Labcenter Electronics公司的EDA工具软件。Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,
EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。一般学习电路仿真工具(如Multisim、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下基础。
Windows应用程序Keil C51是一个集成开发环境,它把项目管理源代码编辑程序调试等集成到一个功能强大的环境中,C交叉编译器从你的C源代码产生可重定位的目标文件。
Proteus软件与第三方集成开发环境的无缝集成是单片机虚拟仿真实验室构建中需要解决的一个关键问题。利用 Proteus与Keil C51结合,从而进行虚拟模拟仿真。
EDA基于VerilogHDL语言,通过对电路图直接仿真或者直接输入代码直接进行仿真,从而得到相应的电路与逻辑结构。
/*
* 作者:PrairieOne
* csdn:PrairieOne
* 邮箱:[email protected]
* 嵌入式技术交流群:826251093
*/