语音报警温湿度监控仪系统原理设计 第5页图2-17 温湿度控制仪器的电路图
当单片机接受到DHT21传出的40位的数字量后,就把它转化为十进制数的温湿度,并且显示在LCD的模块上分行显示,然后实际的温湿度与给定的温湿度比较大小,通过改变空调和除湿机的开和关来达到控制温湿度。而且可以根据不同的环境改变给定的温湿度的值。
3 软件设计
3.1 程序设计的总体流程
图3-1 程序流程图
该控制仪器的总体流程图如图3-1所示.该程序设计我们可以将它分为如下几部分。
读取温湿度数据:由于DHT21芯片是一次性的传输40bit的数据,所以我们要将温度数据、湿度数据以及校正和数据分离,并且转化为10进制数据,这样才方便在LCD中显示。
LCD的初始化:我们可以设置显示的位置、功能设置、输入方式的设置、清屏设置。在本设计中由于LCD显示模块比较繁琐,所以我将它单独写出来并用函数调用的方式来完成该设计中的LCD显示功能。
实际温湿度与给定温湿度的比较:实际温湿度是由温湿度传感器获得的,而给定的温湿度是根据人体最适合的温室度为参照给出的。由于健康的湿度环境是45%~65%,在这样的湿度条件下,人体感觉最舒适,各种病菌不易传播。湿度高于65%会使人体呼吸系统和粘膜产生不适,免疫力下降。人感到最舒服的温度是20℃至25℃。超过28℃,人就会觉得燥热;而低于14℃,人就会感到“冷”。因此我选择的额定温度和湿度分别是23℃和50%RH。然后通过DHT21获得的实际温湿度与额定的温湿度的大小进行比较才能对实际情况通过空调和除湿机加以控制来达到要求。
空调和除湿机对温湿度控制:通过空调和除湿机的操作来达到改变实际温湿度的效果。然后DHT21芯片重新获得40bit的数据,依次循环从而达到实时控制的效果。
我们可以根据总的流程图,对我们所需要的模块分别进行程序设计,然后把它们有机的结合在一起,就能达到我们的要求。
3.2 延时程序设计
定时程序有硬件和软件定时两种。它们各自有它们的优缺点,软件定时没有范围而硬件定时是有范围。软件定时没有硬件定时准确。软件定时是依据依靠循环的语句来实现的。通过改变循环的次数就可以增减定时的长短。而硬件定时是由单片机内部自带的定时器/计数器来完成的。当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为:T=1/(12×10^6)Hz×1/12=1μs这是最短的定时周期。若要延长定时时间,则需要改变定当定时器/计数器为计数工作方式。以下分别由软件硬件完成的定时。
汇编:
DELAYS_1S: ;1S延时
DEL:
MOV R5,#195
DEL1:
MOV R6,#25
DEL2:
MOV R7,#100
NOP
NOP
DEL3:
DJNZ R7,DEL3
DJNZ R6,DEL2
DJNZ R5,DEL1
RET
延时时间T={[(100*2)+3+2]*25+1+2}*195+5=999965
在计算时候我们必须知道每条指令所需要的机械周期是多少,例如 DJNZ R6, DEL2;这条指令是占用了两个机械周期的时间。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
语音报警温湿度监控仪系统原理设计 第5页下载如图片无法显示或论文不完整,请联系qq752018766