毕业设计论文基于单片机的智能饮水机的设计_第1页
毕业设计论文基于单片机的智能饮水机的设计_第2页
毕业设计论文基于单片机的智能饮水机的设计_第3页
毕业设计论文基于单片机的智能饮水机的设计_第4页
毕业设计论文基于单片机的智能饮水机的设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本 科 毕 业 设 计(论文) 题目 基于单片机的智能饮水机的设计 院(系部) 万方科技学院 专业名称 电气工程及其自动化专业年级班级 07-6 学生姓名 指导教师 2011年 5月 25日摘 要目前,大多数家庭所使用的饮水机都只有一些基本的功能,例如加热、保温。然而,随着人们物质生活的不断提高,对饮水机的性能要求也不断提高。为了满足人们对饮水机的性能要求,本课题研究智能饮水机,它主要功能是在温度达到100°沸腾,并能在0-100之间以5为最小温差进行温度设定,从而得到任意想要的水温,非常人性化。它还具有过热保护及防干烧功能等。随着计算机技术的发展,单片机技术已成为计算机技术中的一个

2、独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法。在实际应用中,单片机经常要与各种传感器相结合组成一定的应用系统,以实现系统的自动检测与控制。本文所设计的智能饮水机就是单片机结合传感器的一个简单应用。该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。整个设计系统实现三个功能,即加热、对温度上下限的控制和定时加热。与传统的饮水机相比,由于采用了自动检测和控制的电子设计技术,可较好地实现对水

3、温的测量和控制,具有较广泛的应用前景。关键词:智能饮水机 AT89S52单片机 温度采集 功能设计AbstractCurrently, most households are using drinking fountains are only some basic functions, such as heating, insulation. However, with the continuous improvement of material life, people, performance requirements of the drinking fountains also risi

4、ng. To meet the performance requirements for drinking fountains, drinking fountains of the intelligence research, which main function is in the boiling temperature reaches 100 °, and can be between 0-100 at 5 temperature difference for the minimum temperature setting, you want to get any water,

5、 very human. It also has thermal protection and anti-dry functions. With the development of computer technology, single chip technology has become the computer technology in a unique branch of microcontroller applications are increasingly being used especially in intelligent industrial control and i

6、nstrumentation plays a very important role. Used to analog circuits, digital circuits circuit system, and now a large part of the microcontroller can be achieved, the traditional method of circuit design has evolved into a combination of software and hardware design. In practical applications, the m

7、icrocontroller with a variety of sensors often composed of some combination of the application system to achieve automatic detection and control system. Intelligent design in this paper dispenser is a simple microcontroller with sensor applications. The system design of integrated microcontrollers a

8、nd electronics theory, the reality of life, improve the function of the drinking fountains. The whole design system to achieve three functions, namely, heating, temperature control and timer upper and lower heat. Compared with the conventional drinking fountains, the use of automatic detection and c

9、ontrol of electronic design techniques to achieve better measurement and control of water temperature, have a wider application.Key words: intelligent water dispenser,AT89S52 microcontroller, temperature acquisition,Functional Design朗读显示对应的拉丁字符的拼音 字典目 录前 言61绪 论81.1 课题研究的背景81.2 市场饮水机现状81.3 课题研究的

10、目的和意义91.4 智能饮水机的主体功能91.5 课题设计的主体内容102 智能饮水机的硬件结构设计112.1 智能饮水机的总体设计112.2 元器件选择122.3 AT89S52的主要性能122.3.1 AT89S52功能特性描述132.3.2 AT89S52晶振电路的设计132.4 测温电路的设计152.4.1 DS18B20的引脚图及方框图152.4.2 DS18B20主要性能162.4.3 DS18B20功能特性描述162.4.4 DS18B20供电方式182.5 主控系统192.6 输入控制202.7 显示部分212.8 其他功能部分233 智能饮水机的软件设计253.1 系统分配方

11、式253.2 主程序设计253.3 各模块程序设计283.3.1 温度检测程序设计283.3.2 显示程序设计303.3.3 键盘扫描程序313.3.4 延时程序344 调试及性能分析354.1 软件调试354.1.1 新建工程354.1.2 新建文本354.1.3 添加文本364.1.4 程序编译374.2 硬件调试374.2.1 电源电路的仿真374.2.2 出水电路模块的仿真384.2.3 加热模块电路的仿真394.2.4 显示模块电路的仿真394.2.5 报警电路的仿真404.3 性能分析41结 论42致 谢43参考文献44参考文献44附录145附录246附录347前 言随着“信息时代

12、”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只

13、有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合温度传感器加以简单的按键控制及显示等功能实现了对智能饮水机的控制,为我们对单片

14、机系统的学习提供了很好的真实素材。本设计实用性及综合性比较强,设计系统不仅可以作为智能饮水机的控制系统,如果稍微改装可以做环境温度检测系统、实验室温度监控系统等等。课题主要任务是完成水温检测并利用单片机实现温度调节并加以显示、报警、锁定等功能。该系统具有操作方便,控制灵活、实用等优点。本设计系统包括温度传感器,键盘输入模块,输出控制模块,数据传输模块,温度显示模块和出水驱动电路等部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控及调节,完成了课题所有要求。1绪 论1.1 课题研究的背景从饮水机问世以来,在中国的发展趋势逐年增加。饮水机的使用量逐年增长,随着人们生活水平

15、的提高,人们对其功能的要求也越来越高,所以,对智能饮水机的需求就逐渐显现了出来。 饮水机是采用瓶装水或者自来水经净水器净化作为水源,利用电能对其进行加热,一年四季提供常温水或热水的饮水电器。饮水机基本能满足人们日常的饮水、泡茶、冲咖啡、即食食品以及调制冷饮的各种需要。饮水机具有饮水时尚、结构简单、操作方便、清洁卫生、价廉物美等优点。 在饮水机进入高潮的今天,市场十分活跃,然而,消费者对饮水机的选择不是停留在过去的眼光,而是高标准,不仅实用而且要求外形脱俗,跟上时代潮流步伐,尤其在其功能方面要有更高的要求。 当前绝大多数厂家生产的饮水机都采用智能化控制。因此,智能饮水机已是饮水机发展的必然趋势。

16、1.2 市场饮水机现状可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤设备,五花八门,无所不在。饮水机也不例外。单片机按其应用范围可分为通用型和专用型两类。家用电器多采用专用型单片机,如日本NEC公司开发的7500系列和75X00系列4位单片机、美国国家半导体公司的COP400系列4位单片机,以及日本松下公司的MN1400系列、美国Zilog公司的Z8系列以及日本富士通公司的MB88系列等专用型单片机。家用电器所采用的通用型单片机,主要是Intel公司的MCS系列产品。目前饮水机基本上都采用单片机控制,但各厂家生产的饮水机

17、单片机控制所达到的功能各不相同。智能化,多功能必定是发展趋势。1.3 课题研究的目的和意义单片机在电子产品中的应用已经越来越广泛, 在很多电子产品中也用到了温度检测和温度控制。目前广泛使用的饮水机,具有价格低廉,制造简便等优点。但是随着用户长时间使用,这些饮水机功能单一、能耗较大、长时间饮用饮水机的水对健康不利等缺点逐渐暴露出来。传统的饮水机的局限性一般体现在以下几个方面:第一,功能相对简单。只有简单的温度控制,而且用户还不能自己根据自己的喜好设定温控参数。第二,能耗较大。在没有人使用的时候饮水机也处在开机状态无疑会造成能源的大量浪费,在能源紧缺的今天这个方面亟待解决。第三, 长期饮用饮水机里

18、的水会对健康不利。由于广泛使用的饮水机烧水不能完全沸腾,长期饮用这种水会对身体造成较大的伤害。本此设计的基于AT89S52的多功能饮水机, 采用DS18B20实现温度采集,经过LED显示, 读数直观、准确。并且程序存储器E2PROM可以很容易的实现软件升级, 从软件方面提高仪器精度。同时可以对加热温度进行控制,从而防止了每次加热都使水沸腾,既节能又能更好的满足人们的需求。1.4 智能饮水机的主体功能(1)智能饮水机的主体功能:本课题设计的智能饮水机具有过热保护防干烧、加热至沸腾、设置温度加热、超温报警提示、安全锁定、电动机出水功能等。(2)智能饮水机的按键功能:出水键:控制饮水机出水和停止出水

19、;加热键:负责控制开始加热和停止加热;锁定键:按下锁定键,其他按键无效;切换健:按下后开始设定用户想要的温度;温度设定键:按一下温度增加5,温度可在0到100之间循环。(3)智能饮水机的显示功能:电源灯(绿色):接通电源,电源灯点亮;加热指示灯(黄色):按下加热键,加热指示灯点亮,表示烧水开始工作。再次按下加热键,指示灯熄灭,表示烧水停止;锁定键指示灯(蓝色):锁定其他按键功能,灯亮表示其他按键均不可用;超温报警灯(红色):灯点亮表示水已经达到设定的加热温度或已沸腾并停止加热;数码管:显示当前水温或用户设定的温度。蜂鸣器:响起后说明水以沸腾并停止加热。1.5 课题设计的主体内容该设计的主要内容

20、主要包括设计方向的选择、设计题目的确定、设计方法的研究与比较,选择最优方案后开始进行硬件设计和软件设计以及最终的仿真调试。其中硬件设计包括器件的选定,各模块功能的设计与实现,以及最终各功能模块与单片机的连接构成一个整体系统并能满足设计要求;软件设计主要是通过编写C语言程序对单片机进行控制使其按照程序运行从而实现各模块的功能满足设计的要求;最终通过Keil uVision2编译软件将写好的程序编译成为16进制文件,使之能够在proteus仿真软件中和硬件电路一起进行仿真调试,从而确保设计的正确性。2 智能饮水机的硬件结构设计2.1 智能饮水机的总体设计整个硬件系统由主控制系统、输入输出模块、传感

21、器、其他功能电路和电源部分组成。主控系统使用单片机控制,包括对键盘的信息的接收和控制,对其他功能电路的控制等,通过软件编程实现预定功能;传感器部分即检测子系统,主要是进行饮水机中水的温度检测和控制,采用智能温度传感器DS18B20;其他功能电路部分包括恒温,防干烧,出水等电路,达到功能多样化;电源部分为智能饮水机提供必要的电能,保证饮水机能够正常的工作。整体框图如图2-1所示。以下详细讨论每个功能模块的设计思想和硬件电路的实现。温度检测电路晶振电路复位电路其他功能电路功能显示报警电路键盘单片机AT89S52数码显示电源电路 图2-1 智能饮水机电路框图2.2 元器件选择主机单元由AT89S52

22、单片机和相关的存储器组成,是仪表的核心。关键部分期间名称及其在电路中的主要功能如下:(1)AT89S52:完成监控系统数据采集过程、采集方式和报警过程的控制。是整个系统的核心处理器,单片机首先把通过传感器测到的现场温度与预先设置的温度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器的工作,从而实现温度控制。(2)数码管:用于显示当前水温及设定的水温。(3)DS18B20:单线数字温度传感器,可直接将被测温度转化为串行数字信号,以供单片机处理。(4)各色LED及蜂鸣器:用于提示用户饮水机的各种状态。(5)按键:输入模块,用于控制单片机完成各项功能。2.3 AT89S52的主要性能AT8

23、9S52具有8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作指导下一个硬件复位。 AT89S52功能特性描述(1)AT89S52是一种低功耗,高性能CMOS工艺的8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技

24、术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统提供高灵活,超有效的解决方案。 (2)AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0KHZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到一个中断或硬件复位为

25、止。(3)AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含8个中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。AT89S52可以按照常规方法进行编程,也可以在线编程。其通用的微处理器和Flash存储器结合在一起,可反复擦写的Flash存储器可有效地降低开发成本。 AT89S52晶振电路的设计每个单片机系统里都有晶振,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,它结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能

26、相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。晶振电路中的两个电容叫做负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。在本设计中XTAL1和XTAL2端外接石英晶体作为定时元件,内部反向放大器自激振荡,产生时钟。所用石英晶体的振

27、荡频率为12MHZ,电容C1,C2常为20pF40pF内,如图2-2所示。图2-2 晶振电路2.4 测温电路的设计 DS18B20的引脚图及方框图DS18B20的外形及管脚排列图如下图2-3所示。 (1)GND 地信号(2)DQ 数据输入/输出引脚。用在寄生电源下,可以向器件提供电源。(3)VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。图2-3 DS18B20外形及引脚排列 DS18B20主要性能(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯; (2)测温范围 55125,固有测温分辨率0.5; (3)支持多

28、点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温; (4)工作电源: 直流35V; (5)在使用中不需要任何外围元件; (6)测量结果以912位数字量方式串行传送; (7)不锈钢保护管直径 6 ;(8)适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温; (9)标准安装螺纹 M10X1, M12X1.5, G1/2”任选; (10)PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。 DS18B20功能特性描述DS18B20温度传感器的内部存储器还包括一个高速暂

29、存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为9字节的存储器,结构如表2-1所示。前两个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。第5字节为配置寄存器,见表2-3,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如表2-3所示。低5位都为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS-18B20出厂

30、时该位被设置为0,用户可改动,R1和R0决定温度转换的精度位数,来设置分辨率。表2-1 高速暂存RAM字节数123456789存储信息LSBMSBTH 1TL 2配置寄存器保留保留保留CRC表2-2 DS18B20 温度转换时间表R1R0分辨率/位温度最大转换时间/ms00993.750110187.510113751112750表2-3 配置寄存器TMR1R011111由表2-2可见,DS18B20分辨率越高,所需要的温度数据转换时间越长。当DS18B20接收到温度转换命令后,开始启动转换。转换后,温度值就以16位带符号的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接

31、口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例。其中S为符号位。DS18B20的温度值格式如表2-4所示。表2-4 DS18B20温度值格式表LSByteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0MSByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值。表2-5是部分温度值对应的二进制度数据。表2-5 部分温度对应值表温度二进

32、制表示十六进制表示+12507D0H+850550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.5FFF8H-10.125FF5EH-25.025FE6FH DS18B20供电方式(1)DS18B20寄生电源供电方式电路DS18B20采用寄生电源供电时,要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线

33、上进行多点测温时,靠上拉电阻是无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,只适用于单一温度传感器测温,也不宜采用电池供电系统,并且电源电压必须保证是5V。当电源电压下降时,会使测量的误差变大。(2)DS18B20的外部电源供电方式DS18B20采用外部供电时,I/O线不需要强上拉电压,同时在总线上可以挂接多个DS18B20传感器,组成多点测温系统。但要注意在外部供电的方式下,DS18B20的GND引脚不能悬空,否则读取的温度总是85。但在proteus仿真中VCC和GND均悬空,否则仿真错误。比较上述两种供电方式后认为外部电源供电方式对电源要求比电源供电方式优越些且稳定性好,故

34、在此设计中采用外部电源供电方式供电电路。仿真电路如下图2-4:图2-4 采用外部供电的测温电路2.5 主控系统主控系统采用单片机控制。单片机的晶振与复位电路如图2-5所示,单片机选用的是ATMEL公司的AT89S52的8 位单片机,晶体振荡器选12MHZ,C5,C6为22pF石英电容,与晶体振荡器构成时钟电路。电容C7,电阻R7、R8和按键S1构成上电复位和手动复位电路。图2-5 晶振与复位电路AT89S52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4KB的可反复擦写的只读程序存储器(PEROM)和128B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,

35、非易失性存储技术生产,兼容MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89S52单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.6 输入控制输入控制如图2-6所示,采用的按键控制,这样不仅减少的制作成本而且便于做。通过74LS373的通断进行按键信号的传输,当74LS373被锁定时,按键信号不能传入单片机,从而达到按键的锁定作用。图2-6 输入电路2.7 显示部分LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a、b、c、d、e、f、g、p来表示。当数码管特定的段加上电压后,这些特定的段就

36、会发亮,以形成我们眼睛看到的字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮p不亮。LED数码管有微亮亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸数码管是由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极称为共阳极数码管,发光二极管的阴极连接到一起连接到电源负极称为共阴极数码管。常用LED数码管所显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。 显示电路见图2-7。图2-7 显示电路LED

37、数码管引脚共阴和共阳两种方式:电源VCC通过1个1K的排阻与LED相连,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳。也可以直接用数字万用表,将档位拨到二极管通断性测试档,这时红表笔代表电源的正极,黑表笔代表电源的负极,然后在引脚上进行逐个测试,以确定是共阳还是共阴。一般十个引脚分别为7个段加2个公共加一个小数点。公共端一般在中间或在两边,两排,一排一个对称。至于其

38、他引脚的排序你可以自己量出来。先假设是共阴极或共阳极,假设中间那个就是公共端,用数字万用表逐个判断即可,如果判断错误不亮,就更改假设,继续判断。直到假设正确,也就是说判断正确,那么引脚的顺序和位置就出来。数码管所使用的电流与电压(1)电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。(2)电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。2.8 其他功能部分(1)出水控制当MOT输出低电平时,三极管处于截至区,集电极和发射极导通,接触器常开

39、触点闭合,出水管道导通。如图2-8所示。图2-8 出水控制(2)加热控制当HOT输出低电平时,三极管处于截至区,集电极和发射极导通,接触器常开触点闭合,线圈通电加热。见图2-9。图2-9 加热控制3 智能饮水机的软件设计3.1 系统分配方式在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以控制其工作。为了完成

40、上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:(1)单个模块比起一个完整的程序易编写及调试;(2)模块可以共存,一个模块可以被多个任务在不同条件下调用;(3)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序、温度检测程序、显示子程序、延时程序和其他相关程序等组成。 3.2 主程序设计程序的初始化主要包括三个环节:(1)实现各种设置堆栈指针、定时器/计数器0初始化、以及开中断、定时器/计数器启动;(

41、2)实现LED显示当前水温并能显示预设的水温;(3)不断的进行按键扫描,判断是否有按键按下,如没有按键按下,则返回显示;如有按键按下,则根据所按键实现相应的操作。人机对话功能键设置如下:(1)“出水”键:控制其出水和停止出水;(2)“加热”键:控制其加热和停止加热;(3)“锁定”键:用于锁定其他所有按键;(4)“切换”键:用于将显示器切换至温度设定界面并开始设定温度; (5)“设置温度”键:以5为间隔在0至100之间以递增方式设定水温。主程序如下:void main() T=100; while(1) Lock_key(); if(Lock=0) keyscan(); if(flag2=0)

42、temp_display(); if(flag2=1) SEG_display(T,0); if(temp>=T*10) Temp_led=0;Hot=1;Hot_led=1; if(temp< T*10) Temp_led=1; if(temp>=1000)Beep=0;Hot=1;Hot_led=1; if(temp<1000) Beep=1; 主程序程序框图如图3-1所示:变量定义显示按键扫描,判断是否有键按下芯片初始化开始NY延时Y按键扫描,判断是否有键按下NY按“出水”键,电机转动按“加热”键,加热按“锁定”键,其他键无效按“切换”键,切换至调温按“设置温度”

43、键,进行温度设置图3-1 主程序框图3.3 各模块程序设计 温度检测程序设计温度检测运用DS18B20芯片,因为其功能全面且精度高,完全可以满足设计要求,它将检测到的水温送给单片机,再由单片机输出给显示电路将实时水温显示出来。其程序流程图如下:读一个字节写一个字节读取温度开始显示温度DS18B20初始化图3-2 温度检测程序流程图其程序段如下:void init_ds18b20()uchar x=0;DQ = 1; /DQ复位delay_us(10); /稍做延时DQ = 0; /单片机将DQ拉低delay_us(100); /精确延时 大于 480usDQ = 1; /拉高总线delay_u

44、s(10);x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay_us(20); uchar ReadOneChar() uchar i; uchar dat=0; for (i=8;i>0;i-) DQ = 0; dat>>=1; DQ = 1; if(DQ) dat|=0x80; delay_us(10); return(dat); void WriteOneChar(uchar dat) uchar i; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay_us(10); DQ = 1;

45、 dat>>=1; int ReadTem() int t; uchar a,b; init_ds18b20(); WriteOneChar(0xcc); / 跳过读序号列号的操作 WriteOneChar(0x44); / 启动温度转换 delay_us(200); init_ds18b20(); WriteOneChar(0xcc); /跳过读序号列号的操作 WriteOneChar(0xbe); /读取温度寄存器等 a=ReadOneChar(); b=ReadOneChar(); t=b; t<<=8; t=t|a; return t;void temp_dis

46、play() uint temp_point;temp=ReadTem()*0.625; /将温度的高位与低位合并 temp_point=temp%10; /取出小数位 SEG_display(temp/10,temp_point); 显示程序设计显示程序是负责点亮4支数码管,并根据单片机送出的数据及时更新显示的数据,其程序流程图如下:送段选信号送位选信号延时循环四次开始图3-3 显示程序流程图其程序段如下:void SEG_display(uchar dat1,uchar dat2) P23=1; P0=tabledat1/100; P20=0; delay_us(80); P20=1; P

47、0=tabledat1/10%10; P21=0; delay_us(80); P21=1; P0=tabledat1%10|0x80; P22=0; delay_us(80); P22=1; P0=tabledat2; P23=0; delay_us(80); 键盘扫描程序键盘扫描程序的任务是在程序运行过程中始终不停的检测是否有按键被按下,如果检测到有按键被按下,则进入与该按键对应的程序运行;若该按键没有被按下,则继续检测下一个按键,如此循环,从而完成每一个按键所对应的功能。该设计中第四个按键为锁定键,当检测到锁定键被按下时,其他按键均无效,只有当检测到锁定键再次被按下,其他按键的功能才恢复

48、正常。其程序流程图如下:开始按键1按下?延时2msY确定按键1按下?执行按键1对应程序Y继续检测下一按键循环NN图3-4 键盘扫描程序流程图其程序段如下:void keyscan() if(key1=0) delay_ms(2); if(key1=0) flag=flag; if(flag=1) Out=0; if(flag=0) Out=1; while(!key1); if(key2=0) delay_ms(2); if(key2=0) flag1=flag1;if(flag1=1) Hot=0;Hot_led=0;if(flag1=0)Hot=1;Hot_led=1; while(!ke

49、y2); if(key3=0) delay_ms(2); if(key3=0) if(flag2=1) T+=5; if(T>=101)T=0; while(!key3); if(key5=0) delay_ms(2); if(key5=0)flag2=flag2; while(!key5); void Lock_key() / 锁定键盘 if(key4=0) delay_ms(2); if(key4=0) Lock=Lock; if(Lock=1) Lock_led=0; if(Lock=0) Lock_led=1; while(!key4); 延时程序void delay_us(uc

50、har i) / us延时函数 while(i-); void delay_ms(uchar n) /延时10×n毫秒程序 uint i,j; for(i=0;i<n;i+) for(j=0;j<2000;j+); 4 调试及性能分析4.1 软件调试软件调试用Keil uVision2软件,将写好的程序编译成16进制文件,然后才可以在proteus中将编译好的程序放入单片机进行仿真,使用Keil uVision2对程序编译的过程如下。4.1.1 新建工程在Keil uVision2中新建一个工程,使用AT89C52系列,如图4-1所示。图4-1 新建工程4.1.2 新建文

51、本在Keil uVision2中新建一个文本并保存,扩展名为.c,如图4-2所示。图4-2 新建文本4.1.3 添加文本将新建的文本添加到所建工程中,如图4-3所示。图4-3 添加文本4.1.4 程序编译在添加进去的文本中输入写好的程序后编译,显示无误后自动生成16进制文件,此文件才可放入proteus中进行仿真,如图4-4所示。图4-4 程序编译4.2 硬件调试使用proteus仿真软件对硬件电路进行仿真,将编译好的程序放入单片机中开始运行程序。并通过按键检验各个功能的实现,从而完成设计中所有要求的仿真。以下演示各模块电路的proteus仿真。4.2.1 电源电路的仿真当饮水机通电后,电源指

52、示灯亮,此时各模块均通电,才能保证饮水机的正常工作。如图4-5所示。图4-5 电源电路的仿真4.2.2 出水电路模块的仿真在通电状态下按下出水键,电动机开始转动,表示饮水机开始出水,如图4-6所示。图4-6 出水模块的仿真4.2.3 加热模块电路的仿真在通电状态下按下加热键,饮水开始加热,加热指示灯(黄色)亮,再次按下加热键则停止加热,指示灯灭,如图4-7所示。图4-7 加热模块的仿真4.2.4 显示模块电路的仿真本设计采用4个LED来显示当前的水温或设定的水温,当前水温由DS18B20检测到的温度决定,如图4-8所示。此时显示温度为55。图4-8 显示电路的方针4.2.5 报警电路的仿真(1)当水加热至沸腾后,饮水机报警电路工作,使其自动停止加热并蜂鸣器响起、红灯亮表示报警,如图4-9;图4-9 水沸腾时报警

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论