• / 40
  • 下载费用:10 金币  

消毒柜微电脑控制器.doc

关 键 词:
消毒柜微电脑控制器.doc
资源描述:
0摘要在现实生活中,随着科技的进步,人们的健康观念逐渐增强,卫生意识越来越浓,对于食品的消毒要求有所提高。本文介绍的 AT89C51 单片机消毒柜控制系统就是为了人们日常生活中的餐具消毒而设计的,采用微电脑控制技术,精确地控制消毒柜内的温度,很大程度上改善了人们的饮食卫生,提高了人们的生活水平。本设计采用 DS18B20 温度传感器采集实时温度,通过 DQ 口送 51 单片机系统,实现模拟温度值的采集、转化、输出数字值,然后 51 单片机对采集的数据处理后送液晶显示电路,实时动态地显示当前的温度、最高加热温度、最低保温温度以及最高保温温度。消毒柜主要通过加热到一个指定温度,对餐具等卫生洁具进行高温消毒,消毒柜将高温控制在一个指定的范围内,杀灭细菌,极大地增强了人们的饮食卫生,大大降低了疾病的交叉传染,为提高人们的身体健康起了重要的作用。 关键词:单片机 温度传感器 消毒柜 饮食卫生1目录第一章 概述 .3第二章 系统的组成及工作原理 .42.1 系统设计要求 .42.2 系统组成框图和系统工作原理 .4第三章 硬件电路方案设计 53.1 方案比较与确定 .53.2 单片机最小系统设计 .63.3 温度采集转换电路 .73.3.1 DS18B20 温度传感器介绍 .83.3.2 DS18B20 温度传感器工作原理 83.3.3 DS18B20 温度传感器的功能特点 103.3.4 使用 DS18B20 的注意事项 .113.3.5 温度传感器 DS18B20 与单片机的接口电路 .113.4 1602 液晶显示模块 .123.4.1 1602LCD 液晶模块简介 123.4.2 1602 液晶屏工作原理 133.4.3 1602 液晶屏与单片机的接口电路 133.5 键盘扫描模块 .153.5.1 矩阵式键盘介绍 .153.5.2 键盘扫描原理 .163.6 指示电路及处理电路 .17第四章 系统软件设计 184.1 程序设计思想 184.2 子程序设计 .214.2.1 DS18B20 初始化程序 .214.2.2 1602 液晶屏初始化程序 .2224.2.3 键盘扫描初始化程序 .234.3 本章小结 .24第五章 调试与结果分析 245.1 硬件调试和软件调试 245.2 调试结果 25第六章 结论 26参考文献 27附录一 电路原理图 28附录二 源程序 303第一章 概述随着科技的进步、社会的发展,测温控温仪器的广泛应用,智能温控已经成为当今控制系统的主要方向,特别是近年来温度控制系统已经应用在人们生活的各个方面,与人们日常生活息息相关。而本设计是设计一个消毒柜,其实就是设计一个智能的温度控制系统,消毒柜主要通过加热到一个指定温度,对卫生洁具进行高温消毒,消毒柜就是把高温控制在一个指定的范围内,杀灭细菌,极大的增强了人们的饮食卫生,大大降低了疾病的传染,为提高人们的健康起了重要的作用。本文主要研究基于 51 单片机控制的消毒框系统,设计中前端温度采集电路采用的是温度传感器 18B20,用矩阵键盘控制系统加热最高温度、最低保温温度、最高保温温度的调节,以及消毒、保温、停止等功能的开启及关闭,由液晶屏 1602 显示当前温度及各调节温度的情况,同时有相应的指示灯及蜂鸣器指示当前工作状态。本设计有良好的人机对话界面,有简单的按键操作,动态可调的工作参数,都是十分人性化的。相对于其他的那些消毒柜,本设计很容易实现,成本低,一切按照工业设计的流程进行的,对于工业生产有很大的意义。本设计使用的是单片机智能控制,高效并安全地实现温度的精确控制,相比起来有更大的优势。4第二章 系统的组成及工作原理2.1 系统设计要求A. 设置三个功能键:消毒、保温、停止;B. 按消毒键,接通加热继电器加热,当测到 125℃时,停止加热;C. 按保温键,在 50℃以下接通加热器,到 70℃关闭,一直持续工作;D. 按停止键,则停止工作。 2.2 系统组成框图和系统工作原理单片机液晶显示矩阵键盘指示灯、蜂鸣器温度传感器继电器加热装置图 2.2-1 系统组成框图本次设计采用 18b20 温度传感器实时采集温度模拟信号,并通过内部转化,将温度模拟信号转化为数字信号送 51 单片机系统,51 单片机对所采集的数据送入 1602 液晶显示模块中进行显示,从而完成对温度的采集。51 单片机再对矩阵键盘的扫描结果和即时温度值的处理,实现对温度的控制,系统设计了消毒,保温,停止三键,按下加热功能键时,单片机控制继电器启动加热器,开始进行加热,当温度到达 125 度时停止加热,按下保温键时,温度小于 50 度,加热器开始加热,温度超过 70 度,停止加热,当按下停止键时,一切程序停止运作。在此基础上,设置了三个调节按键和十个数字键,当按下最高加热温度调节键时,调节最高消毒温度,使 125 度的最高消毒温度可调;当按下最低保温温度调节键时,调节最低保温温度,使 50 度的最低保温温度可调;当按下最高保温温度调节键时,调节最高保温温度,使570 度的最高保温温度可调。如此达到设计要求,完成设计。第三章 硬件电路方案设计3.1 方案比较与确定方案一:采用铂热电阻温度传感器 PT-100,由含铂热电阻 PT-100 为桥臂的电桥,过程中其温度的变化将引起 PT-100 电阻值的改变,最终转变成电压的变化,但电桥输出的电压最多只能有几十毫伏,所以必须经 ICL7650放大后才能输出 0~5V 的电压,达到实验所要求的电压,再经 ADC0809 转换成 8 位数字信号送至单片机。单片机开发系统对所采集的数据经过滤波、变换等处理后送到 7279 进行显示,以实现对温度的测量。测量出即时温度值之后要进行的就是根据温度的值和 7279 对键盘的扫描结果进行相应的处理,比如消毒、保温、停止等,这些就需要靠软件程序来辅助完成,还要通过加热装置来进行相应的操作,从而完成此次设计的要求。加热器是由单片机通过继电器控制,安全管理加热器的启动与停止,加热装置将单片机核心系统与加热器隔离,防止加热器的高温对系统造成损伤,起到了以小电流控制大电流而安全控制的作用。方案二:采用数字温度传感器芯片 DS18B20 测量温度,输出信号为数字信号。非常便于单片机处理及控制,较传统的测温方法而言,省去了很多电路设计,而且该传感器的物理稳定性非常高,温差小于 1 摄氏度,输出信号直接采用 51 单片机控制,并通过实时扫描矩阵键盘进行相应处理,同时可通过 1602 液晶屏显示当前系统设置情况,采用软件编程的自由度较大,通过编程可实现各种各样的算术算法和逻辑控制,而且整体电路体积小,硬件简单,安装方便。通过分析以上两种方案,可以看出方案一的测温装置比较复杂,虽然可以检测出当前环境温度,但是误差较大。方案二的测温装置电路比较简单、精确度较高、设计方便、软件编程也比较简单,故本次设计采用方案二。63.2 单片机最小系统设计本设计采用了 AT 公司的 89C51 单片机,它包含有 128 字节数据存储器,内置 2K 的电可擦除 FLASH ROM,可以进行重复的编程,大小可以满足软件系统设计,故不必再扩展程序存储器。复位电路和晶振电路是 89C51 工作所需的最简外围电路。单片机最小系统电路图如图 3.2-1 所示。89C51 的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口是低电平有效。在复位电路中,按一下复位开关就使在 RS 端出现一段时间的高电平,提供给单片机复位端。外接 12M 晶振和两个 22P 电容组成系统的内部时钟电路。7图3.2-1 单片机最小系统电路图3.3 温度采集转换电路温度采集转换电路模块如图 3.3-1 所示,本电路主要采用的是以DS18B20 为核心的电路,完成对温度信号的采集和转换工作。由 DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器 DS18B20把采集到的温度通过数据引脚传到单片机的 P3.7 口,单片机接受温度并存储。图 3.3-1 温度采集转换电路3.3.1 DS18B20 温度传感器介绍DS18B20 是由 DALLAS 公司生产的一种新型的单线数字温度传感器。,其体积小、适用于多种场合、并且适用电压较宽、更为经济。数字化温度传感器 DS18B20 是世界上第一种支持“一线总线”接口的温度传感器。其温度测量范围为-55~+125℃ ,可编程为 9 位~12 位转换精度,测温分辨率可达 0.0625℃。其分辨率设定参数以及手动设定的恒定温度值和定时时间值存储在 EEPROM 中,掉电后仍然保存。被测温度以符号扩展的 16 位数字量方式串行输出,其工作电源既可在远端引入,也可通过采用寄生电源方式产生。多个 DS18B20 可以同时并联到 3 根或 2 根线上,CPU 只需要一根端口8线就能与诸多 DS18B20 进行通信,所占用的微处理器端口较少,可以节省大量的引线和设计电路。因此用它来组成一个测温系统,线路简单,且在一根通信线上可以挂多个这样的数字温度计,使用十分方便。3.3.2 DS18B20 温度传感器工作原理每一片 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 功能命令→发存储器操作命令→处理数据。9减法计数器斜坡累加器减到 0减法计数器预 置低温度系数振 荡 器高温度系数振 荡 器计数比较器预 置温度寄存器减到 0图 3.3.2_1 测温原理内部装置3.3.3 DS18B20 温度传感器的功能特点(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 可将测得的温度值直接转化为数字量,并可以通过串行通10信的方式与主控制器进行数据通信。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 脚接电源。 113.4 1602 液晶显示模块显示模块是用来显示系统的状态,命令或采集的电压数据的。本系统设计中采用 LCD1602 液晶屏进行显示。3.4.1 1602LCD 液晶模块简介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’,12其它的位为‘0’,为‘1’ 的点亮,为 ‘0’的点暗,这样就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就简单得多了,可以让控制器工作在文本方式,根据在 LCD 上开始显示的行列号和每行的列数找出显示 RAM对应的地址,设定光标,再在此送上该字符对应的代码即可。3.4.2 1602 液晶屏工作原理首先进行 1602 初始化,进行清屏等设置,再设置显示行数为 2 行,接口数据位为 8 位,字型为 5×7 点阵。然后设置液晶为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。给 LCD 的显示缓冲区中送字符,本程序中采用 4 个字符数组,分别显示当前温度、最高消毒温度、最低保温温度、最高保温温度,要显示的字符和数据被送到相应的数组中,完成后再统一显示出来。首先取一个要显示的字符或数据送到 LCD 的显示缓冲区内,程序延时 2.5ms,判断是否够显示的个数,若不够则地址加一取下一个要显示的字符或数据。3.4.3 1602 液晶屏与单片机的接口电路本设计中采用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 为低电平时13可以写入数据;第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令;第 7~14 脚:D0~D7 为 8 位双向数据线; 图 3.4.3-1 液晶显示电路图3.5 键盘扫描模块本模块通过编制程序,扫描键盘,比对键盘的值,设置三个温度设置键和消毒、保温、停止三个功能键以及 0-9 等 10 个数字键。3.5.1 矩阵式键盘介绍矩阵式键盘(或者叫行列式键盘)常应用在按键数量比较多的系统之中。这种键盘由行线和列线组成,按键设置在行、列结构的交叉点上,行、列线14分别接在按键开关的两端。行列式键盘可分为非编码键盘和编码键盘两大类。编码键盘内部设有键盘编码器,被按下键的键号由键盘编码器直接给出,同时具有防抖和解决重键的功能。非编码键盘通常采用软件的方法,逐行逐列检查键盘状态,当有键按下时,通过计算或查表的方法获取该键的键值,通常,计算机通过程序控制对键盘扫描,从而获取键值,根据计算机扫描的方法可以分为定时扫描法和中断扫描法两种。本系统中的 4*4 矩阵式键盘结构简单,按键数较少,采用非编码式键盘,当有键按下时,由单片机通过程序扫描确定键值,并将获得的键值通过 LED数码管显示出来,4*4 矩阵式键盘结构及键值分布图 3.5.1-1,图 3.5.1-1 所示:1 2 3 A4 5 6 B7 8 9 C♨ 0 ❈ ●图 3.5.1-2 键盘键值分布图 3.5.1-1 4*4 矩阵键盘原理结构图153.5.2 键盘扫描原理键盘扫描工作过程为:在没有键按下时矩阵键盘行线接高电平,列线接低电平,当某个键被按下时,该按键所在行线电位被拉低,延时 10 毫秒,防止误操作,再次检测是否电位被拉低,单片机再次对矩阵键盘进行扫描以确定按下的键值,扫描过程如下:1.检测行线电平,确定是否有按键被按下;2.延时去抖动;3.重新确认是否有按键被按下,若有,扫描键值,若没有,返回主程序;4.扫描键值,首先行线接高电平,列线接低电平,对行线电平进行检测,以确定按下的键所在的行;5.行线接低电平,列线接高点平,对列线电平进行检测,确定按下的键所在的列;6.将扫描所得的按键值送入主程序进行相应处理。163.6 指示电路及处理电路指示电路部分由三个发光二极管及蜂鸣器组成,由单片机控制三个发光二极管的亮灭分别指示当前消毒柜处于消毒,保温,停止等状态,而蜂鸣器在每次按下矩阵键盘上的键值时会短鸣一声,以提示是否有效点击,同时,在消毒状态下若温度达到设定的最高消毒温度时同样会短鸣一声,提示消毒完成,指示灯电路如图 3.6-1。处理电路部分由继电器控制,比较简单。由单片机控制继电器的开启与关闭,而继电器控制相应的加热装置,继电器电路如图 3.6-2 所示。图 3.6-1 指示灯电路17图 3.6-2 蜂鸣器及继电器电路第四章 系统软件设计4.1 程序设计思想本设计系统的功能是由硬件电路和软件程序设计共同配合来实现的,当硬件电路设计好后,软件的程序设计也随硬件的设计而设计。本设计中软件的功能有如下几大类:一是主程序,它是整个系统的控制核心,用以协调各执行模块和操作者的运行;二是子程序,用以完成各部分功能,如测温、显示、键盘扫描、蜂鸣器发声等。每一个子程序也就是执行一个小的功能执行模块,并为每一个执行模块进行功能定义和接口定义。本设计中各执行模块如下:(1).液晶显示模块:用以对液晶进行初始化,将各个温度在液晶上正确显示出来;(2).温度采集模块:用以对温度传感器 DS18B20 进行初始化;(3).键盘扫描模块:用以扫描各键值的按下情况,并将其发送给单片机;(4).蜂鸣器模块:用以指示消毒柜各工作状态以及提示按键按下与否;当各执行模块规划好后,就可以规划主程序了。首先要根据系统的主要功能选择一种最合适的主程序结构,其次再根据各功能的要求,合理地安排主程序和各执行模块之间的关系。主程序流程如图图 4.1-1 所示: 18开始初始化显示处理温度读取键盘扫描消毒键?有键按下?温度设置键?保温键?停止键?置消毒标志启动消毒指示灯、继电器置保温标志启动保温指示灯、继电器置停止标志,启动停止指示灯、关闭继电器设置相应温度YYYYYNNNNN19图 4.1-1 主程序框图4.2 子程序设计4.2.1 DS18B20 初始化程序DS18B20 初始化流程图如图 4.2.1-1 所示:C51 寄存器初始化18B20 是否存在读取温度温度数据处理温度显示温度转换命令YN返回主程序入口20图 4.2.1-1 DS18B20 初始化流程图4.2.2 1602 液晶屏初始化程序1602 初始化流程图如图 4.2.2-1 所示:21对 1602 进行初始化写入显示等设置命令入口延时 10ms检测忙信号信号答复?获取显示 RAM 地址延时 10ms写入相应的数据数据显示完毕?返回主程序NYNY图 4.2.2-1 1602 初始化4.2.3 键盘扫描初始化程序键盘扫描初始化流程图如图 4.2.3-1 所示:入口键扫描有键按下?延时消抖再次确认有键按下?键码计算返回主程序NNYY图 4.2.3-1 键盘扫描程序4.3 本章小结本章主要介绍了课题设计的软件编程部分,详细介绍了主程序的程序设计流程和系统核心温度传感器 DS18B20、LCD1602、键盘扫描的工作流程。通过设计程序流程图,更为直观地显示了它们的工作方式。22第五章 调试与结果分析5.1 硬件调试和软件调试A.本设计中首先使用了 Proteus 与 Keil 软件在计算机上进行实现了设计仿真,初步确定了设计的可行性。B. 根据设计的方案,按照详细电路图,开始进行组装调试。分模块进行电路的连接,并且每连接一级电路检测一下,再去连接其他电路。按照设计的电路图,依次将其它部分连接好,用电压表检测各级输出无误后确定整个电路连接正确再进行下面的操作,看是否达到了所期望的要求效果,从而实现硬件方面的连接。C. 排除硬件故障后开始对程序进行调试,调试软件时采取的是分步测试后再集成测试的原则,首先测试 1602 液晶屏是否能正常显示程序所设定显示的字符。D.将键盘扫描程序输入单片机开发板,运行后按下键盘,看 1602 液晶屏能否显示所按键的键号。在此基础上,将完整的程序输入单片机开发板。E. 用手握住温度传感器 18b20 使得温度变化,观察 1602 液晶屏显示的温度值是否正常,波动范围是否在可接受范围。F. 调试整个程序,测试继电器是否正常启动,指示灯的亮灭是否正常,蜂鸣器发声是否正常,单片机的控制是否实时响应。5.2 调试结果经过详细的硬件调试和软件调试之后,系统工作正常,1602 液晶屏实时显示当前温度、最高消毒温度、最低保温温度以及最高保温温度,按下“消毒键”时,系统接通加热器,点亮消毒指示灯,当温度到达到设定的最高消毒温度(默认 125 度)时,关闭继电器,停止加热,同时消毒灯灭,停止指示灯亮;按下“保温键” ,当温度低于最低保温温度(默认 50 度)时,系统启动继电器,开始加热,同时保温灯亮,当温度高于最高保温温度(默23认 70 度)时,系统关闭继电器,停止加热;按下“停止键”时,关闭继电器,停止指示灯亮,系统回到初始状态。若按下最高消毒温度设置键,1602 液晶屏上最高消毒温度显示处有光标闪烁且蜂鸣器短鸣一声,提示输入最高消毒温度,输入 3 位数字后,再按最高消毒温度设置键确认,1602 液晶屏闪烁消失且短鸣一声,提示最高消毒温度设置成功;若按下最低保温温度设置键,1602 液晶屏上最低保温温度显示处有光标闪烁且蜂鸣器短鸣一声,提示输入最低保温温度,输入 2 位数字后,再按最低保温温度设置键确认,1602 液晶屏闪烁消失且短鸣一声,提示最低保温温度设置成功;若按下最高保温温度设置键,1602 液晶屏上最高保温温度显示处有光标闪烁且蜂鸣器短鸣一声,提示输入最高保温温度,输入 2 位数字后,再按最高保温温度设置键确认,1602 液晶屏闪烁消失且短鸣一声,提示最高保温温度设置成功。 24第六章 结论本文介绍了基于 80C51 单片机的消毒柜控制系统的设计,对系统整体硬件电路和软件程序设计做了详细分析,介绍了课题的设计方案选择及原理,详细介绍 51 单片机的结构、特点等。在设计中进一步巩固了 51 单片机的基本知识,加深了对 51 单片机的运用。通过使用各个软件进行仿真测试等,加深了对专业知识的了解。在本消毒柜微电脑控制系统的设计的过程中,经过两个星期的方案设计、系统的硬件制作和软件的设计、整体系统的调试。同时查阅了大量的关于传感器、单片机及其接口电路、温度控制方面的理论知识,通过不断修改后终获成功。 此次设计完全是自己靠用所学的专业知识不断摸索测试解决了各个问题。在实现课程设计基本要求的基础上,增加了最高消毒温度及最低保温温度、最高保温温度设置键,使本设计更加具有实用性。此次课程设计,实现了任务书中的各项要求,满足了设计要求的精确度。通过软件仿真初步验证了设计的正确性和可行性,再通过硬件设计真正验证了设计的可行性。通过这次课程设计使设计者懂得了理论与实际相结合是非常重要的,只是理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。25参考文献:[1] 张友德:单片微型机原理、应用与实验,上海复旦大学出版社,2000.11,P7-P21[2] 李广弟单片机基础[M],北京:北京航空航天大学出版社,2001P56-P76 [3] 鲍健等:用单片机直接驱动液晶显示器,量子电子学报,2005.02,P32-P42 [4] 张洪润电子线路与电子技术[M].清华大学出版社[M],2005.06[5] 童诗白,华成英.模拟电子技术基础[M]. 北京:高等教育出版社,2006 [6] 陈黎娟、聂鹏程:单片微型计算机实验教程,南昌航空大学,2006.2,P17-P3226附录一 电路原理图27附录二 源程序因程序较多,此处只附录主函数文件,子程序不附录。/****************************说明**************************程序名:消毒柜编写时间:2014.6.10编写人:孙铭涛接口说明:P0,P2.5-P2.7 接 1602,P2.0-P2.2 接指示灯,P3.6 接继电器 P3.5 接蜂鸣器**************************************************************#include//51 单片机头文件#include“18b20.h“//温度传感器驱动子程序头文件#include“1602.h“//液晶屏驱动子程序头文件#include“jianpan.h“//键盘驱动子程序头文件#include“sound.h“ //蜂鸣器子程序头文件#define uchar unsigned char#define uint unsigned intextern uchar key1,flag_key,m,key3; //扫描的键值extern bit flag_key1,flag_key2,flag_key3;//更改默认温度值28extern uchar wendu1[4];//温度各位分解,为演示方便uchar table1[]=“N:“; //1602 显示uchar table2[]=“H:“;uchar table3[]=“T1:“;uchar table4[]=“T2:“;uchar wendu2[3]=“125“;uchar wendu3[2]=“50“;uchar wendu4[2]=“70“;/*******************端口设置*******************/sbit led_jiare=P2^2; //消毒指示灯sbit led_baowen=P2^1;sbit led_close=P2^0;sbit jdq=P3^6; //继电器/*******************端口设置*******************/uint wendu_jiare=125,wendu_baowen1=50,wendu_baowen2=70;//消毒温度,最低保温温度,最高保温温度bit flag_jiare,flag_baowen,flag_close;//消毒标志,保温标志,关闭标志void delay1(uint i) //延时函数{uchar j;29for(i;i0;i--)for(j=110;j0;j--);} /***********************主函数************************/void main(){uint wendu;//当前温度uchar j,i,n; flag_close=1;//开机上电下处于停止状态init(); //1602 初始化,为演示方便while(1){wendu=readtemperature();//温度读取scan();//键盘扫描if((flag_key1==0)//蜂鸣器提示音 if(key3==1)//加热键{
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:消毒柜微电脑控制器.doc
链接地址:https://www.weizhuannet.com/p-9845950.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开