空气湿度测量及报警系统设计报告.docx
- 文档编号:29793949
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:54
- 大小:170.59KB
空气湿度测量及报警系统设计报告.docx
《空气湿度测量及报警系统设计报告.docx》由会员分享,可在线阅读,更多相关《空气湿度测量及报警系统设计报告.docx(54页珍藏版)》请在冰豆网上搜索。
空气湿度测量及报警系统设计报告
第一章自动化工程训练设计的目的意义1
1.1设计目的1
1.2课程在教学计划中的地位和作用1
第二章空气湿度测量与报警系统软硬件设计任务3
2.1设计内容及要求3
2.2课程设计的要求3
第三章总体设计方案5
3.1总体设计思想5
3.2总体设计流程图6
第四章硬件设计7
4.1硬件设计概要7
4.1.1湿度采样电路7
4.1.2驱动器接线8
4.2所用到的芯片及其各自功能说明8
4.2.1芯片列表8
4.2.28032的功能简介9
4.2.3ADC0809的功能简介9
4.2.48279的功能简介11
4.2.5LCD的功能简介12
4.2.6湿度传感器12
第五章软件设计14
5.1系统模块14
5.2各模块介绍14
第六章系统调试及使用说明18
6.1系统调试18
6.2使用说明18
第七章收获、体会19
参考文献20
附录21
第一章课程设计的目的、意义
1.1设计目的
通过微控制器的硬件和软件的学习,使学生对单片机系统有一个全面、深刻的了解,能够熟练掌握芯片的工作原理和使用方法,从硬件和软件两方面的基础上对所学知识进行应用,对在课程设计过程中遇到的问题进行相关处理并分析结果,使学生能够在实际应用的过程中掌握软、硬件应用的精华部分,能够进行相对独立的程序设计和硬件设计,本质上实现了《微控制器技术》课程的教学目的。
此次设计主要能够完成对空气湿度的测量监控和数据处理以及显示报警功能的实现,可以通过键盘输入参数来设置系统得目标值和报警值,通过LCD来显示当前相对湿度值和键盘输入的目标值、报警值。
当当前相对湿度值达到某种程度时,作出对应得驱动和报警。
1.2课程在教学计划中的地位和作用
计算机是当今发展最快的领域,随着计算机技术的发展,与其遥相呼应的微控制器的发展也是惊天地泣鬼神,正是这种软、硬件的更新换代,对学生学习微控制器技术这门课程和掌握相关的硬件知识变得更加重要,做到学以致用,使所学习的知识有助于今后的工作和学习,有必要将课堂上学习的理论和实践的结合,使学生能够真正的独立完成一项有一定知识架构的课程设计,如何自己思考相关的问题,如何去查资料并通过资料汇总得出相关结论,如何去学习新的东西,如何去了解我们生活中智能仪器的相关知识,以及在应用的过程中制定相应的问题的解决方案并通过不断实践来提高学生分析问题和解决问题的能力。
因为单片机在日常生活中的可见性和普遍性,使得这次课程设计主要是以生活中常见的电子电器为参考作出设计,例如:
空调系统,洗衣机系统,温度监控系统,湿度监控系统。
这些在日常生活中使用十分普遍的电器,在课程设计中我们可以从原理上,从内在的运算认识到理论对实践的重要性以及实践来源于理论的意义。
对一个系统成功的设计出来后的喜悦感让我们对微控制器的积极性充分的调动起来了。
所以说在这个经世致用的中南大学和创新型社会下,课程设计是必不可少,更是重中之重,意义重大性是不可忽视的。
第二章空气湿度测量与报警系统软
硬件设计任务
2.1设计内容及要求
设计出具有A/D采样、键盘输入参数设置的空气湿度检测、处理、显示和报警,并且可在线键盘参数设置、定时检测、显示和喇叭与灯光报警的空气湿度测量与报警系统。
2.2课程设计的要求
2.2.1课程设计的基本要求如下:
1).掌握单片微控制器硬件结构和工作原理、中断与定时系统等基本概念和原理;
2).熟悉8/16位单片微控制器(8X51/196系列)的主要功能单元和指令系统;
3).利用微控制器的接口技术进行简单的测控及自动化应用系统设计;
2.2.2课程设计的具体要求如下
1)湿度采样
由于湿度传感器的湿度检测转换并提供0-5V的信号输入,因此课程设计要求A/D多路采样电位器的输入电压,0-5V转换为00-0FFH数字信号,并存储计算显示.同时通过双通道采样同一个电位器的输入求平均值来保证采样的精度和显示值的稳定性.在此同时,增加第三通道独立采集,比较两种情况。
2)报警处理
键盘输入湿度的目标值和报警值,对采样进来的当前信号转换成数字信号后,与目标值和报警值做比较:
(1)若当前值低与目标值,则属于干燥状态,亮绿灯灯;此时,应启动加湿器。
(2)若当前值高于目标值同时低于报警值,则属于正常状态,亮黄灯;
(3)若当前值高于报警值,则属于高湿度危险状态,两红灯,同时喇叭报警,并启动干燥器。
(3)键盘输入和显示
通过键盘输入的参数(目标值和报警值)同时进行显示,对当前采样值进行动态显示,并可在线修改参数。
第三章总体设计方案
3.1总体设计思想
总体设计思想分为以下六点:
1)定义53H,63H,73H分别为目标值,报警值,当前值的存储区.首先调用一次显示程序,静态显示”请同时输入目标值和报警值,按功能键确定”,将输入的十进制值分别送到53H和63H,在P3.2有一个脉冲输入时,重新进入键盘扫描程序,否则完成键盘输入功能,并可在线修改参数;
2)通过AD转换将输入的电压信号转换为数字信号并调用数制转换程序,将16进制的当前值转换为十进制的三位数,同时存储在73H,完成信号检测和数制转换功能;
3)对转换后的当前值和输入的目标值,报警值做比较,运算后,根据不同的比较结果,改变,P1.1,P1.2,P1.3,P1.4,P1.5的状态,完成比较功能;
4)将当前采样值,键盘输入的目标值和报警值分别显示在LCD对应的位置上,完成显示功能;
5)根据3)中的改变情况,分别驱动红黄绿灯以及喇叭,P1.4,P1.5分别接干燥器和加湿的驱动器,完成报警功能.
6)作适当延时,在返回到AD转换阶段之前,判断P3.2的电位,若收到一脉冲,则此时开始重新初始化,进入键盘扫描程序,若没检测到,则继续采样重新扫描完成定时检测功能.
总体设计思想就为这样的不断循环,其中因为P1.4,P1.5的存在有一定的反馈控制,但是由于实验要求中并没作要求,因此,软件程序中对P1.4,P1.5的改变,以及硬件电路中对P1.4,P1.5的驱动接线并没有在实验室实现。
3.2总体设计流程图
程序流程图如图3.1
第四章硬件设计
4.1硬件设计概要
4.1.1:
湿度采样电路:
湿度采样电路用高分子湿度传感器CHR01为复合型电阻型湿度敏感部件,其复阻抗与空气相对湿度成指数关系,直流阻抗(普通数字万用表测量)几乎为无穷大,与传统意义上的电阻有空气中水分子参与膜感湿中的离子导电,由于水分子为极性分子,在直流电存在的情况下,会电离,分解,从而影响导电与元件的寿命,所以要求采用交流电路对传感器进行供电。
湿度传感器由于其必须的激励通过交流电来实现,及不同温度特性下阻抗不同的特性,决定了其在AD采样电路中必须采用动态采样的方法,并同时采样温度信号。
具体电路示意图4.1如下:
图4.1湿度采样电路
参数设计:
R0采样电阻的阻值通常建议在30-50KΩ,侧重高湿测量,采样电阻阻值可降低到20KΩ,低湿阻值可提高到100KΩ。
在信号的正周期内的中间段进行采样,直接通过分压法采集,注意采样时间,通过电压采样后得到V0,计算如下:
RX=R0*(V-V0)/V0
同时检测当前温度T,通过查阅湿度传感器Z/RH/T数据表,在不同温度下RX的值推算出当前的相对湿度RH%。
不同单片机可能得到的数据会有所不同,可通过软件进行矫正。
4.1.2报警驱动接线
P1.1接红灯
P1.2接黄灯
P1.3接绿灯
P1.4可同时接喇叭和干燥驱动器
P1.5接加湿驱动器
4.2所用到的芯片及其各自功能说明
4.2.1芯片列表(如表4.1)
表4.1芯片列表
芯片名称规格
数量
备注
8032
1片
八位单片机
ADC0809
1片
八位模数转换芯片
74LS164
1片
74LS02
2片
四2输入或非门
8279
1片
可编程键盘/显示接口
LCD
1片
液晶显示器
湿度传感器CHR01
1片
4.2.28032的功能简介
8031单片机采用40脚双列直插式封装结构,引脚配置如图4.3所示。
图4.380C32引脚图
4.2.3ADC0809的功能简介
图4.4AD0809芯片图
ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。
1.主要特性
1)8路8位A/D转换器,即分辨率8位。
2)具有转换起停控制端。
3)转换时间为100μs
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW。
2.内部结构
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近
3.外部特性(引脚功能)
ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动信号,输入,高电平有效。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
ADC0809的工作过程是:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
4.2.48279的功能简介
8279可按其功能分为:
键盘功能块;显示功能块;控制功能块;与CPU接口功能块控制功能块包括
控制和定时寄存器,定时和控制,扫描计数器三部分,它主要用来控制键盘和显示功能块工作.
控制和定时寄存器:
用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能.
定时和控制:
它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5.1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.
扫描计数器:
扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为显示器和键盘的译码扫描.
键盘功能块包括:
返回缓冲器,键盘反跳及控制,8x8FIFO传感器RAM,FIFO/传感器RAM状态.
4.2.5LCD的功能简介
图4.5LCD连线图
4.2.6湿度传感器
高分子湿度传感器CHR01、02系列为新一代复合型电阻型湿度敏感部件,其复阻抗与空气相对湿度成指数关系,直流阻抗(普通数字万用表测量)几乎为无穷大,与传统意义上的电阻有空气中水分子参与膜感湿中的离子导电,由于水分子为极性分子,在直流电存在的情况下,会电离,分解,从而影响导电与元件的寿命,所以要求采用交流电路对传感器进行供电。
对湿度传感器而言,频率与阻抗之间存在一定的关系,对于测量30%--80%RH范围,频率的变化对传感器影响并不明显,在单片机软件编程的实际应用时,需要通过将传感器置于湿度发生装置中(例如恒温恒湿箱)进行实测,通过软件对最终的误差进行修正,此项修正基本上可以弥补频率变化所产生的误差以及其他误差。
湿度传感器阻抗变化与温度的关系见规格书中的数据表,先检测温度,然后按查表法对进行湿度检测。
如果湿度精度要求不是特别严格的情况,(从数据处理简易的法则来说),可以推算湿度传感器温度系数为-0.4%RH/℃,公式为:
H(t)=H(25℃)-0.4*(t–25)
例如,以实测阻抗按25℃的数据表读数,例如在35℃时读到的阻抗为30K,按25℃表格,相对湿度为60%RH,此时按公式计算的实际湿度应为56%RH。
最后的问题是在生产过程中,由于湿度传感器的原因或其他原因,总会遇到实际值与测量值之间存在误差的情况,在单片机功能允许的情况下,建议通过软件做最后的修正,主要采用跳线(JUMP)的方法对示值进行修正,安排一个IO,做加/减运算符号定义,其余2-4个IO,用于定义加/减的值,例如1,2,3,可以修正正负6%RH的示值偏差。
第五章软件设计
5.1系统模块
5.1.1模块
初始显示OUTPUT2
键盘扫描及键盘输入INPUT
AD采集ADSTART
进制转换CONVER
输入数据比较COMPARE
采样输出OUTPUT
报警以及相应控制CONTROL
延时DELAY
5.2模块介绍
5.2.1初始静态显示
每个字的大小设置为16×16,因次可显示四行,每行显示8个字。
第一行为“欢迎使用”;第二行为“请连续输入目标湿”;第三行为“度值和报警湿度值”;第四行不显示,为空白。
5.2.28279键盘输入
连续输入2组十进制数,第一组目标值,低于目标值则环境干燥,第二组为报警值,高于报警值则环境潮湿,在两数之间范围内适度正常。
5.2.3AD数据采集
由于0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件,所采集的数为00至FF,要转换为10进制时需要采集结果经过数制转换。
需要采集结果与0.4相乘,此时出现较小误差。
在出现余数时在对余数成0.4,至小数点后一位截至。
子程序ADSTSR
ADSTAR:
;AD转换
LCALLDELAY
MOVA,#00H;0通道
MOVDPTR,#9000H
MOVX@DPTR,A
LCALLDELAY
MOVXA,@DPTR
LCALLDELAY
MOVB,#02H
DIVAB
MOV70H,A
MOVA,#01H;1通道
MOVDPTR,#9000H
MOVX@DPTR,A
LCALLDELAY
MOVXA,@DPTR
LCALLDELAY
MOVB,#02H
DIVAB
MOV71H,A
MOVB,70H
ADDA,B
MOV72H,A;取二者平均值
MOVB,#5
DIVAB
MOV79H,B
MOVB,#2
MULAB
MOV73H,A;100(64H)
MOVA,79H
MOVB,#4
MULAB
MOVB,#10
DIVAB
ADDA,73H;100+1
MOV73H,A
MOV7AH,B
MOVB,#100
DIVAB
MOV74H,A;百位
MOVA,B
MOVB,#10
DIVAB
MOV75H,A;十位
MOVA,B
MOV76H,A;个位
MOVA,7AH
MOV78H,A
RET
5.2.4输入数据比较COMPARE
COMPARE:
MOVB,53H目标值储存区
MOVA,#100
CLRC
SUBBA,B
JNCCOMP1
MOVA,#15H
MOV50H,A
MOVA,#22H
MOV51H,A
MOV52H,A
COMP1:
MOVB,63H报警值储存区
MOVA,#100
CLRC
SUBBA,B
JNCCOMP2
MOVA,#15H
MOV60H,A
MOVA,#22H
MOV61H,A
MOV62H,A
COMP2:
MOVB,73H当前值储存区
MOVA,#100
CLRC
SUBBA,B
JNCCOMP3
MOVA,#01H
MOV74H,A
MOVA,#0H
MOV75H,A
MOV76H,A
MOV78H,A
COMP3:
MOVB,53H
MOVA,63H
CLRC
SUBBA,B
JNCCOMP4
MOVA,#15H
MOV50H,A
MOVA,#22H
MOV51H,A
MOV52H,A
COMP4:
RET
此子程序是用来检测输入格式是否正确,比如目标值不能超过报警值,而这都不能超过100,如果出现这几种情况,出错的地方会有error显示在LCD上。
5.2.5采样输出OUTPUT
此输出就是把当前值实时显示出来,因为程序是进入的一个循环,AD不停的采样,这样数据实时更新。
需要修改参数时只需至P3.2一个脉冲,程序跳转到8279初始化那,往下运行。
5.2.6报警以及相应控制CONTROL
(1)若当前值低与目标值,则属于干燥状态,亮绿灯灯;此时,应启动加湿器。
(2)若当前值高于目标值同时低于报警值,则属于正常状态,亮黄灯;
(3)若当前值高于报警值,则属于高湿度危险状态,两红灯,同时喇叭报警,并启动干燥器。
第六章系统调试及使用说明
6.1系统调试
经过三周的不断调试更改再调试,最终得到了完整的成功的一个湿度测量控制系统。
在次过程中遇到了各种各样的问题,也采取了不同的处理方法。
例如:
根据要求的在线键盘输入,我们一开始将INPUT作为子程序放入循环中,结果出现每次循环都得进行一次键盘输入才能够继续下面的AD采样以及其他的显示报警子程序,显然这样不符合要求和不符合现实。
经过讨论调试,修改为键盘输入放在主程序中,在开始初始化显示好进行一次键盘输入,然后通过P3.2的开关脉冲量的判断,若P3.2有一个脉冲输入,则跳到主程序最开始重新进行键盘输入,否则只进行AD采样转换显示和报警处理。
我们最终完成后出现一个问题,当AD0809采集通道什么都不接时,指示灯会红黄绿等一直不停地闪烁,开始我以为是自己开始并未给存储地址初始化,当我们给那个地址(43H)分别赋值为00H,0FFH时还会出现这种情况,最后在与老师的讨论中了解到,由于手拿接线来回摇晃时,会产生感应电压,是采集的数不稳定。
6.2使用说明
1)运行程序进入系统监测状态后,LCD液晶显示“欢迎使用请连续输入湿度目标值和报警值(按F2确认并退出)”。
2)通过键盘进行参数设置,例如输入050、080后按F2功能键确认。
3)进行AD采样、转换、比较、显示、报警处理。
LCD画面显示:
湿度检测系统,当前湿度值为XX.XX%,目标值为50%,报警值为100%。
XX.XX%为当前湿度相对值。
并随湿度变化而改变。
4)若XX.XX<50,则亮绿灯;50
当当前值XX.XX改变时,以上处理状态跟随而变。
5)需要参数重新设置,则给予开关P3.2一个脉冲(课程设计中以开关的一次1和一次0的给予),重新返回到1)步。
第七章收获、体会
这次课程设计在周周内完成一个系统的设计,时间还是比较充裕的。
在这段时间里,我解决很多在课堂上在老师那发现不了的问题,学习到了一个系统的成功不仅仅是需要会编程,更需要的是怎么样从一堆错误一堆问题中逐一排除,找到解决的办法。
这一点我体会是十分深刻。
例如:
前面提到的键盘输入导致每次循环都得进行一次参数设置的问题,经过每一个子程序的单独运行,发现都可以正常运行,但融合到一起就出现问题了。
单步运行,也没发现问题,一个一个子程序的屏蔽,找到了键盘输入的问题。
于是解决办法就如前说产生出来了。
此外,对于LCD显示,键盘输入和AD采样的模块组合,以及双通道采样保证精度也让我了解到,理论上的东西不经过实践自己是很难理解透的,“知道并不等于会用”这句话正是最好的说明。
参考文献
[1]王秋爽曾昭龙.单片机开发基础与经典设计实例.北京:
机械工业出版社,2008.1
[2]林伸茂.8051单片机.北京:
人民邮电出版社,2004.5
附录(附源程序)
源程序如下:
ORG0100H
MAIN:
;主程序
OUTPUT2:
;初始静态显示
MOVDPTR,#8000H
MOVA,#00H
MOVX@DPTR,A;写数据
MOVA,#00H
MOVX@DPTR,A
INCDPTR
MOVA,#42H
MOVX@DPTR,A;写指令
LCALLDY
;设置图形显示起始地址
MOVDPTR,#8000H
MOVA,#10H
MOVX@DPTR,A
MOVA,#00H
MOVX@DPTR,A
INCDPTR
MOVA,#43H
MOVX@DPTR,A
LCALLDY
MOVA,#0A7H;设置图形显示范围
MOVX@DPTR,A
LCALLDY
MOVA,#80H
MOVX@DPTR,A
LCALLDY
;选择OR模式
MOVA,#9BH
MOVX@DPTR,A
LCALLDY
;文本关,图形开
MOVDPTR,#8000H
MOVA,#00H
MOVX@DPTR,A
MOVA,#00H
MOVX@DPTR,A
MOVA,#24H
INCDPTR
MOVX@DPTR,A
LCALLDY
;设置起始地址
MOVA,#0B0H
MOVX@DPTR,A
MOVR0,#00H
;开始数据自动写
QSS0:
;显示'欢迎使用'
MOVA,R2
MOVDPTR,#CHI5
MOVCA,@A+DPTR
MOVDPTR,#8000H
MOVX@DPTR,A
INCR2
DJNZR0,QSS0
MOVR0,#00H
MOVR2,#00H
QSS1:
;显示'请连续输入设置值
MOVA,R2
MOVDPTR,#CHI6
MOVCA,@A+DPTR
MOVDPTR,#8000H
MOVX@DPTR,A
INCR2
DJNZR0,QSS1
MOVR0,#00H
MOVR2,#00H
QSS2:
;显示'度值和报警湿度值'
MOVA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 空气 湿度 测量 报警 系统 设计 报告