ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:306.94KB ,
资源ID:7625924      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7625924.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字湿度检测控制装置论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字湿度检测控制装置论文.docx

1、数字湿度检测控制装置论文郑州轻工业学院课 程 设 计 任 务 书题目 数字温度检测控制装置 专业 学号 姓名 主要内容、基本要求、主要参考数据等:主要内容:1、 查阅与课题设计内容相关的科技文献数据;2、 熟悉数字温度检测控制装置的结构、功能和工作过程;3、 确定系统硬件及软件设计方案 ;4、 进行电气原理图的绘制和微控制器内部程序的编写; 5、 完成课程设计说明书一份。基本要求:1、设计方案符合课题要求、结构严谨、功能完善;2、系统结构模型绘制规范、标注简约明确;3、系统控制电气原理图绘图准确、布局合理;4、微控制器内部程序主要功能基本调试通过;5、课程设计说明书严格按照“课程设计报告撰写格

2、式”书写。主要参考数据1、单片微型计算机原理及应用,西安电子科技大学出版社,张毅坤主编;2、单片机原理与接口技术,北京邮电大学出版社,马淑华等编着;3、现代传感器集成电路,人民邮电出版社,赵负图主编;4、单片机典型外围器件应用实例,人民邮电出版社,求是科技编着。完成期限:2011年12月19日-2012年1月9日指导教师签名: 课程负责人签名: 目 录1概述 11.1设计题目的意义及简介 11.2系统组成总体结构 12系统硬件设计 22.1单片机最小系统设计 22.1.1 单片机选择 22.1.2 时钟电路设计 22.1.3复位电路设计 22.2温度采集电路设计 22.2.1 AD590温度传

3、感器 22.2.2测温电路的设计 2.2.3 信号调整电路 2.3 LED显示 22.4 键盘接口 2.5 控制电路 3系统软件设计 3.1程序初始化 3.2主程序 3.3 A/D转换子程序 3.4 标度转换子程序 3.5 显示子程序 3.6控制子程序 3.7 键盘子程序 4结论 参考文献 附录A 系统硬件原理图 附录B 程序清单 摘要本次设计是采用单片机中的STC89C52和DHT11构成的低成本的湿度的检测控制系统。单片机STC89C52是一款有强大的功能、低消耗,高效率的单片机,因此在很多领域都是用它。DHT11是一款复合型温湿度传感器,并且含有以校准好的数字输出。,DHT11传感器包括

4、一个电阻式感湿原件和一个NTC测温元件,该产品具有超快响应、品质卓越、抗干扰能力强、性价比极高等优点。本设计主要包括系统软件的设计和硬件电路的设计。 硬件电路主要包括单片机、湿度传感器、显示模块、报警器以及控制设备等5部分。其中由DHT11温湿度传感器及1602字符型液晶模块构成系统显示模块;用户根据需要预先输入预设值,当实际测量的温湿度不符合预设的温湿度标准时,发出报警信号(蜂鸣器蜂鸣),动相应控制。 软件部分包括了主程序、显示子程序、测湿度子程序。关键词:STC89C52; DHT11; 湿度传感器。 1.概述1.1设计题目的意义及简介随着生活的不断发展,人们对环境的要求也不断的提高,居住

5、的环境成为人们关心的话题。为了满足人们对适宜适宜环境要求,设计一种低成本、高性能、简单、便于提醒和控制湿度的装置。人们可以根据季节和天气的需要进行湿度的调节,使人居住在一个更加舒适的环境。此设计不仅可以应用到家庭中,也可应用到工厂中,这样大大减少了看护和相应的人工费用。此设计有点在于成本低,操作简单、相应快,并且当超出人们设定值时可自动报警。1.2系统组成总体结构本次的数字湿度控制器主要是由单片机系统组成,其系统组成框图如图1-1所示。图1-1 系统总体框图其工作流程为湿度传感器采集湿度信号,湿度信号被信号转换器转换成系统所能识别的电信号,采集信号被送入单片机后经过单片机的控制进行分析整理,根

6、据设定值进行湿度调节,再经过湿度反馈环节做进一步调整。2.系统硬件设计2.1单片机最小系统设计2.1.1单片机选择STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,stc的stc89c52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。STC89C52引脚如图所示图2-1 STC89C52单片机引脚2.1.2时钟电路设计单片机是在统一的脉冲信号控制下工作的。这个脉

7、冲就是时钟电路产生的。时钟电路选择晶振为12Mhz,两个电容选择60pf作为CPU的内部时钟电路,其电路图如下所示:图2-2 由晶振构成时钟电路2.1.3复位电路设计复位电路可以让单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。该设计采用的是按键复位和上电自动复位电路。这样图2-3 上电复位电路使用起来比较方便,即每当CPU通电时,CPU自动进行复位操作。省去了人工操作的繁琐,当程序跑飞时,可以手动复位,按下按键后,使RESET端产生高电平,电路设计如图2-3(其中电阻为1K,电容为22uf)2.2温度采集电路设计2.2.1 AD590温度传感器温度采集元件采用AD590温度传

8、感器,AD590 是美国模拟器件公司生产的单片集成两端感温电流源。AD590具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便等优点。可广泛应用于各种冰箱、空调器、粮仓、冰库、工业仪器配套和各种温度的测量和控制等领域。AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。其电路外形如图2-4所示,它采用金属壳3脚封装,其中1脚为电源正端V;2脚为电流输出端I0;3脚为管壳,一般不用。集成温度传感器的电路符号如图2-5所示。图2-4 AD590封装形式 图2-5 集成温度传感器电路符号AD590的主特性参数如下: 工作电压:430V。 工作温

9、度:55150。 正向电压:44V。 反向电压:20V。 输出电阻为710M。 精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线性误差为0.3。AD590的工作原理:在被测温度一定时,AD590相当于一个恒流源,把它和530V的直流电源相连,并在输出端串接一个1k的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mVK的电压信号。2.2.2测温电路的设计在设计测温电路时,首先应将电流转换成电压。由于AD590为电流输出元件,它的温度每升高1K,电流就增加1A。当AD590的电流通过一个10k的电阻时,这个电阻上的压降为10m

10、V,即转换成10mVK,为了使此电阻精确,可用一个9.6k的电阻与一个1k电位器串联,然后通过调节电位器来获得精确的10k。图2-6所示是一个电流电压和绝对摄氏温标的转换电路,其中运算放大器A1被接成电压跟随器形式,以增加信号的输入阻抗。而运放A2的作用是把绝对温标转换成摄氏温标,给A2的同相输入端输入一个恒定的电压(如1.235V),然后将此电压放大到273V。这样,A1与A2输出端之间的电压即为转换成的摄氏温标。图2-6 绝对摄氏温标转换电路将AD590放入0的冰水混合溶液中,A1同相输入端的电压应为2.73V,同样使A2的输出电压也为2.73V,因此A1与A2两输出端之间的电压:2.73

11、2.730V即对应于0。2.2.3 信号调整电路单片机处理的信号是数字信号,因此,在送往单片机处理之前应对该信号进行放大转换。本系统所采用的A/D转换器为ADC0809,由于ADC0809的输入信号应在05V之间,因此,经过放大电路放大的信号进入A/D转换器的电压信号应控制在05V之间,根据此原则可设计合适的放大倍数。信号调整电路主要由运算放大器0P07等组成。为了使温度检测电路的输出电压能够适合于A/D转换器的参考电压,利用超低温漂移高精度运算放大器0P07将温度电压信号进行放大到05V的范围之内,便于A/D进行转换,以提高温度采集电路的可靠性。本设计中,信号调理电路部分由集成运放OP07分

12、别构成一个电压跟随器,电压比较器和一个同相输入放大器用于对AD590输出的小电压信号进行放大处理。信号调整电路如图2-7所示在该放大电路中,电压跟随器起阻抗匹配的作用。反馈电阻为零时,放大倍数为1,电压跟随器的输入电压等于输出电压。电压比较器用于对输出电压小信号电压进行调零,在上述电路图中的电压比较器部分由于R2=R4 R3=R5 可得电压比较器的输出电压根据电压跟随器的输出电压调节电位计R9就改变电压比较器的输入电压。使得当温度为温度测量下限时电压比较器的输出电压为零。起放大作用的是同相输入放大器OP07。其放大倍数: 因此放大器的输出电压ADC0809是一种8位逐次逼近式A/D转换器,其内

13、部有一个8位“三态输出锁存器”可以锁存A/D转换后的数字量,故它本身既可看作一种输入设备,也可以认为是并行I/O接口芯片。故ADC0809可以和微机直接接口,本设计就是用8051和ADC0809直接相连的。AT89C51与ADC0809的连接方法如图2-8所示,AT89C51通过地址线P2.7和写控制信号线用一个或非门联合控制启动转换信号端(START)和地址锁存信号端(ALE)。地址线P2.7和读控制信号线用一个或非门联合控制输出允许控制端(EOC)。低三位地址线加到ADC0809的ADDA、ADDB、ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。转换结束信号EOC通过一

14、个反相器接到INT1。图2-8 AT89C51与ADC0809连接图AT89C51和ADC0809连接通常可以采用查询和中断两种方式。本系统采用中断方式传送数据,EOC线作为CPU的中断请求输入线。CPU线响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。对ADC0809地址的确定:根据系统硬件连接图可知所选定模拟电压路数为IN0,其对应的地址为ABC=000,即P0.0、P0.1、P0.2=0 0 0;又P2.7=0时才能启动ADC0809工作和使AT89C51从ADC0809接收A/D转换电压的数字量。故确定ADC0809其中一个地址为: 0111 1111 1

15、111 1000B=7FF8H ,其中“_ ”表示固定量。ADC0809的IN0和变送器输出端线连,故IN0上输入的0V5V范围的模拟电压经A/D转换后可由AT89C51通过程序从P0口输入到它的内部RAM单元。ADC0809所需时钟信号可以由AT89C51的ALE信号提供。AT89C51的ALE信号通常是每个机器周期出现两次,故它的频率是单片机时钟频率的1/6。本系统AT89C51主频是12MHZ,ALE信号频率为2MHZ,使AT89C51的ALE上信号经过4分频后接到ADC0809的CLOCK输入端,就可获得500KHZ的A/D转换脉冲,当然,ALE上脉冲会在MOVX指令的每个机器周期少出

16、现一次,但通常情况下影响不大。为了给OE线分配一个地址,把AT89C51RD和P2.7经或门和OE相连。平时,使OE处于低电平封锁状态,在响应中断后,AT89C51执行中断服务程序中如下两条指令就可以使OE变为高电平,从而打开三态输出锁存器,让CPU提取A/D转换后的数字量。AT89C51执行如下程序可以启动ADC0809工作。MOV DPTR , # 7FF8H MOVX A , DPTR; OE变为高电平,数字量送A2.3 LED显示本设计显示采用LED串行静态显示。MCS-51系列单片机的串行口RXD,TXD为一个全双工串行通信口,当工作在方式0下可作同步移位寄存器用,其数据由RXD(P

17、3.0)端串行输入或输出;而同步移位时钟由TXD(P3.1)串行输出,在同步时钟的作用下,实现由串行到并行的数据通信。在不需要使用串行通信的场合,利用串行口加外围芯片74LS164就可以构成一个或多个并行输入/输出口,用于显示器LED驱动。波特率(每秒传输的位数)固定在fosc/12,即当晶振为12MHZ时,波特率为1MBPS。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。单片机与4片串入并出移位寄存器74LS164相连。其中,RXD作为164的数据输入,TXD作为4片164的同步时钟。程序运行时,单片机将4个数码管的段码

18、(4个字节)连续发送出来,通过串行口送给164。4位字型码送完后,TXD保持高电平。此时每片164的并行输出口将送出保存在内部移位寄存器中的8位的段码给数码管,令数码管稳定地显示所需的字符。74LS164是8位串入并出移位寄存器。A、B为串行输入端,QAQH为串行输出端,CLK为串行时钟输入端,为串行输出清零端,VCC为+5V电源输入端,GND为接地端。具体输入输出关系如表2-1所示。X代表任意状态;QA0、QB0QH0代表在稳态输入条件建立之前QA、QBQH的输出状态;QAn、QBnQHn代表在最近的时钟上升沿转换之前QA、QBQH的输出状态;H/L、QAnQBn代表在最近的时钟上升沿转换之

19、后QA、QBQH的输出状态。表2-1 74LS164输入输出关系如所示输入输出清除 时钟 A BQA QB QHL X X XH L X XH H HH L XH X LL L LQA0 QB0 QH0H QAn QGnL QAn QGnL QAn QGn图2-9 74LS164引脚如图串行显示电路属于静态显示,比动态显示亮度更大一些。由于74LS164在低电平输出时,允许通过的电流达8mA,故不必添加驱动电路,亮度也比较理想。与动态扫描相比较,无需CPU不停的扫描,频繁地为显示服务,节省了CPU时间,软件设计也比较简单。由于本设计采用的是共阳极数码管,所以相应的亮段必须送0,相应的暗段必须送

20、1。原理图如图2-10所示:图2-10 LED串行静态显示2.4 键盘接口键盘的工作方式选取的原则是:既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间。键盘的工作方式有:查询方式(编程扫描,定时扫描方式)、中断扫描方式。独立式按键接口就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。优点就是电路配置灵活,软件结构简单;缺点就是每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘是用于按键较少或操作速度较高的场合。本

21、设计中由于所用键盘不多,所以采用独立连接式的查询式键盘就能够满足设计要求。在本次设计中采用了软件扫描的方法。通过对键盘接口P1.0和P1.1的查询判断是否有键按下。本次设计采用了软件去抖动的方法。当有键按下时,按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如果不妥善处理,将会使按键命令的错误执行和重复执行。采用软件延时的方法来避开抖动阶段,这一延时过程一般大于5ms。2.5 控制电路在本设计中,被测温度信号经采样处理后,还需要通过单片机系统的P1.2口输出用以控制温度,控制的方式主要有模拟量控制和开关量控制。本系统采用的是开关量控制。所谓的开关量控制就是通过控制设备的“开

22、”或“关”状态的时间来达到控制的目的。由于输出设备往往需要大电压来控制,而单片机系统输出的为TTL电平,这种电平不能直接驱动外部设备的开启和关闭。另一方面,许多外部设备在开关过程中会产生很强的电磁干扰信号,如果不隔离会使系统进行错误的处理。因此在开关量的输出控制过程中要考虑到两个问题,一要隔离;二要放大。本设计采用继电器作为控制电路的主要器件,继电器具有一定的隔离作用,在继电器前面加一个三极管用以放大输出信号就可以驱动继电器的闭合和断开,从而实现弱电控制强电的效果。固态继电器和MCS-51系列单片机组成的控制系统, 具有抗干扰性强、编程简单、系统兼容性好等特点。继电器一般由通电线圈和触电组成。

23、当线圈通电时,由于磁场作用,使开关触电闭合。当不通电时,则开关触点断开。一般线圈可用直流低电压控制(+5V,+9V,+12V)。继电器的特性参数包括输入和输出参数,主要的参数为额定输入电压、额定输出电流、浪涌电流。根据输入电压参数值大小,可确定工作电压大小。如采用TTL或CMOS等逻辑电平控制时,采用有足够带载能力的低电平驱动,并尽可能使“0”电平低于0.8V。本设计就是采用直流驱动电压为+5V的继电器。触电输出部分可以直接与市电连接。继电器控制电路如图2-11所示。2-11 继电器控制电路3.系统软件设计本次单片机温控系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基

24、本定下来了。系统软件的功能又可分为两大类:一是监控软件,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件,它是用来完成各种实质性的功能如测量、显示等功能。本系统程序设计包括温度采集子程序、显示子程序、标度转换资程序、键盘子程序、控制子程序。程序流程图如图3-1所示。 小于等于-2 大于等于2图3-1 系统流程图3.1程序初始化程序初始化部分根据系统硬件原理图及设计要求对单片机系统进行系统资源分配、参数的设置以及定义。系统内部资源分配和参数设置如下:A/D端口地址(ADPORT): 7FF8H显示缓冲起始地址:(LEDBUF): 30H段码存储起始地址(TEMP): 4

25、0H设定温值存储地址(SETTEMP): 50h测量温度存储地址(CURTEMP):51H温度设定上限(HIGHLIMIT): 80温度设定下限(LOWLIMIT): 25温度测量上限(HIGHTEMP) 107温度测量下限(LOETEMP) 21初始化程序代码如下:ADPORT EQU 7FF8H ;A/D端口地址 LEDBuf equ 30H ;显示缓冲TEMP EQU 40H ;段码存储UP equ 1 ;增温DOWN equ 2 ;减温LowLimit equ 25 ;设定值下限HighLimit equ 80 ;设定值上限LowTemp equ 21 ;A/D 0HighTemp e

26、qu 107 ;A/D 255SetTemp equ 50h ;设定温值CurTemp equ 51h ;测量温度DIN BIT 0B0H ;P3.0CLK BIT 0B1H ;P3.1 ORG 0000Hljmp Start3.2主程序主程序代码如下:Start:mov SetTemp, #20 ;初始恒温值为20MLoop:call TestKey ;测试有无键入jnz KeyPressed ;更改设定值call DisplayResult ;数制转换call DisplayLED ;显示call ReadTemp ;读入温度CONTROL: ;控制子程序KeyPressed: ;键盘子程

27、序END3.3 A/D转换子程序根据系统硬件连接图可知,在系统中将ADC0809作为一个外部扩展并行I/O口,采用线选寻址。由P2.7和联合控制启动转换信号端(ATART)和ALE端,低三位地址线架到ADC0809和ADDA,ADDB,ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。启动DAC0809的工作过程是:先送通道号地址到ADDA,ADDB,ADDC,由ALE信号锁存通道号地址,后让ATART有效,启动A/D转换,即执行一道“MOVX DPTR ,A”指令产生信号,使ALE,START有效,锁存通道号并启动A/D转换,A/D转换完毕后,EOC端发出一正脉冲,申请中断。

28、 在中断服务程序中,“MOV A , DPTR”指令产生信号,使OE端有效,打开输出锁存器三态门,8位数据便读入到CPU中。A/D转换子程序代码如下:ReadAD: mov dptr, #ADPORTclr amovx dptr, a ;start A/DJNB P3.3, $MOVX A, DPTR ;读入结果ret3.4 标度转换子程序系统温度测量范围的计算原理:根据温度标定结果选取两个温度状态T1 T2,模拟输出电压V1 V2;根据0809的输入范围在0到5伏,即可计算出温度极限。计算公式如下:0伏时对应的温度TL:T1-(V1-0)(T2-T1)/(V2-V1)5伏时对应的温度TH:T

29、1-(V1-5)(T2-T1)/(V2-V1)根据所得结果采用在温度为50和60下所测量的电压输出1.6V和2.2V为计算温度测量范围的参数,根据上式可得:TL=50-(1.68-0)(50-40)/(2.26-1.68)=21TH=50-(1.68-5)(50-40)/(2.26-1.68)=107所以A/D转化的极限范围为21-107之间,而根据系统要求温度的控制范围为25-80之间,符合系统要求。程序中温度的计算原理:首先用温度范围除以0到256(即每个十六进制数的温度增长率),然后乘以模拟转换的数字量,即得到升高的温度,再和最低温度相加,就可以得到实际的温度值。其公式为:TL+AX(T

30、H-TL)/256TL:显示的最低温度TH:显示的最高温度AX:模拟电压所转换的数字量标度转换代码如下:ReadTemp:call ReadADmov b, #(HighTemp-LowTemp) ;温度值计算mul abmov a, b ; /256add a, #LowTempmov CurTemp, aret3.5 显示子程序显示模块包括数制转换和LED串口静态显示两部分。显示内容包括当前温度和设定温度两个参数。在数制转换程序中将十六进制数的数据转换为十进制数数据,各分为十位数和个位数。在编写显示程序时,先送高位再送低位。显示模块程序流程图如图3-2所示数制转换子程序代码如下:Displ

31、ayResult:mov a, CurTemp ;实际值mov b, #10div abmov dptr, #LEDMAP ;显示码首址movc a, a+dptr ;取显示码mov LEDBuf, a ;存显示缓冲mov a, bmovc a, a+dptrmov LEDBuf+1, amov a, SetTemp ;设定的恒温值 mov b, #10 div abmov LEDBuf+2, Amov a, bmov LEDBuf+3, Aret显示子程序代码如下:DisplayLED: ;显示子程序MOV R0,#LEDBUF ;置存储区首地址MOV R1,#TEMP ;置缓冲区首地址MOV R2,#4 ;制段码字节数DP10:MOV DPTR,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1