1、 摘要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中家用电热水器就是一个典型的例子。在本设计中采用单片机AT89C51作为控制器来控制电路。本设计分别对硬、软件进行设计说明。硬件包括加热控制电路,温度检测电路,LED数码管及指示灯显示电路及报警器驱动电路等的设计,比如,利用热敏电阻对热水器出口温度进行检测;用温度/频率转换电路通过单片机的检测间接测出温度值;用单片机通过光耦给可控硅触发信号,控制可控硅的导通角,而控制电热丝的有效加热功率;用继电器来控制加热电源,使其在关机和超温保护的状态下可靠的关断;用在继电器线圈回路中串联105的熔丝来
2、防止温度过高时加热管干烧。软件部分给出了部分程序流程图的设计,包括主程序的设计、显示扫描子程序的设计、按键扫描处理子程序的设计、加热和控制程序流程图的设计、温度检测程序的设计、频率测试程序的设计。软件编程采用C语言编写,因为其简洁、使用方便灵活、容易实现程序的模块化和结构化。关键词:单片机;电热水器;温度/频率转化测温;二分查找法 Design of rapid heating type household electric water heater based on single-chip microcomputer controlAbstractAs people living stand
3、ard rise ceaselessly, the single-chip microcomputer control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negative, household electric water heater is a typical example of it. In this design uses AT89C51 microcontroller as the controller to control circuit. Th
4、e design of hardware and software respectively design and explains. Hardware including heating control circuit, temperature detection circuit, LED digital pipe and indicator shows circuit and alarm driver circuit design, for example, using thermal resistance of the water heater outlet temperature te
5、sting; Use temperature/frequency conversion circuit is measured by single-chip microcomputer detection indirect temperature; With single-chip microcomputer controlled by light-coupler to trigger signal, Control the conduction angles of the SCR, and control of the resistance wire effective heating po
6、wer. Use relay to control the heating power, so that the shutdown and over-temperature protection under the condition of reliable shut off; Used in relays coil loop in tandem 105 melt silk of high temperature to prevent dry heating tube when burnt. Software part gives part of the program flow chart,
7、 including the design of main program design, the design of subroutines that display scanning, buttons scanning processing procedure design, heating and control program flowchart design, temperature detection program design, frequency test procedure design. Software programming using C language, bec
8、ause of it is simple and easy to use and agile and easy to implement procedures of modular and structured.显示对应的拉丁字符的拼音Key words: single-chip microcomputer; electric water heater; temperature/frequency conversion temperature measurement; binary search method 目录摘要IAbstractII1 绪论11.1 单片机的组成及特点11.1.1 单片
9、机的组成11.1.2 单片机的特点11.2 选题目的和意义21.3 国内外发展情况31.4 即热式电热水器与普通电热水器的区别31.5 设计要求41.6 设计内容42 快热式电热水器的硬件设计62.1 硬件元件的选择与方案论证62.1.1 单片机的选择62.1.2 电源的选择72.1.3 键盘的选择72.1.4 显示器的选择82.1.5 驱动及加热控制元件的选择82.1.6 温度检测传感器的选择92.1.7 供电线路的选择92.1.8 传感器输出的放大电路的选择102.2 系统硬件电路的设计102.2.1 加热控制电路的设计112.2.2 过压保护电路的设计112.2.3 温度检测电路的设计1
10、22.2.4 数码管显示电路的设计132.2.5 报警器驱动电路的设计133 快热式电热水器的软件设计143.1 主程序的设计143.2 显示扫描子程序的设计143.3 按键扫描处理子程序的设计143.4 加热和控制程序流程图的设计173.5 温度检测程序的设计183.6 频率测试程序的设计19结论22致谢23参考文献24附录A 控制源程序清单25附录B系统总设计原理图36第36页辽宁科技大学本科生毕业设计1 绪论1.1 单片机的组成及特点随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。其中家用电热水器就是一个典型的例子,单片机正朝着高性能和多
11、种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机采用面向控制的指令系统,实时控制功能特别高。CPU可以直接对I/O口进行输入、输出操作及逻辑运算,并且具有很强的位处理能力,能有针对性解决由简单到复杂各类控制任务。单片机作为嵌入式应用的微型计算机,由于其出色的性价比,极强的实用性,它取得了巨大的发展。从最早的4位单片机,到今天的16位,甚至32位单片机,单片机的应用越来越成熟,要想设计出较好的快热式电热水器必须要以较强的单片机作为基础,而单片机的发展正好为热水器的开发奠定了前提条件。1.1.1 单片机的组成单片机是微型机的一个主
12、要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。 单片机是通过内部总线把计算机的各个主要部件接为一体,其内部包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。1.1.2 单片机的特点由于单片机的各种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领
13、域都得到了迅猛的发展。单片机主要有如下特点:有优异的性价比。1.集成度高、体积小、有很高的可靠性。 单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了芯片之间的连线,大大的提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。2.控制功能强 为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及微处理能力。单片机的逻辑控制功能及运行速度均高于同一档次的微机。3.低功耗、低电压,便于生产便携式产品。4.单片机系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。1.2 选题目的和意义当前,热水器
14、已成为日常生活中不可或缺的家用电器,设计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂家不断追求的目标。快热式电热水器与普通电热水器最大的区别在于取消了储水罐,热水随开随用,无需预热,减少了电能浪费。另外,它还具有体积小,使用安全,水温可以调节,安装方便等优点。热水器是一种可供浴室,洗手间及厨房使用的家用电器。目前市场上热水器主要品种有:电热水器、太阳能热水器、燃气热水器,就中国的具体情况而言,太阳能热水器作为一种绿色环保可再生资源,其开发和利用,因顺应中国的能源与环保政策,日益受到重视。加上日渐显现的全球能源危机,进一步加剧了太阳能热水器行业的发展,尽管前景光明,可因为太阳能
15、热水器的能源利用率较低及它对建筑的诸多要求,而且安装麻烦,接受太阳能的板片还得轻拿轻放,切勿撞击,属易碎品,加大了其使用的不安全与不保险性。此外,其使用还受天气原因的限制,适用范围狭窄,导致太阳能热水器行业的发展目前还存在很多障碍;燃气热水器由于以天然气为燃料,而燃料供应量有困难,且国家对其使用年限有规定,适合在低气价地区使用,来满足人们的需求,且不利于环境;人们在选择热水器时,除了要安全可靠和美观耐用外,一次性购机费和经常性开支(能耗)也是人们考虑的重要环节,其中经常性开支有时比一次性购机费更能左右用户的选择,因此如何来降低热水器的能源消耗,使用户能以最小的代价获得更大的收益,这是一个大多数
16、用户十分关心的问题。随着人们生活水平的不断提高、日益增长的需求和电网供电能力的加强,越来越多的家庭选用电热水器,电热水器使用安全、卫生、又无污染。今后几年我国电热水器市场将呈现强劲增长势头,其产品质量、技术水平、服务规范将不断提升,价格也会下降。而且全国电网的改造、电的普及、电价的大幅度下调,以及用电设施的改善,均为电热水器的迅速普及提供了便利、必要的条件。电热水器是家庭、公用住宅、小型饭店、宾馆酒店理想的配套服务设施。相信今后几年我国电热水器市场仍将会迅猛发展。1.3 国内外发展情况家用电热水器在国外使用相当广泛,尤其是在欧美和东南亚地区。当前,热水器已经成为日常生活中不可缺少的家用电器,设
17、计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂家不断追求的目标,它具有体积小,使用安全,安装方便等优点。前些年,家用电热水器产品在国内市场上曾经出现过一段时间,由于当时国内电力条件不成熟,对大功率的电产品一般无法正常使用,也没有好技术和科技来保证其产品质量与使用的安全,种种因素限制了其在国内的发展。近几年来,随着人们生活水平的不断提高,国家电网改造和相关规定的出台,电力工业迅速发展,预示了家用电热水器产品在国内的广泛前景。根据国家住宅设计规范现有商品住房的电器线路导线必须采用铜芯线,每套住宅进线截面积不小于10平方毫米,分支引线不得小于2.5平方毫米,电表规格不得小于40安,
18、所以现购新标准住宅用户,都有条件使用上述这种安全、家用电热水器,确保产品万无一失,安全系数达100%,通过检测,快热式家用电热水器比传统的热水器可节省40%的能耗,用多少热水就加热多少热水,没有热水用不完的浪费和使用中途热水供应不足的现象,热水利用率100%,因为它既不需要提前预热,也不需保温,省去了大量的额外开支,给用户带来真正的实惠。即热式产品作为新型环保产品在我国广泛使用已是大势所趋,符合现代消费潮流。一切迹象都在预示着快热式家用电热水器的春天就要来临了。1.4 即热式电热水器与普通电热水器的区别普通电热水器有如下缺点:1.热水器长期通电,长期保持在六十度以上高温,发热管易结垢,内胆易漏
19、水,因而较易损坏;2.管道热水、热量损耗大;3.等候用水时间长;4.在热水流出前都必须浪费一定量的热水,根据管道的长短,一般家庭中冷水损耗量大,基本可达10-25升每次。而快热式电热水器克服了上述缺点。它有很多优点,如:安全,干净环保;即开即热,3-5秒出热水无需等候,热水使用时间不受限制,想用多少就用多少;用多少烧多少,省电省水,没有损耗;内置温控仪保证温度在30-50度之间,解决温度持续高温导致的结垢漏水问题。体积小不占空间,其中封闭式(尺寸为:24cm*9.5cm*25cm,类似25*25的卫生间地砖那么小,纯白色。)可以隐藏在橱柜内,安装方便,特别适合新装修的房子,款式多样,美观实在,
20、也是职工福利和客户礼品的绝佳选择。特别方便于洗涤和洗漱,是为现代家具厨房洗涤、卫生间洗漱专业设计生产的快速电加热热水器,结合了燃气热水器、太阳能热水器和传统储水式电热水器的诸多优点。1.5 设计要求1.用2位数码管显示出水温度,能显示设定功率档位。2.温度检测显示范围为0099,精确度为1。3.设置3个功率档位指示灯,14档1个灯亮,58档2个灯亮,9档3个灯亮。0档无功率输出,档位灯不亮。4.设置3个轻触按钮,分别为电源开关、“+”键和“-”键。加热功率分09档;按“+”键依次递增至9档,按“-”键依次递减至0档。09档功率依次为0、1/9P、2/9P、3/9P、4/9P、5/9P、6/9P
21、、7/9P、8/9P和P1。5.出水温度超过65时停止加热,并蜂鸣报警,温度降到45以下时恢复。6.内胆温超过105时停止加热,防止干烧。1.6设计内容本设计的设计内容包括硬件部分和软件部分的设计。硬件部分分为元件选择和电路的设计,元件选择包括单片机、电源、键盘、显示器、驱动及加热控制元件、温度检测传感器等的选择;电路包括加热控制电路、过零检测电路、温度检测电路、LED数码管及指示灯电路、报警器驱动电路。软件部分的设计即系统程序流程的设计,包括主程序的设计、显示扫描子程序的设计、按键扫描处理子程序的设计、加热控制程序流程图的设计、温度检测程序的设计和频率测试程序流程图的设计等。其中,软件编程采
22、用C语言进行编写,因为C语言在功能上、结构性、可读性和可维护性上比汇编语言有明显的优势,Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点就是Keil C51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势2。也容易实现程序的模块化和结构化。此外关于快热式电热水器控制源程序在Keil u Vision2 V2.30(C51.exe V7.0)环境下调试。2 快热式电热水器的硬件设计根据设计要求,系统的组成框图如图2.1所示,主要包括电源电路、单片机控制器、温度检测电路、按键输入电路、LE
23、D数码管及指示灯电路、报警电路和加热控制电路。对于快热式家用电热水器来说,硬件系统是它的最基本的框架,是系统的所有功能的基础。硬件的选择和所选硬件的性能对系统的功能实现以及系统的精度都有直接的影响,系统的设计成功与否很大程度上取决于硬件系统的设计。温度检测按键输入电源单片机LED显示蜂鸣报警加热控制图2.1 电热水器系统组成框图2.1 硬件元件的选择与方案论证2.1.1 单片机的选择方案一: 我们知道8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还要另外购买其他的芯片,如A/D转换及定时/计数器(PWM)等芯片,从而造成成本较高,不适用。方案二:单片机5
24、1机的特点:字长为8位。几乎绝大多数的单片机外围芯片都直接或间接的支持8位字长,这样可供它选择的余地相当大,这使得51单片机的应用达到了无孔不入的地步。程序存储器与数据存储器分开。程序存储器和数据存储器的容量都是64KB。这样做的好处是可以尽可能使用大的存储器,无论是程序还是数据都是这样,在存储器价格日益低廉的今天,几乎可以用微不足道的价格换取相当可观的性能。功能日益强大。现在程序存储器、数据存储器、掉电不丢失数据存储器、看门狗、A/D转换电路、驱动电路等都集中到一个芯片上。没有别的特殊要求,一个片子就能组成几乎十分完整的单片机系统。软件上单片机的编制语言十分丰富。包括汇编语言、C语言、PLM
25、,某些单片机甚至固化有解释型的BASIC语言,适应几乎所有人员的需要3。因为89C51芯片内部有ROM,且芯片ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,由于89C51单片机成本低廉且工作可靠,采用12MHz的晶振。此外,89C51还可以工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU,而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟震荡停止,同时停止芯片内其他功能。所以我们选择了89C51作为系统微处理器。2.1.2 电源的选择方案一:采用干电池,使用方便,安全可靠,但价格昂贵,且使用时间较
26、短,所以不采用。方案二:由于89C51对电源要求不甚严格,+5V电源来源方便,且经稳压管稳压比较可靠,较经济实惠,所以采用此方案。2.1.3 键盘的选择方案一:键盘选用行列式键盘,行列式键盘的接口方法,直接接口于单片机的I/O口上。键盘设置在行、列线的焦点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5V,被拉在高电平状态。但线路较复杂,价格较昂贵,不适用。方案二:独立式键盘是由若干个机械触点开关构成的,把它与单片机的I/O口线连起来,通过读I/O口的电平状态,如果按键不被按下,其端口就为一种电平,如果按键被按下,则端口就为另一种电平,即可识别出相应的按键是否被按下。独立式键盘有上
27、拉电平和下拉电平两种接法,通常采用下拉电平接法,即各按键开关一端接低电平,另一端接单片机I/O口线,这是为了保证在按键断开时各I/O口线有确定的高电平4。本设计采用独立式按键,其是常用于需要少量几个按键的计算机控制系统。每个独立式按键单独占用一根输入端口线,各键的工作状态不会相互影响。采用轻触式独立小按钮,既实用又方便,因为本电路对键盘的要求不高,所以采用这种方案。2.1.4 显示器的选择LED数码管显示器可分为两种显示方式:静态显示和动态显示。方案一:LED数码管静态显示,多片七段译码器驱动显示,这不仅增加了成本,还需要占用单片机多个I/O口,也给电路的焊接带来了一定的困难,因此不选用这种方
28、案作为显示模块。方案二:动态数码管显示一般用在需要多只数码管显示的场合,它采用分时的方法,让每只数码管轮流显示。采用动态显示可以大幅的降低硬件成本和电源的功耗。因为分时显示,某一时刻只有一只数码管在工作,显示驱动电路也可以分时复用。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线由另外的I/O口线控制。动态方式显示时各数码管轮流分时选通,要使其稳定显示必须采用动态扫描方式,即在每一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另外一位数码管,并送出相应的段码。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以数
29、码管同时显示的感觉5。在动态显示方式下电路设计简单,所以采用。2.1.5 驱动及加热控制元件的选择方案一: 对于加热功率的控制,最简单的方法是由若干不同功率的电热丝组合得到几种加热功率,但由于快热式热水器的加热功率较普通的大,且档位设置较多,用电热丝组合的方法需要几组电热丝和继电器,成本增高且工作可靠性降低,所以不用。方案二:通过一个继电器驱动,采用可控硅控制功率,能经受较高的功率,所以可以设置较多的档位,成本大大降低可靠性较高,而且电路简单,又控制方便,所以本方案采用。2.1.6 温度检测传感器的选择温度检测的方法很多,有热电偶,热敏电阻,还有专门的集成测温传感器等。方案一:热电偶传感器是将
30、温度变化转为电量变化的装置,它利用敏感元件的电磁参数随温度变化而变化的特性来达到测量目的。通常把被测温度的变化转化为敏感元件的电阻变化、电势的变化,再经过相应的测量电路输出电压或电流,然后由这些参数的变化来检测对象的温度变化。热敏电阻具有灵敏度高、体积小、较稳定、制作简单、寿命长、易于维护、动态特性好等优点。但有变化率非线性,不适合测量高温区等缺点。方案二:温度检测的方法较多,最经典的方法就是用热敏电阻(或热敏传感器)组成电桥来采集信号,再经放大、A/D转换后送单片机。目前比较先进的方法是采用专门的集成测温传感器(如DS18B20),直接将温度转换成数字信号传送给单片机。这种方法显然比较先进,
31、但电路比较复杂,成本也比较高2。方案三:为了简化电路,降低成本,本文采用了温度/频率转化测温法,直接将温度信息转换成频率信号,用单片机测出频率的大小,从而间接测出温度值,温度/频率转换电路简单可靠,成本低廉。所以采用此方案。2.1.7 供电线路的选择快热式电热水器为了达到“快热”的效果,取消了储水罐,使冷水在进入加热管后立即被加热,这就要求加热管有较大的加热功率。家用电热水器一般采用方便、可靠的电热丝加热方法。根据热学及流体力学原理,结合实际实验室测试,可以得到水温与流量、加热功率之间的关系如表2.1所列。表2.1中所列水温值和流量值可以满足大多数家庭用户使用要求。当最大的加热功率为7.5kW
32、时,按220V供电计算,电流约为34A,所以要求专线供电。 表2.1 水温与流量、加热功率的关系水流量/(L/m)功率/kW 温度/2253354454742363432555448413836656254464238757060514641注:进水温度为15,输入电压为AC220V。2.1.8 传感器输出的放大电路的选择方案一:运算放大器LM324带有真差动输入的四运算放大器。该四运算放大器可以工作在低到3V或者高于32V的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。它的性能特点是保护输出、真差动输入级、底偏
33、置电流为最大100mA、每封装含四个运算放大器、具有内部补偿的功能、共模范围扩展到负电源、行业标准的引脚排列、输入端具有静电保护功能。但用在本电路中接线较复杂,且价格昂贵,所以不用。方案二:采用74LS04作为输出放大电路的选择,它还可以作为驱动电路使用,74LS04是TTL电平反相器,使用较经济且性能也很理想,所以在本方案中采用。2.2 系统硬件电路的设计快热式热水器控制系统电路如附录图B所示。它由加热控制电路、过零检测电路、温度检测电路、数码管显示电路、报警器驱动电路等电路组成。控制器采用成本低廉且工作可靠的89C51或其兼容系列的单片机,采用12MHz的晶振。89C51对电源要求不甚严格
34、,电源电路采用普通的市电降压整流,然后经集成稳压器(7805)稳压输出+5V电压。按键采用轻触小按钮。显示电路采用两位共阳数码管,由两个三极管9012驱动。3个LED指示灯用于指示加热功率。报警电路采用5V的自鸣式蜂鸣报警器。2.2.1加热控制电路的设计 图2.2所示为加热控制电路原理图,电热丝的加热功率由双向可控硅控制,单片机通过光耦给可控硅触发信号,控制可控硅的导通角从而控制电热丝的有效加热功率。而加热电阻通过发光二极管来显示加热与否,当加热时二极管发光,而不加热时二极管不发光,为了在关机和超温保护的状态下能可靠的关断加热电源,电路中加入了继电器来控制加热电源。其中串联在继电器线圈电路的熔
35、丝为105的热保险丝,当温度超过105时,热保险丝会熔断,防止加热管干烧。与电热丝并联的LED发光管用来指示电热丝的工作状态。图2.2 加热控制电路图2.2.2 过压保护电路的设计此电路通过变压器将220V交流电变为9V的交流电,然后经过桥式整流将其变为直流电,通过R2和R3进行分压,从而实现过压保护。电路如图2.3所示。图2.3 过压保护电路图2.2.3 温度检测电路的设计温度检测电路如图2.4所示,温度/频率变换电路是利用反相器组成的RC多谐振荡器,其中的R24是一个热敏电阻,当温度变化时引起热敏电阻的阻值变化,因而电流发生变化,从而改变了振荡器输出的方波频率。所以通过频率值可以间接求得温
36、度值。该频率的估算可用如下公式: f1.1RC (2.1)它的电路图如图2.4所示。图2.4 温度检测电路图2.2.4 数码管显示电路的设计数码管显示电路的设计是采用双向共阳极串行接口电路,用来显示加热档位,直观性更强,亦可大大减少电源的功耗。它的电路图如图2.5所示。图2.5 数码管显示电路图2.2.5 报警器驱动电路的设计电路图如图2.6所示。图2.6 报警器驱动电路图3 快热式电热水器的软件设计本设计的软件设计部分即为系统程序的设计。按快热式热水器的功能,系统程序必须实现显示扫描、按键扫描处理、加热控制和温度检测(包括超温报警)4项任务。51系列单片机实现多任务运行的方法就是分时复用,在
37、程序设计时要相应地分配好各任务的CPU占用时间。对于以上几个任务稍加分析可以看出,显示扫描、按键扫描和加热控制任务相对而言有实时要求,而温度检测任务则可用定时(0.51s)实现。3.1 主程序的设计 系统在上电复位后,先对温度寄存器、档位寄存器赋默认值,并进行清除超温标志,设置定时器及中断系统的工作方式等初始化工作。由于51系列单片机没有停机指令,所以可以利用主程序设置死循环反复运行各个任务。把有实时要求的子程序(显示扫描、按键扫描、加热控制)放在最内层的循环中,计算其运行一次占用的CPU时间,然后根据温度检测定时的间隔时间,计算出该循环的循环次数。本例中每运行一次有实时要求的子程序(即显示扫
38、描、按键扫描、加热控制)约占用5 ms CPU时间,运行测温子程序的时间间隔为0.5s,那么循环次数应为100次。图3.1所示为主程序流程图。3.2 显示扫描子程序的设计显示扫描子程序完成两位共阳数码管的扫描显示任务。图3.2所示为显示扫描子程序流程图。3.3按键扫描处理子程序的设计按键扫描处理子程序负责逐个扫描档位“+”键、“-”键和开关键是否被按下,若有键按下,则作出相应处理。具体根据用户设定的加热档位和系统当前的状态,决定是否加热和控制加热的功率并点亮相应的指示灯。若有超温标志,还应打开蜂鸣器报警。这将在加热控制中介绍其处理过程。本设计所采用的按键开关为机械弹性开关,当机械触点断开、闭合
39、时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象,保证系统的可靠性,所以采取了按键消抖的措施6。图3.3所示为按键扫描处理子程序流程图。开 始i=1按键扫描若有键按下i=6显示扫描加热控制完成100次循环温度检测-i=0?刷新显示温度开 始赋位选初值清除位选送显示段码选通并延时2ms改变位选字消 隐完成2位扫描结 束系统初始化NYNYNY 图3.1 主程序流程图 图3.2 显示扫描子程序流程图开 始“+”键按下?“-”键按下?开关键按下?发按键音、消抖加热档位加1返回值1返回值2加热档位
40、减1发按键音、消抖返回值0开机,恢复工作等待开关键再次按下关机,停止输出发按键音、消抖结 束YNYNNY 图3.3 按键扫描子程序流程图开 始有超温标志?断开继电器关闭可控硅蜂鸣报警接通继电器关闭蜂鸣器加热档位外中断控制加热1#、2#指示灯亮外中断控制加热1#指示灯亮不加热指示灯不亮全功率加热指示灯全亮结 束YN 图3.4 加热控制程序流程图3.4 加热和控制程序流程图的设计加热控制程序通过控制继电器的通断来决定是否给电热丝通电加热,而加热的功率大小则由双向可控硅的导通角决定。系统程序利用外中断INT1检测市电的过零点,检测到过零点后,立即根据设定的加热档位给定时器T1赋一个延时参数,并打开定
41、时器T1,允许其中断。当定时器T1计数溢出后触发中断,T1中断程序就会给可控硅发一个触发信号,使其导通。图3.4所示为加热控制程序流程图。图3.5和图3.6所示分别为过零检测程序图和可控硅触发信号控制程序流程图。根据设定档位给定时器T1赋延时参数允许定时器T1中断打开定时器T1结 束开始(T1中断)结束可控硅导通信号输出可控硅导通信号延时,保证导通信号有足够的宽度关闭定时器T1中断终止定时器运行结 束开始(过零信号)图3.5 过零检测程序流程图 图3.6 可控硅触发信号控制程序流程图3.5 温度检测程序的设计温度检测程序的基本原理就是将温度/频率转换电路测得的频率与事先建立好的温度/频率表进行
42、比较,查找出与该频率相应的温度值。在实验测试后建立的温度/频率表是0100温度所对应的频率值。它是一个频率对应于温度递减的非线性函数,在C语言中用一个一维数组Tab101来表示,下标为温度,数组元素为频率值。计算温度采用高效、准确的二分查找法。查表的过程如下:1.先给定查找的温度最大值Tmax和最小值Tmin,即确定查找的范围,根据已有的温度表默认最大值Tmax=100,最小值Tmin=0。2.假定测得温度Temp为最大值与最小值的中间值,即Temp=(Tmax+Tmin)/2。3.将实际测的频率值T0rig与假定温度Temp在表格中对应的频率Tabtemp相比较,如果相等,那么假定温度就是当
43、前实际温度,即完成查找。4.若T0rig Tabtemp,说明实际温度应该在Tmin与Temp之间(因为递减函数特性),则修改查找范围,令Tmax=Temp;同理,若 T0rigTabtemp,说明实际温度应该在Temp与Tmax之间,则令Tmin=Temp;5.检查查找范围,若Tmax-Tmin1,则重复第2,3,4,5步骤,直到查找完成。 温度检测程序完成温度计算后,便刷新系统当前温度寄存器,并判断有无超温、置位或消除相应的标志位7。图3.7所示为温度检测程序流程图。3.6频率测试程序的设计单片机使用外中断INT0和计数器T0检测输入频率的大小。为了减少测量的系统误差相对值和随机误差对测量
44、精度的影响,程序中取100个方波周期的和作为测量结果。程序中使用静态变量px0count进行外中断的计数,在测量开始时,给px0count赋值2是为了让频率测量有准确的起点。另外,为了区分测频的开始和结束,还使用了测频开始标志位T0tst和测频完成标志位Testok。图3.8所示为频率测试程序流程图。开 始打开测频外中断等待测试完成Tmin=0,Tmax=100Temp=(Tmin+Tmax)/2T0rig=Tabtemp?T0rigTabtemp?Tmax=TempTmin=TempTmax-Tmin65?Temp45?刷新当前寄存器清除超温标志置位超温标志结 束NYYNNYYNYNNY图3
45、.7 温度检测程序流程图开始(X0中断)-px0count=0?是起点?清除测频起点标志px0count=100计时器T0清0启动计时器T0停止计时器T0停止测频外中断置位测频完成标志结 束YYNN图3.8 频率测试程序流程图结论本次设计的快热式家用电热水器采用51系列单片机对电路进行简单的控制,系统的稳定性比较高。本方案着重体现在速度之快上,它采用双向晶闸管(即可控硅)对加热电路进行控制,这样系统的可靠性就大大增强,因为晶闸管能够根据门极电压可靠的接通和断开,而且采用发光二极管来及时的检测电路的加热情况。而设计的另一个优势还在于它采用了温度/频率检测电路,通过电路频率的变化及时的反映当时的温度变化,这样就避免了因为热敏电阻的变化不能及时的传给单片机而带来的滞后问题。频率的变化受到外界的干扰要远远小于电阻变化所带来的干扰,而且完全不涉及非线性造成的温度过高时造成的错误,因此准确性,可靠性都得到了大大提高。在设计中还采用了两位共阳数码管来反应功率档位,通过它们的亮灭数量输出加热功率,及时的提醒使用者当时的水温变化情况,更加清晰,也能减少功耗。而在设计中还采用了轻触式按钮来调节功率的档位,其中按“+”按钮