本科毕业设计消毒柜微电脑控制器设计.docx
《本科毕业设计消毒柜微电脑控制器设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计消毒柜微电脑控制器设计.docx(32页珍藏版)》请在冰豆网上搜索。
本科毕业设计消毒柜微电脑控制器设计
摘要
在现实生活中,随着科技的进步,人们的健康观念逐渐增强,卫生意识越来越浓,对于食品的消毒要求有所提高。
本文介绍的AT89C51单片机消毒柜控制系统就是为了人们日常生活中的餐具消毒而设计的,采用微电脑控制技术,精确地控制消毒柜内的温度,很大程度上改善了人们的饮食卫生,提高了人们的生活水平。
本设计采用DS18B20温度传感器采集实时温度,通过DQ口送51单片机系统,实现模拟温度值的采集、转化、输出数字值,然后51单片机对采集的数据处理后送液晶显示电路,实时动态地显示当前的温度、最高加热温度、最低保温温度以及最高保温温度。
消毒柜主要通过加热到一个指定温度,对餐具等卫生洁具进行高温消毒,消毒柜将高温控制在一个指定的范围内,杀灭细菌,极大地增强了人们的饮食卫生,大大降低了疾病的交叉传染,为提高人们的身体健康起了重要的作用。
关键词:
单片机温度传感器消毒柜饮食卫生
参考文献27
第一章概述
随着科技的进步、社会的发展,测温控温仪器的广泛应用,智能温控已经成为当今控制系统的主要方向,特别是近年来温度控制系统已经应用在人们生活的各个方面,与人们日常生活息息相关。
而本设计是设计一个消毒柜,其实就是设计一个智能的温度控制系统,消毒柜主要通过加热到一个指定温度,对卫生洁具进行高温消毒,消毒柜就是把高温控制在一个指定的范围内,杀灭细菌,极大的增强了人们的饮食卫生,大大降低了疾病的传染,为提高人们的健康起了重要的作用。
本文主要研究基于51单片机控制的消毒框系统,设计中前端温度采集电路采用的是温度传感器18B20,用矩阵键盘控制系统加热最高温度、最低保温温度、最高保温温度的调节,以及消毒、保温、停止等功能的开启及关闭,由液晶屏1602显示当前温度及各调节温度的情况,同时有相应的指示灯及蜂鸣器指示当前工作状态。
本设计有良好的人机对话界面,有简单的按键操作,动态可调的工作参数,都是十分人性化的。
相对于其他的那些消毒柜,本设计很容易实现,成本低,一切按照工业设计的流程进行的,对于工业生产有很大的意义。
本设计使用的是单片机智能控制,高效并安全地实现温度的精确控制,相比起来有更大的优势。
第二章系统的组成及工作原理
2.1系统设计要求
A.设置三个功能键:
消毒、保温、停止;
B.按消毒键,接通加热继电器加热,当测到125℃时,停止加热;
C.按保温键,在50℃以下接通加热器,到70℃关闭,一直持续工作;
D.按停止键,则停止工作。
2.2系统组成框图和系统工作原理
图2.2-1系统组成框图
本次设计采用18b20温度传感器实时采集温度模拟信号,并通过内部转化,将温度模拟信号转化为数字信号送51单片机系统,51单片机对所采集的数据送入1602液晶显示模块中进行显示,从而完成对温度的采集。
51单片机再对矩阵键盘的扫描结果和即时温度值的处理,实现对温度的控制,系统设计了消毒,保温,停止三键,按下加热功能键时,单片机控制继电器启动加热器,开始进行加热,当温度到达125度时停止加热,按下保温键时,温度小于50度,加热器开始加热,温度超过70度,停止加热,当按下停止键时,一切程序停止运作。
在此基础上,设置了三个调节按键和十个数字键,当按下最高加热温度调节键时,调节最高消毒温度,使125度的最高消毒温度可调;当按下最低保温温度调节键时,调节最低保温温度,使50度的最低保温温度可调;当按下最高保温温度调节键时,调节最高保温温度,使70度的最高保温温度可调。
如此达到设计要求,完成设计。
第三章硬件电路方案设计
3.1方案比较与确定
方案一:
采用铂热电阻温度传感器PT-100,由含铂热电阻PT-100为桥臂的电桥,过程中其温度的变化将引起PT-100电阻值的改变,最终转变成电压的变化,但电桥输出的电压最多只能有几十毫伏,所以必须经ICL7650放大后才能输出0~5V的电压,达到实验所要求的电压,再经ADC0809转换成8位数字信号送至单片机。
单片机开发系统对所采集的数据经过滤波、变换等处理后送到7279进行显示,以实现对温度的测量。
测量出即时温度值之后要进行的就是根据温度的值和7279对键盘的扫描结果进行相应的处理,比如消毒、保温、停止等,这些就需要靠软件程序来辅助完成,还要通过加热装置来进行相应的操作,从而完成此次设计的要求。
加热器是由单片机通过继电器控制,安全管理加热器的启动与停止,加热装置将单片机核心系统与加热器隔离,防止加热器的高温对系统造成损伤,起到了以小电流控制大电流而安全控制的作用。
方案二:
采用数字温度传感器芯片DS18B20测量温度,输出信号为数字信号。
非常便于单片机处理及控制,较传统的测温方法而言,省去了很多电路设计,而且该传感器的物理稳定性非常高,温差小于1摄氏度,输出信号直接采用51单片机控制,并通过实时扫描矩阵键盘进行相应处理,同时可通过1602液晶屏显示当前系统设置情况,采用软件编程的自由度较大,通过编程可实现各种各样的算术算法和逻辑控制,而且整体电路体积小,硬件简单,安装方便。
通过分析以上两种方案,可以看出方案一的测温装置比较复杂,虽然可以检测出当前环境温度,但是误差较大。
方案二的测温装置电路比较简单、精确度较高、设计方便、软件编程也比较简单,故本次设计采用方案二。
3.2单片机最小系统设计
本设计采用了AT公司的89C51单片机,它包含有128字节数据存储器,内置2K的电可擦除FLASHROM,可以进行重复的编程,大小可以满足软件系统设计,故不必再扩展程序存储器。
复位电路和晶振电路是89C51工作所需的最简外围电路。
单片机最小系统电路图如图3.2-1所示。
89C51的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口是低电平有效。
在复位电路中,按一下复位开关就使在RS端出现一段时间的高电平,提供给单片机复位端。
外接12M晶振和两个22P电容组成系统的内部时钟电路。
图3.2-1单片机最小系统电路图
3.3温度采集转换电路
温度采集转换电路模块如图3.3-1所示,本电路主要采用的是以DS18B20为核心的电路,完成对温度信号的采集和转换工作。
由DS18B20数字温度传感器及其与单片机的接口部分组成。
数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的P3.7口,单片机接受温度并存储。
图3.3-1温度采集转换电路
3.3.1DS18B20温度传感器介绍
DS18B20是由DALLAS公司生产的一种新型的单线数字温度传感器。
,其体积小、适用于多种场合、并且适用电压较宽、更为经济。
数字化温度传感器DS18B20是世界上第一种支持“一线总线”接口的温度传感器。
其温度测量范围为-55~+125℃,可编程为9位~12位转换精度,测温分辨率可达0.0625℃。
其分辨率设定参数以及手动设定的恒定温度值和定时时间值存储在EEPROM中,掉电后仍然保存。
被测温度以符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可通过采用寄生电源方式产生。
多个DS18B20可以同时并联到3根或2根线上,CPU只需要一根端口线就能与诸多DS18B20进行通信,所占用的微处理器端口较少,可以节省大量的引线和设计电路。
因此用它来组成一个测温系统,线路简单,且在一根通信线上可以挂多个这样的数字温度计,使用十分方便。
3.3.2DS18B20温度传感器工作原理
每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中。
主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。
程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。
DS18B20的测温原理如图3.3.3_1所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
图3.3.2_1测温原理内部装置
3.3.3DS18B20温度传感器的功能特点
(1).采用单总线技术,与单片机通信只需要一根I/O线;
(2).DS18B20具有一个独有不变的64位序列号,可以根据序列号访问相应的器件;
(3).低压供电,供电电源范围为3~5V,可以直接从数据线上转接电源(即为寄生电源方式);
(4).测温范围为-55℃~+125℃,在-10℃~85℃范围内误差为±0.5℃;
(5).可编程数据为9~12位,转换12位温度最大时间为750ms;
(6).可以自行手动设定报警上下限温度;
(7).报警搜索命令可识别是否温度超出预定值;
(8).DS18B20的分辩率可以自行通过EEPROM设置为9~12位。
(9).DS18B20可将测得的温度值直接转化为数字量,并可以通过串行通信的方式与主控制器进行数据通信。
3.3.4使用DS18B20的注意事项
使用DS18B20测温虽然有系统简单、精度高、连接方便、使用口线少等优点,但在应用中也应注意以下几方面的问题:
(1).DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,在此期间必须确保有足够的时间,否则会出现转换错误的现象,使温度输出总是显示85;
(2).在实际使用中发现,供电电源电压应保持在5V左右,如果供电电源电压过低,则会使所测得的温度精度降低;
(3).在DS18B20测温程序设计中,当向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,如果DS18B20接触不好或断线,当程序读DS18B20时,将没有返回信号,程序就会进入死循环,在进行DS18B20硬件和软件设计时也应当注意这一点。
3.3.5温度传感器DS18B20与单片机的接口电路
DS18B20采用电源供电,DS18B20的1脚接地,2脚作为输出信号线,直接连接单片机端口,3脚接电源。
3.41602液晶显示模块
显示模块是用来显示系统的状态,命令或采集的电压数据的。
本系统设计中采用LCD1602液晶屏进行显示。
3.4.11602LCD液晶模块简介
LCD液晶显示器是一种低压、微功耗的显示器件,只要2~3V就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时还可以显示大量信息。
除数字外,还可以显示文字、曲线等,相较传统的数码LED显示器显示的界面有了质的提高。
在仪表和低功耗应用系统中得到了广泛的应用。
LCD液晶显示的优点为:
(1).显示质量高,由于LCD液晶显示器的每个点收到信号后就一直保持那种色彩和亮度恒定发光,所以液晶显示器的画质高而且不会闪烁。
(2).数字式接口,LCD液晶显示器都是数字式的,和单片机的接口操作简单也很方便。
(3).功率消耗低,相比LED显示器而言液晶显示器的主要功耗在内部电极和驱动IC上,因此耗电量比其他器件要小很多。
虽然LCD显示器的价格比数码管要贵,但它的显示效果好,是当今显示器的主流,所以本设计中采用LCD作为显示器。
根据显示内容和方式的不同可以分为数显LCD和点阵字符LCD,点阵图形LCD。
在此设计中采用点阵字符LCD,这里采用常用的2行16个字的1602液晶模块。
点阵图形式液晶是由M行×N列个显示单元组成的,假设LCD显示屏有64行,每行有128列,每8列对应1个字节的8个位,即每行是由16字节,共16×8=128个点组成的,屏幕上64×16个显示单元与显示RAM区的1024个字节相对应,每一字节的内容与屏上相应位置的亮暗相对应。
一个字符是由6×8或8×8点阵组成的,即要找到和屏上几个位置对应的显示RAM区的几个字节,而且要使每个字节的不同的位为‘1’,其它的位为‘0’,为‘1’的点亮,为‘0’的点暗,这样就组成某个字符。
但对于内带字符发生器的控制器来说,显示字符就简单得多了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号和每行的列数找出显示RAM对应的地址,设定光标,再在此送上该字符对应的代码即可。
3.4.21602液晶屏工作原理
首先进行1602初始化,进行清屏等设置,再设置显示行数为2行,接口数据位为8位,字型为5×7点阵。
然后设置液晶为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。
给LCD的显示缓冲区中送字符,本程序中采用4个字符数组,分别显示当前温度、最高消毒温度、最低保温温度、最高保温温度,要显示的字符和数据被送到相应的数组中,完成后再统一显示出来。
首先取一个要显示的字符或数据送到LCD的显示缓冲区内,程序延时2.5ms,判断是否够显示的个数,若不够则地址加一取下一个要显示的字符或数据。
3.4.31602液晶屏与单片机的接口电路
本设计中采用89C51的P0口作为数据线,用P2.7口、P2.5口、P2.6口分别作为1602LCD的E、R/W、RS。
它们中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号。
1602采用标准的14脚接口,如图3.4.3-1所示。
其中:
第1脚:
VSS为电源地;
第2脚:
VDD接5V正电源;
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接电源地时对比度最高,对比度过高时会产生阴影,故使用时可以通过一个10K的可调电阻调整对比度;
第4脚:
RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器;
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时,可以写入指令或者显示地址,当RS为低电平、RW为高电平时可以读忙信号,当RS为高电平、RW为低电平时可以写入数据;
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;
第7~14脚:
D0~D7为8位双向数据线;
图3.4.3-1液晶显示电路图
3.5键盘扫描模块
本模块通过编制程序,扫描键盘,比对键盘的值,设置三个温度设置键和消毒、保温、停止三个功能键以及0-9等10个数字键。
3.5.1矩阵式键盘介绍
矩阵式键盘(或者叫行列式键盘)常应用在按键数量比较多的系统之中。
这种键盘由行线和列线组成,按键设置在行、列结构的交叉点上,行、列线分别接在按键开关的两端。
行列式键盘可分为非编码键盘和编码键盘两大类。
编码键盘内部设有键盘编码器,被按下键的键号由键盘编码器直接给出,同时具有防抖和解决重键的功能。
非编码键盘通常采用软件的方法,逐行逐列检查键盘状态,当有键按下时,通过计算或查表的方法获取该键的键值,通常,计算机通过程序控制对键盘扫描,从而获取键值,根据计算机扫描的方法可以分为定时扫描法和中断扫描法两种。
本系统中的4*4矩阵式键盘结构简单,按键数较少,采用非编码式键盘,当有键按下时,由单片机通过程序扫描确定键值,并将获得的键值通过LED数码管显示出来,4*4矩阵式键盘结构及键值分布图3.5.1-1,图3.5.1-1所示:
3.5.2键盘扫描原理
键盘扫描工作过程为:
在没有键按下时矩阵键盘行线接高电平,列线接低电平,当某个键被按下时,该按键所在行线电位被拉低,延时10毫秒,防止误操作,再次检测是否电位被拉低,单片机再次对矩阵键盘进行扫描以确定按下的键值,扫描过程如下:
1.检测行线电平,确定是否有按键被按下;
2.延时去抖动;
3.重新确认是否有按键被按下,若有,扫描键值,若没有,返回主程序;
4.扫描键值,首先行线接高电平,列线接低电平,对行线电平进行检测,以确定按下的键所在的行;
5.行线接低电平,列线接高点平,对列线电平进行检测,确定按下的键所在的列;
6.将扫描所得的按键值送入主程序进行相应处理。
3.6指示电路及处理电路
指示电路部分由三个发光二极管及蜂鸣器组成,由单片机控制三个发光二极管的亮灭分别指示当前消毒柜处于消毒,保温,停止等状态,而蜂鸣器在每次按下矩阵键盘上的键值时会短鸣一声,以提示是否有效点击,同时,在消毒状态下若温度达到设定的最高消毒温度时同样会短鸣一声,提示消毒完成,指示灯电路如图3.6-1。
处理电路部分由继电器控制,比较简单。
由单片机控制继电器的开启与关闭,而继电器控制相应的加热装置,继电器电路如图3.6-2所示。
图3.6-1指示灯电路
图3.6-2蜂鸣器及继电器电路
第四章系统软件设计
4.1程序设计思想
本设计系统的功能是由硬件电路和软件程序设计共同配合来实现的,当硬件电路设计好后,软件的程序设计也随硬件的设计而设计。
本设计中软件的功能有如下几大类:
一是主程序,它是整个系统的控制核心,用以协调各执行模块和操作者的运行;二是子程序,用以完成各部分功能,如测温、显示、键盘扫描、蜂鸣器发声等。
每一个子程序也就是执行一个小的功能执行模块,并为每一个执行模块进行功能定义和接口定义。
本设计中各执行模块如下:
(1).液晶显示模块:
用以对液晶进行初始化,将各个温度在液晶上正确显示出来;
(2).温度采集模块:
用以对温度传感器DS18B20进行初始化;
(3).键盘扫描模块:
用以扫描各键值的按下情况,并将其发送给单片机;
(4).蜂鸣器模块:
用以指示消毒柜各工作状态以及提示按键按下与否;
当各执行模块规划好后,就可以规划主程序了。
首先要根据系统的主要功能选择一种最合适的主程序结构,其次再根据各功能的要求,合理地安排主程序和各执行模块之间的关系。
主程序流程如图图4.1-1所示:
图4.1-1主程序框图
4.2子程序设计
4.2.1DS18B20初始化程序
DS18B20初始化流程图如图4.2.1-1所示:
图4.2.1-1DS18B20初始化流程图
4.2.21602液晶屏初始化程序
1602初始化流程图如图4.2.2-1所示:
图4.2.2-11602初始化
4.2.3键盘扫描初始化程序
键盘扫描初始化流程图如图4.2.3-1所示:
图4.2.3-1键盘扫描程序
4.3本章小结
本章主要介绍了课题设计的软件编程部分,详细介绍了主程序的程序设计流程和系统核心温度传感器DS18B20、LCD1602、键盘扫描的工作流程。
通过设计程序流程图,更为直观地显示了它们的工作方式。
第五章调试与结果分析
5.1硬件调试和软件调试
A.本设计中首先使用了Proteus与Keil软件在计算机上进行实现了设计仿真,初步确定了设计的可行性。
B.根据设计的方案,按照详细电路图,开始进行组装调试。
分模块进行电路的连接,并且每连接一级电路检测一下,再去连接其他电路。
按照设计的电路图,依次将其它部分连接好,用电压表检测各级输出无误后确定整个电路连接正确再进行下面的操作,看是否达到了所期望的要求效果,从而实现硬件方面的连接。
C.排除硬件故障后开始对程序进行调试,调试软件时采取的是分步测试后再集成测试的原则,首先测试1602液晶屏是否能正常显示程序所设定显示的字符。
D.将键盘扫描程序输入单片机开发板,运行后按下键盘,看1602液晶屏能否显示所按键的键号。
在此基础上,将完整的程序输入单片机开发板。
E.用手握住温度传感器18b20使得温度变化,观察1602液晶屏显示的温度值是否正常,波动范围是否在可接受范围。
F.调试整个程序,测试继电器是否正常启动,指示灯的亮灭是否正常,蜂鸣器发声是否正常,单片机的控制是否实时响应。
5.2调试结果
经过详细的硬件调试和软件调试之后,系统工作正常,1602液晶屏实时显示当前温度、最高消毒温度、最低保温温度以及最高保温温度,按下“消毒键”时,系统接通加热器,点亮消毒指示灯,当温度到达到设定的最高消毒温度(默认125度)时,关闭继电器,停止加热,同时消毒灯灭,停止指示灯亮;按下“保温键”,当温度低于最低保温温度(默认50度)时,系统启动继电器,开始加热,同时保温灯亮,当温度高于最高保温温度(默认70度)时,系统关闭继电器,停止加热;按下“停止键”时,关闭继电器,停止指示灯亮,系统回到初始状态。
若按下最高消毒温度设置键,1602液晶屏上最高消毒温度显示处有光标闪烁且蜂鸣器短鸣一声,提示输入最高消毒温度,输入3位数字后,再按最高消毒温度设置键确认,1602液晶屏闪烁消失且短鸣一声,提示最高消毒温度设置成功;
若按下最低保温温度设置键,1602液晶屏上最低保温温度显示处有光标闪烁且蜂鸣器短鸣一声,提示输入最低保温温度,输入2位数字后,再按最低保温温度设置键确认,1602液晶屏闪烁消失且短鸣一声,提示最低保温温度设置成功;
若按下最高保温温度设置键,1602液晶屏上最高保温温度显示处有光标闪烁且蜂鸣器短鸣一声,提示输入最高保温温度,输入2位数字后,再按最高保温温度设置键确认,1602液晶屏闪烁消失且短鸣一声,提示最高保温温度设置成功。
第六章结论
本文介绍了基于80C51单片机的消毒柜控制系统的设计,对系统整体硬件电路和软件程序设计做了详细分析,介绍了课题的设计方案选择及原理,详细介绍51单片机的结构、特点等。
在设计中进一步巩固了51单片机的基本知识,加深了对51单片机的运用。
通过使用各个软件进行仿真测试等,加深了对专业知识的了解。
在本消毒柜微电脑控制系统的设计的过程中,经过两个星期的方案设计、系统的硬件制作和软件的设计、整体系统的调试。
同时查阅了大量的关于传感器、单片机及其接口电路、温度控制方面的理论知识,通过不断修改后终获成功。
此次设计完全是自己靠用所学的专业知识不断摸索测试解决了各个问题。
在实现课程设计基本要求的基础上,增加了最高消毒温度及最低保温温度、最高保温温度设置键,使本设计更加具有实用性。
此次课程设计,实现了任务书中的各项要求,满足了设计要求的精确度。
通过软件仿真初步验证了设计的正确性和可行性,再通过硬件设计真正验证了设计的可行性。
通过这次课程设计使设计者懂得了理论与实际相结合是非常重要的,只是理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。
参考文献:
[1]张友德:
单片微型机原理、应用与实验,上海复旦大学出版社,2000.11,P7-P21
[2]李广弟单片机基础[M],北京:
北京航空航天大学出版社,2001
P56-P76
[3]鲍健等:
用单片机直接驱动液晶显示器,量子电子学报,2005.02,P32-P42
[4]张洪润电子线路与电子技术[M].清华大学