1、西南科技大学高等教育自学考试毕业论文智能饮水机的设计与实现摘要:水机都只有一些基本的功能。例如加热、保温。然而,随着人们的物质生活的不断提高,对饮水机的性能要求也不断提高。为了满足人们对饮水机的性能要求。本课题研究智能饮水机控制系统。它主要功能是在温度达到100沸腾,并能在0100之间以5为最小温差进行温度设定。从而得到任意想要的水温。非常人性化,它还具有过热保护及防干烧功能等。随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可
2、以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法。在实际应用中,单片机经常要与各种传感器相结合组成一定的应用系统,以实现系统的自动检测与控制。本文所设计的智能饮水机就是单片机结合传感器的一个简单应用。该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。整个设计系统实现三个功能,即加热、对温度上下限的控制和定时加热。与传统的饮水机相比,由于采用了自动检测和控制的电子设计技术,可较好地实现对水温的测量和控制,具有较广泛的应用前景。关键字:智能饮水机单片机温度采集功能设定Designandimplementationofintellige
4、opletotheperformancerequirementsofwatermachine.Thistopicresearchintelligentwatermachinecontrolsystem.Itsmainfunctionisthetemperatureto100inboiling,andcanat0100to5betweenminimumtemperaturedifferenceintemperaturesetting.Togetarandomwantwatertemperature.Ve
5、ryhuman,italsohasoverheatingprotectionandpreventdryheatingfunction,etc.Withthedevelopmentofcomputertechnology,microcontrollertechnologyhasbecomeoneofthecomputertechnologybranchoftheunique,theapplicationfieldofsinglechipmicrocomputermoreandmorewidely,especial
6、lyinindustrialcontrolandintelligentinstrumentplaysaveryimportantrole.Inthepastoftenusetheanalogcircuit,therealizationofdigitalcircuitcircuitsystem,nowagreatpartofbysinglechipcanberealized,thetraditionalcircuitdesignmethodhasevolvedintothesoftwareandha
7、rdwareofcombiningthedesignmethod.Inpracticalapplications,singlechipmicrocomputertovarioussensorsandoftencombinedwithcertainapplicationsystemcomposition,inordertorealizetheautomatictestandcontrolsystem.Thedesignofthesinglechipmicrocomputerintelligentwaterdisp
8、enseriscombinedwithasimpleapplicationofthesensor.ThesystemdesignintegratedSCMandelectronictechnologytheory,fromlifetotheactualconditions,perfectthefunctionofwatermachine.Thewholedesignsystemrealizethreefunctions,namely,thetemperatureofheatingofthelowerli
9、mitcontrolandtimingheating.Comparedwiththetraditionalwaterdispenser,becauseusedtobeautomaticdetectionandcontrolofelectronicdesigntechnology,canbeachievedforwatertemperaturemeasurementandcontrol,andhasabroadprospectofapplication.KeyWords:Singlechipmicrocomput
10、erintelligentwatermachinetemperaturegatheringfunctionsetting目录目录第1章绪论11.1引言21.2研究的目的与意义21.3智能饮水机的主体功能21.4本次设计的工作3第2章单片机简介42.1概念分析42.2单片机的产生及发展42.3单片机的种类52.4单片机的引脚介绍62.5单片机的攻击技术72.6单片机的应用8第3章硬件设计103.1智能饮水机的总体设计103.2元器件选择113.3AT89S52的主要性能113.3.1AT89S52功能特性描述113.3.2AT89S52晶振电路的
11、设计123.4测温电路的设计133.4.1DS18B20的引脚图及方框图133.4.2DS18B20主要性能133.4.3DS18B20功能特性描述143.4.4DS18B20供电方式163.5主控系统163.6输入控制163.7显示部分173.8其他功能部分184软件设计194.1系统分配方式194.2主程序设计204.3各模块程序设计224.3.1温度检测程序设计224.3.2显示程序设计224.3.3延时程序234.3.4键盘扫描程序235调试及性能分析255.1软件调试255.1.1新建工程255.1.2新建文本255.1.3添加文本255.1
12、.4程序编译255.2硬件调试255.3性能分析26结论27致谢28参考文献29绪论第1章绪论1.1引言二十一世纪是数字化技术高速发展的时代,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。而智能饮水机作为电子类小设计就是是市场上的宠儿。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,
13、功能上尽量齐全,环保要出色。智能饮水机已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用。本设计用LED显示各种状态清晰直观、可以进行夜视。美国DALLAS公司生产的DS18B20仅有一根通信线操作更方便,还具有耐磨耐碰,体积小,适用于各种狭小空间设备数字测温和控制领域。测温范围55125,固有测温分辨率0.5。使用大量的芯片使得产品价格更低廉,体积更小符合智能饮水机的发展趋势,具有广阔的市场前景。11.2研究的目的与意义单片机在电子产品中的应用已经越来越广泛,在很多电子产品中也用到了温度检测和温度控制。目前广泛使用的饮水机,具有价格低廉,制造简便等优点。但是
15、实现软件升级,从软件方面提高仪器精度。同时可以对加热实现基本的控制,从而防止了“千滚水”对身体造成的伤害,满足生活的需求。1.3智能饮水机的主体功能(1)智能饮水机的主体功能:本课题设计的智能饮水机具有过热保护防干烧、加热至沸腾、设置温度加热、超温报警提示、安全锁定、电动机出水功能等。(2)智能饮水机的按键功能:出水键:控制饮水机出水和停止出水;加热键:负责控制开始加热和停止加热;锁定键:按下锁定键,其他按键无效;切换健:按下后开始设定用户想要的温度;温度设定键:按一下温度增加5,温度可在0到100之间循环。(3)智能饮水机的显示功能:电源灯(绿色):接通电源,电源灯点亮;加热指示灯(黄色
16、):按下加热键,加2绪论热指示灯点亮,表示烧水开始工作。再次按下加热键,指示灯熄灭,表示烧水停止;锁定键指示灯(蓝色):锁定其他按键功能,灯亮表示其他按键均不可用;超温报警灯(红色):灯点亮表示水已经达到设定的加热温度或已沸腾并停止加热;数码管:显示当前水温或用户设定的温度。蜂鸣器:响起后说明水以沸腾并停止加热。1.4本次设计的工作(1)查阅大量的国内外有关智能饮水机方面的文献资料,剖析了一些饮水机的实际产品,并吸取同类产品的优点。(2)根据饮水机的发展趋势和现有的设计条件,提出了智能饮水机的整体设计方案和技术要求。(3)完成了系统硬件部分选型、设计和制作,并进行了调试。3单片机简介
17、第2章单片机简介2.1概念分析单片机是指一个集成在一块芯片上的完整的计算机系统。虽然它的大部分功能都集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件(如:CPU、内存、内部和外部总线系统,目前大部分还会具有外存)。同时集成:通讯接口、定时器,实时时钟等外围设备。而现在单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机又被称为微控制器,因为它最早被用在工业控制领域。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后
18、,单片机和专用处理器的发展便分道扬镳。单片机早期都是8位或4位的。其中最成功的是INTEL的8031。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有1
21、片机中,增强了外围电路功能,强化了智能控制的特征。4)微控制器的全面发展阶段(1990)随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。2.3单片机的种类单片机根据目前发展情况,从不同角度大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。通用型/专用型5单片机简介这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。总线
22、型/非总线型这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用于扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减少封装成本和芯片体积,这类单片机称为非总线型单片机。控制型/家电型这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作为工控用。2
23、.4单片机的引脚介绍1)主电源引脚(2根)VCC(P40):电源输入,接5V电源GND(P20):接地线2)外接晶振引脚(2根)XTAL1(P19):片内振荡电路的输入端XTAL2(P20):片内振荡电路的输出端3)控制引脚(4根)RST/VPP(P9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(P30):地址锁存允许信号PSEN(P29):外部存储器读选通信号EA/VPP(P31):程序存储器的内外部选通,接低电平从外部程序存储器读指令6单片机简介4),如果接高电平则从内部程序存储器读指令。5)可编程输入/输出引脚(32根)AT89S51
24、单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。每一根引脚都可以编程,比如用来控制电机、交通灯、霓虹灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能,尽情发挥你的想象力吧,实现你想要的:)强大无比。PO口(P39P32):8位双向I/O口线,名称为P0.0P0.7P1口(P1P8):8位准双向I/O口线,名称为P1.0P1.7P2口(P21P28):8位准双向I/O口线,名称为P2.0P2.7P3口(P10P17):8位准双向I/O口线,名称为P3.0P3.72.5单片机的攻击技术当前,攻击单片机主要有四种技术,分别是
25、:1)过错产生技术2)软件攻击3)电子探测攻击4)探针技术72.6单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1)智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)
29、器,单片机首先把通过传感器测到的现场温度与预先设置的温度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器的工作,从而实现温度控制。(2)数码管:用于显示当前水温及设定的水温。(3)DS18B20:单线数字温度传感器,可直接将被测温度转化为串行数字信号,以供单片机处理。(4)各色LED及蜂鸣器:用于提示用户饮水机的各种状态。(5)按键:输入模块,用于控制单片机完成各项功能。3.3AT89S52的主要性能AT89S52具有8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时
30、,AT89S52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作指导下一个硬件复位。3.3.1AT89S52功能特性描述(1)AT89S52是一种低功耗,高性能CMOS工艺的8位微控制器,具有8K在系统可编程Flash存储器。适用Atmel公司高密度非易失性存储器技术制造,与工业80C51产11品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统提供高灵活,超有
31、效的解决方案。(2)AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0KHZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到一个中断或硬件复位为止。(3)AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含8个中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。A
32、T89S52可以按照常规方法进行编程,也可以在线编程。其通用的微处理器和Flash存储器结合在一起,可反复擦写的Flash存储器可有效地降低开发成本。3.3.2AT89S52晶振电路的设计所有的单片机系统里都有晶振,全称是叫晶体震荡器,晶振在单片机系统里的作用非常大,它结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。晶振电路中的两个
33、电容叫做负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。在本设计中XTAL1和XTAL2端外接石英晶体作为定时元件,内部反向放大器自激振荡,产生时钟。所用石英晶体的振荡频率为12MHZ,电容C1,C2常为20pF40pF内,12宿州学院毕业设计硬件设计3.4测温电路的设计3.4.1DS18B20的引脚图及方框图
34、DS18B20的外形及管脚排列图如下图3-3所示。(1)GND地信号(2)DQ数据输入/输出引脚。用在寄生电源下,可以向器件提供电源。(3)VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。图3-3DS18B20外形及引脚排列3.4.2DS18B20主要性能(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;13硬件设计(2)测温范围55125,固有测温分辨率0.5;(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传
35、输的不稳定,实现多点测温;(4)工作电源:直流35V;(5)在使用中不需要任何外围元件;(6)测量结果以912位数字量方式串行传送;(7)不锈钢保护管直径6;(8)适用于DN1525,DN40DN250各种介质工业管道和狭小空间设备测温;(9)标准安装螺纹M10X1,M12X1.5,G1/2”任选;(10)PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。3.4.3DS18B20功能特性描述DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为9字节的存储器,结构如表3-1所示。前两个
36、字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。第5字节为配置寄存器,见表3-3,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如表2-3所示。低5位都为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS-18B20出厂时该位被设置为0,用户可改动,R1和R0决定温度转换的精度位数,来设置分辨率。表3-1高速暂存RAM字节数1
38、器可完成对温度的测量,以12位转化为例。其中S为符号位。DS18B20的温度值格式如表2-4所示。表3-4DS18B20温度值格式表LSByteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0MSByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值。表3-5是部分温度值对应的二进制度数据。表3-5部分温度对应值表温度二进制表示十六进制表示+125000001111101000007D0H+850000010101010000
39、0550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.0251111111001101111FE6FH153.4.4DS18B20供电方式(1)DS18B20寄生电源供电方式电路(2)DS18B20的外部电源供电方式比较上述两种供电方式后认为外部电源供电方式对电源要求比电源供电方式优越些且稳定性好,故在此设计中采用外部
40、电源供电方式供电电路。3.5主控系统主控系统采用单片机控制。3.6输入控制输入控制采用的按键控制,这样不仅减少的制作成本而且便于做。通过74LS373的通断进行按键信号的传输,当74LS373被锁定时,按键信号不能传入单片机,从而达到按键的锁定作用。16宿州学院毕业设计硬件设计3.7显示部分LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a、b、c、d、e、f、g、p来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮p不亮。LED数码管有微亮亮和超亮
41、等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸数码管是由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极称为共阳极数码管,发光二极管的阴极连接到一起连接到电源负极称为共阴极数码管。常用LED数码管所显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。LED数码管引脚共阴和共阳两种方式:电源VCC通过1个1K的排阻与LED相连,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后
42、GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳。也可以直接用数字万用表,将档位拨到二极管通断性测试档,这时红表笔代表电源的正极,黑表笔代表电源的负极,然后在引脚上进行逐个测试,以确定是共阳还是共阴。一般十个引脚分别为7个段加2个公共加一个小数点。公共端一般在中间或在两边,两排,一排一个对称。至于其他引脚的排序你可以自己量出来。先假设是共阴极或共阳极,假设中间那个就是公共端,用数字万用表逐个判断即可,如果判断错误不亮,就更改假设,继续判断。直到假设正确,也就是说判断正确
43、,那么引脚的顺序和位置就出来。数码管所使用的电流与电压(1)电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。(2)电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。173.8其他功能部分(1)出水控制当MOT输出低电平时,三极管处于截至区,集电极和发射极导通,接触器常开触点闭合,出水管道导通。(2)加热控制当HOT输出低电平时,三极管处于截至区,集电极和发射极导通,接触器常开触点加热。18软件设计4软件设计4.1系统分配方式
44、在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以控制其工作。为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:(1)单个模块比起一个完整的程序易编写及
46、加热”键:控制其加热和停止加热;(3)“锁定”键:用于锁定其他所有按键;(4)“切换”键:用于将显示器切换至温度设定界面并开始设定温度;(5)“设置温度”键:以5为间隔在0至100之间以递增方式设定水温20主程序程序框图如图4-1所示:变量定义显示按键扫描,判断是否有键按下芯片初始化开始NY延时Y按键扫描,判断是否有键按下NY按“出水”键,电机转动按“加热”键,加热按“锁定”键,其他键无效按“切换”键,切换至调温按“设置温度”键,进行温度设置图4-1主程序框图214.3各模块程序设计4.3.1温度检测程序设计温度检测运用DS18B20芯片,因为其功能全面且精度高,完全可以满足设计要求,