摘要
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中家用电热水器就是一个典型的例子。在本设计中采用单片机AT89C51作为控制器来控制电路。本设计分别对硬、软件进行设计说明。硬件包括加热控制电路,温度检测电路,LED数码管及指示灯显示电路及报警器驱动电路等的设计,比如,利用热敏电阻对热水器出口温度进行检测;用温度/频率转换电路通过单片机的检测间接测出温度值;用单片机通过光耦给可控硅触发信号,控制可控硅的导通角,而控制电热丝的有效加热功率;用继电器来控制加热电源,使其在关机和超温保护的状态下可靠的关断;用在继电器线圈回路中串联105℃的熔丝来防止温度过高时加热管干烧。软件部分给出了部分程序流程图的设计,包括主程序的设计、显示扫描子程序的设计、按键扫描处理子程序的设计、加热和控制程序流程图的设计、温度检测程序的设计、频率测试程序的设计。软件编程采用C语言编写,因为其简洁、使用方便灵活、容易实现程序的模块化和结构化。
关键词:单片机;电热水器;温度/频率转化测温;二分查找法
Design of rapid heating type household electric water heater
based on single-chip microcomputer control
Abstract
As people living standard 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. The 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 testing; 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 power. 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, 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, because 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
目录
摘要 ............................................................................................................... I
Abstract ......................................................................................................... II 1 绪论 ...........................................................................................................1
1.1 单片机的组成及特点 ..................................................................................................... 1 1.1.1 单片机的组成 ........................................................................................................... 1 1.1.2 单片机的特点 ........................................................................................................... 1 1.2 选题目的和意义 ............................................................................................................. 2 1.3 国内外发展情况 ............................................................................................................. 3 1.4 即热式电热水器与普通电热水器的区别 ..................................................................... 3 1.5 设计要求 ......................................................................................................................... 4 1.6 设计内容 ......................................................................................................................... 4
2 快热式电热水器的硬件设计 ......................................................................6
2.1 硬件元件的选择与方案论证 ......................................................................................... 6 2.1.1 单片机的选择 ........................................................................................................... 6 2.1.2 电源的选择 ............................................................................................................... 7 2.1.3 键盘的选择 ............................................................................................................... 7 2.1.4 显示器的选择 ........................................................................................................... 8 2.1.5 驱动及加热控制元件的选择 ................................................................................... 8 2.1.6 温度检测传感器的选择 ........................................................................................... 9 2.1.7 供电线路的选择 ....................................................................................................... 9 2.1.8 传感器输出的放大电路的选择 ............................................................................. 10 2.2 系统硬件电路的设计 ................................................................................................... 10 2.2.1 加热控制电路的设计 ..............................................................................................11 2.2.2 过压保护电路的设计 ..............................................................................................11 2.2.3 温度检测电路的设计 ............................................................................................. 12 2.2.4 数码管显示电路的设计 ......................................................................................... 13
2.2.5 报警器驱动电路的设计 ......................................................................................... 13
3 快热式电热水器的软件设计 ....................................................................14
3.1 主程序的设计 ............................................................................................................... 14 3.2 显示扫描子程序的设计 ............................................................................................... 14 3.3 按键扫描处理子程序的设计 ....................................................................................... 14 3.4 加热和控制程序流程图的设计 ................................................................................... 17 3.5 温度检测程序的设计 ................................................................................................... 18 3.6 频率测试程序的设计 ................................................................................................... 19
结论 .............................................................................................................22 致谢 .............................................................................................................23 参考文献......................................................................................................24 附录A 控制源程序清单..............................................................................25 附录B系统总设计原理图 ...........................................................................36
辽宁科技大学本科生毕业设计 第1页
1 绪论
1.1 单片机的组成及特点
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。其中家用电热水器就是一个典型的例子,单片机正朝着高性能和多种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机采用面向控制的指令系统,实时控制功能特别高。CPU可以直接对I/O口进行输入、输出操作及逻辑运算,并且具有很强的位处理能力,能有针对性解决由简单到复杂各类控制任务。
单片机作为嵌入式应用的微型计算机,由于其出色的性价比,极强的实用性,它取得了巨大的发展。从最早的4位单片机,到今天的16位,甚至32位单片机,单片机的应用越来越成熟,要想设计出较好的快热式电热水器必须要以较强的单片机作为基础,而单片机的发展正好为热水器的开发奠定了前提条件。 1.1.1 单片机的组成
单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。
单片机是通过内部总线把计算机的各个主要部件接为一体,其内部包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。 1.1.2 单片机的特点
由于单片机的各种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。单片机主要有如下特点:有优异的性价比。
1.集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了芯片之间的连
辽宁科技大学本科生毕业设计 第2页
线,大大的提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
2.控制功能强
为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及微处理能力。单片机的逻辑控制功能及运行速度均高于同一档次的微机。
3.低功耗、低电压,便于生产便携式产品。
4.单片机系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
1.2 选题目的和意义
当前,热水器已成为日常生活中不可或缺的家用电器,设计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂家不断追求的目标。快热式电热水器与普通电热水器最大的区别在于取消了储水罐,热水随开随用,无需预热,减少了电能浪费。另外,它还具有体积小,使用安全,水温可以调节,安装方便等优点。
热水器是一种可供浴室,洗手间及厨房使用的家用电器。目前市场上热水器主要品种有:电热水器、太阳能热水器、燃气热水器,就中国的具体情况而言,太阳能热水器作为一种绿色环保可再生资源,其开发和利用,因顺应中国的能源与环保政策,日益受到重视。加上日渐显现的全球能源危机,进一步加剧了太阳能热水器行业的发展,尽管前景光明,可因为太阳能热水器的能源利用率较低及它对建筑的诸多要求,而且安装麻烦,接受太阳能的板片还得轻拿轻放,切勿撞击,属易碎品,加大了其使用的不安全与不保险性。此外,其使用还受天气原因的限制,适用范围狭窄,导致太阳能热水器行业的发展目前还存在很多障碍;燃气热水器由于以天然气为燃料,而燃料供应量有困难,且国家对其使用年限有规定,适合在低气价地区使用,来满足人们的需求,且不利于环境;人们在选择热水器时,除了要安全可靠和美观耐用外,一次性购机费和经常性开支(能耗)也是人们考虑的重要环节,其中经常性开支有时比一次性购机费更能左右用户的选择,因此如何来降低热水器的能源消耗,使用户能以最小的代价获得更大的收益,这是一个大多数用户十分关心的问题。随着人们生活水平的不断提高、日益增长的需求和电网供电能力的加强,越来越多的家庭选用电热水器,电热水器使用安全、卫生、又无污染。今后几年我国电热水器市场将呈现强劲增长势头,其产品质量、技术水平、服
辽宁科技大学本科生毕业设计 第3页
务规范将不断提升,价格也会下降。而且全国电网的改造、电的普及、电价的大幅度下调,以及用电设施的改善,均为电热水器的迅速普及提供了便利、必要的条件。电热水器是家庭、公用住宅、小型饭店、宾馆酒店理想的配套服务设施。相信今后几年我国电热水器市场仍将会迅猛发展。
1.3 国内外发展情况
家用电热水器在国外使用相当广泛,尤其是在欧美和东南亚地区。当前,热水器已经成为日常生活中不可缺少的家用电器,设计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂家不断追求的目标,它具有体积小,使用安全,安装方便等优点。前些年,家用电热水器产品在国内市场上曾经出现过一段时间,由于当时国内电力条件不成熟,对大功率的电产品一般无法正常使用,也没有好技术和科技来保证其产品质量与使用的安全,种种因素限制了其在国内的发展。近几年来,随着人们生活水平的不断提高,国家电网改造和相关规定的出台,电力工业迅速发展,预示了家用电热水器产品在国内的广泛前景。根据国家住宅设计规范现有商品住房的电器线路导线必须采用铜芯线,每套住宅进线截面积不小于10平方毫米,分支引线不得小于2.5平方毫米,电表规格不得小于40安,所以现购新标准住宅用户,都有条件使用上述这种安全、家用电热水器,确保产品万无一失,安全系数达100%,通过检测,快热式家用电热水器比传统的热水器可节省40%的能耗,用多少热水就加热多少热水,没有热水用不完的浪费和使用中途热水供应不足的现象,热水利用率100%,因为它既不需要提前预热,也不需保温,省去了大量的额外开支,给用户带来真正的实惠。即热式产品作为新型环保产品在我国广泛使用已是大势所趋,符合现代消费潮流。一切迹象都在预示着快热式家用电热水器的春天就要来临了。
1.4 即热式电热水器与普通电热水器的区别
普通电热水器有如下缺点:
1.热水器长期通电,长期保持在六十度以上高温,发热管易结垢,内胆易漏水,因而较易损坏;
2.管道热水、热量损耗大; 3.等候用水时间长;
辽宁科技大学本科生毕业设计 第4页
4.在热水流出前都必须浪费一定量的热水,根据管道的长短,一般家庭中冷水损耗量大,基本可达10-25升每次。
而快热式电热水器克服了上述缺点。它有很多优点,如:安全,干净环保;即开即热,3-5秒出热水无需等候,热水使用时间不受限制,想用多少就用多少;用多少烧多少,省电省水,没有损耗;内置温控仪保证温度在30-50度之间,解决温度持续高温导致的结垢漏水问题。
体积小不占空间,其中封闭式(尺寸为:24cm*9.5cm*25cm,类似25*25的卫生间地砖那么小,纯白色。)可以隐藏在橱柜内,安装方便,特别适合新装修的房子,款式多样,美观实在,也是职工福利和客户礼品的绝佳选择。特别方便于洗涤和洗漱,是为现代家具厨房洗涤、卫生间洗漱专业设计生产的快速电加热热水器,结合了燃气热水器、太阳能热水器和传统储水式电热水器的诸多优点。
1.5 设计要求
1.用2位数码管显示出水温度,能显示设定功率档位。 2.温度检测显示范围为00~99℃,精确度为±1℃。
3.设置3个功率档位指示灯,1~4档1个灯亮,5~8档2个灯亮,9档3个灯亮。0档无功率输出,档位灯不亮。
4.设置3个轻触按钮,分别为电源开关、“+”键和“-”键。加热功率分0~9档;按“+”键依次递增至9档,按“-”键依次递减至0档。0~9档功率依次为0、1/9P、2/9P、3/9P、4/9P、5/9P、6/9P、7/9P、8/9P和P[1]。
5.出水温度超过65℃时停止加热,并蜂鸣报警,温度降到45℃以下时恢复。 6.内胆温超过105℃时停止加热,防止干烧。
1.6设计内容
本设计的设计内容包括硬件部分和软件部分的设计。硬件部分分为元件选择和电路的设计,元件选择包括单片机、电源、键盘、显示器、驱动及加热控制元件、温度检测传感器等的选择;电路包括加热控制电路、过零检测电路、温度检测电路、LED数码管及指示灯电路、报警器驱动电路。软件部分的设计即系统程序流程的设计,包括主程序的设计、显示扫描子程序的设计、按键扫描处理子程序的设计、加热控制程序流程图的
辽宁科技大学本科生毕业设计 第5页
设计、温度检测程序的设计和频率测试程序流程图的设计等。
其中,软件编程采用C语言进行编写,因为C语言在功能上、结构性、可读性和可维护性上比汇编语言有明显的优势,Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点就是Keil C51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势[2]。也容易实现程序的模块化和结构化。此外关于快热式电热水器控制源程序在Keil u Vision2 V2.30(C51.exe V7.0)环境下调试。
辽宁科技大学本科生毕业设计 第6页
2 快热式电热水器的硬件设计
根据设计要求,系统的组成框图如图2.1所示,主要包括电源电路、单片机控制器、温度检测电路、按键输入电路、LED数码管及指示灯电路、报警电路和加热控制电路。对于快热式家用电热水器来说,硬件系统是它的最基本的框架,是系统的所有功能的基础。硬件的选择和所选硬件的性能对系统的功能实现以及系统的精度都有直接的影响,系统的设计成功与否很大程度上取决于硬件系统的设计。
温度检测 LED显示 按键输入 蜂鸣报警 单片机 电源 加热控制
图2.1 电热水器系统组成框图
2.1 硬件元件的选择与方案论证
2.1.1 单片机的选择
方案一:
我们知道8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还要另外购买其他的芯片,如A/D转换及定时/计数器(PWM)等芯片,从而造成成本较高,不适用。
方案二:
单片机51机的特点:①字长为8位。几乎绝大多数的单片机外围芯片都直接或间接的支持8位字长,这样可供它选择的余地相当大,这使得51单片机的应用达到了无孔不入的地步。②程序存储器与数据存储器分开。程序存储器和数据存储器的容量都是64KB。这样做的好处是可以尽可能使用大的存储器,无论是程序还是数据都是这样,
辽宁科技大学本科生毕业设计 第7页
在存储器价格日益低廉的今天,几乎可以用微不足道的价格换取相当可观的性能。③功能日益强大。现在程序存储器、数据存储器、掉电不丢失数据存储器、看门狗、A/D转换电路、驱动电路等都集中到一个芯片上。没有别的特殊要求,一个片子就能组成几乎十分完整的单片机系统。④软件上单片机的编制语言十分丰富。包括汇编语言、C语言、PLM,某些单片机甚至固化有解释型的BASIC语言,适应几乎所有人员的需要[3]。
因为89C51芯片内部有ROM,且芯片ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,由于89C51单片机成本低廉且工作可靠,采用12MHz的晶振。此外,89C51还可以工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU,而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟震荡停止,同时停止芯片内其他功能。所以我们选择了89C51作为系统微处理器。 2.1.2 电源的选择
方案一:
采用干电池,使用方便,安全可靠,但价格昂贵,且使用时间较短,所以不采用。 方案二:
由于89C51对电源要求不甚严格,+5V电源来源方便,且经稳压管稳压比较可靠,较经济实惠,所以采用此方案。 2.1.3 键盘的选择
方案一:
键盘选用行列式键盘,行列式键盘的接口方法,直接接口于单片机的I/O口上。键盘设置在行、列线的焦点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5V,被拉在高电平状态。但线路较复杂,价格较昂贵,不适用。
方案二:
独立式键盘是由若干个机械触点开关构成的,把它与单片机的I/O口线连起来,通过读I/O口的电平状态,如果按键不被按下,其端口就为一种电平,如果按键被按下,则端口就为另一种电平,即可识别出相应的按键是否被按下。独立式键盘有上拉电平和下拉电平两种接法,通常采用下拉电平接法,即各按键开关一端接低电平,另一端接单片机I/O口线,这是为了保证在按键断开时各I/O口线有确定的高电平[4]。
辽宁科技大学本科生毕业设计 第8页
本设计采用独立式按键,其是常用于需要少量几个按键的计算机控制系统。每个独立式按键单独占用一根输入端口线,各键的工作状态不会相互影响。采用轻触式独立小按钮,既实用又方便,因为本电路对键盘的要求不高,所以采用这种方案。 2.1.4 显示器的选择
LED数码管显示器可分为两种显示方式:静态显示和动态显示。 方案一:
LED数码管静态显示,多片七段译码器驱动显示,这不仅增加了成本,还需要占用单片机多个I/O口,也给电路的焊接带来了一定的困难,因此不选用这种方案作为显示模块。
方案二:
动态数码管显示一般用在需要多只数码管显示的场合,它采用分时的方法,让每只数码管轮流显示。采用动态显示可以大幅的降低硬件成本和电源的功耗。因为分时显示,某一时刻只有一只数码管在工作,显示驱动电路也可以分时复用。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线由另外的I/O口线控制。动态方式显示时各数码管轮流分时选通,要使其稳定显示必须采用动态扫描方式,即在每一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另外一位数码管,并送出相应的段码。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以数码管同时显示的感觉[5]。
在动态显示方式下电路设计简单,所以采用。 2.1.5 驱动及加热控制元件的选择
方案一:
对于加热功率的控制,最简单的方法是由若干不同功率的电热丝组合得到几种加热功率,但由于快热式热水器的加热功率较普通的大,且档位设置较多,用电热丝组合的方法需要几组电热丝和继电器,成本增高且工作可靠性降低,所以不用。
方案二:
通过一个继电器驱动,采用可控硅控制功率,能经受较高的功率,所以可以设置较多的档位,成本大大降低可靠性较高,而且电路简单,又控制方便,所以本方案采用。
辽宁科技大学本科生毕业设计 第9页
2.1.6 温度检测传感器的选择
温度检测的方法很多,有热电偶,热敏电阻,还有专门的集成测温传感器等。 方案一:
热电偶传感器是将温度变化转为电量变化的装置,它利用敏感元件的电磁参数随温度变化而变化的特性来达到测量目的。通常把被测温度的变化转化为敏感元件的电阻变化、电势的变化,再经过相应的测量电路输出电压或电流,然后由这些参数的变化来检测对象的温度变化。热敏电阻具有灵敏度高、体积小、较稳定、制作简单、寿命长、易于维护、动态特性好等优点。但有变化率非线性,不适合测量高温区等缺点。
方案二:
温度检测的方法较多,最经典的方法就是用热敏电阻(或热敏传感器)组成电桥来采集信号,再经放大、A/D转换后送单片机。目前比较先进的方法是采用专门的集成测温传感器(如DS18B20),直接将温度转换成数字信号传送给单片机。这种方法显然比较先进,但电路比较复杂,成本也比较高[2]。
方案三:
为了简化电路,降低成本,本文采用了温度/频率转化测温法,直接将温度信息转换成频率信号,用单片机测出频率的大小,从而间接测出温度值,温度/频率转换电路简单可靠,成本低廉。所以采用此方案。 2.1.7 供电线路的选择
快热式电热水器为了达到“快热”的效果,取消了储水罐,使冷水在进入加热管后立即被加热,这就要求加热管有较大的加热功率。家用电热水器一般采用方便、可靠的电热丝加热方法。根据热学及流体力学原理,结合实际实验室测试,可以得到水温与流量、加热功率之间的关系如表2.1所列。
表2.1中所列水温值和流量值可以满足大多数家庭用户使用要求。当最大的加热功率为7.5kW时,按220V供电计算,电流约为34A,所以要求专线供电。
辽宁科技大学本科生毕业设计 第10页
表2.1 水温与流量、加热功率的关系
水流量/(L/m)
功率/kW 温度/℃
2 2.5 3 3.5 4
4.5 5.5 6.5 7.5
47 54 62 70
42 48 54 60
36 41 46 51
34 38 42 46
32 36 38 41
注:进水温度为15℃,输入电压为AC220V。
2.1.8 传感器输出的放大电路的选择
方案一:
运算放大器LM324带有真差动输入的四运算放大器。该四运算放大器可以工作在低到3V或者高于32V的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。它的性能特点是保护输出、真差动输入级、底偏置电流为最大100mA、每封装含四个运算放大器、具有内部补偿的功能、共模范围扩展到负电源、行业标准的引脚排列、输入端具有静电保护功能。但用在本电路中接线较复杂,且价格昂贵,所以不用。
方案二:
采用74LS04作为输出放大电路的选择,它还可以作为驱动电路使用,74LS04是TTL电平反相器,使用较经济且性能也很理想,所以在本方案中采用。
2.2 系统硬件电路的设计
快热式热水器控制系统电路如附录图B所示。它由加热控制电路、过零检测电路、温度检测电路、数码管显示电路、报警器驱动电路等电路组成。
控制器采用成本低廉且工作可靠的89C51或其兼容系列的单片机,采用12MHz的晶振。89C51对电源要求不甚严格,电源电路采用普通的市电降压整流,然后经集成稳压器(7805)稳压输出+5V电压。按键采用轻触小按钮。显示电路采用两位共阳数码管,由两个三极管9012驱动。3个LED指示灯用于指示加热功率。报警电路采用5V的自鸣式蜂鸣报警器。
辽宁科技大学本科生毕业设计 第11页
2.2.1加热控制电路的设计
图2.2所示为加热控制电路原理图,电热丝的加热功率由双向可控硅控制,单片机
通过光耦给可控硅触发信号,控制可控硅的导通角从而控制电热丝的有效加热功率。而加热电阻通过发光二极管来显示加热与否,当加热时二极管发光,而不加热时二极管不发光,为了在关机和超温保护的状态下能可靠的关断加热电源,电路中加入了继电器来控制加热电源。其中串联在继电器线圈电路的熔丝为105℃的热保险丝,当温度超过105℃时,热保险丝会熔断,防止加热管干烧。与电热丝并联的LED发光管用来指示电热丝的工作状态。
图2.2 加热控制电路图
2.2.2 过压保护电路的设计
此电路通过变压器将220V交流电变为9V的交流电,然后经过桥式整流将其变为直流电,通过R2和R3进行分压,从而实现过压保护。
电路如图2.3所示。
辽宁科技大学本科生毕业设计 第12页
图2.3 过压保护电路图
2.2.3 温度检测电路的设计
温度检测电路如图2.4所示,温度/频率变换电路是利用反相器组成的RC多谐振荡器,其中的R24是一个热敏电阻,当温度变化时引起热敏电阻的阻值变化,因而电流发生变化,从而改变了振荡器输出的方波频率。所以通过频率值可以间接求得温度值。
该频率的估算可用如下公式:
f≈1.1RC (2.1) 它的电路图如图2.4所示。
图2.4 温度检测电路图
辽宁科技大学本科生毕业设计 第13页
2.2.4 数码管显示电路的设计
数码管显示电路的设计是采用双向共阳极串行接口电路,用来显示加热档位,直观性更强,亦可大大减少电源的功耗。它的电路图如图2.5所示。
图2.5 数码管显示电路图
2.2.5 报警器驱动电路的设计
电路图如图2.6所示。
图2.6 报警器驱动电路图
辽宁科技大学本科生毕业设计 第14页
3 快热式电热水器的软件设计
本设计的软件设计部分即为系统程序的设计。按快热式热水器的功能,系统程序必须实现显示扫描、按键扫描处理、加热控制和温度检测(包括超温报警)4项任务。51系列单片机实现多任务运行的方法就是分时复用,在程序设计时要相应地分配好各任务的CPU占用时间。对于以上几个任务稍加分析可以看出,显示扫描、按键扫描和加热控制任务相对而言有实时要求,而温度检测任务则可用定时(0.5~1s)实现。
3.1 主程序的设计
系统在上电复位后,先对温度寄存器、档位寄存器赋默认值,并进行清除超温标志,
设置定时器及中断系统的工作方式等初始化工作。
由于51系列单片机没有停机指令,所以可以利用主程序设置死循环反复运行各个任务。把有实时要求的子程序(显示扫描、按键扫描、加热控制)放在最内层的循环中,计算其运行一次占用的CPU时间,然后根据温度检测定时的间隔时间,计算出该循环的循环次数。本例中每运行一次有实时要求的子程序(即显示扫描、按键扫描、加热控制)约占用5 ms CPU时间,运行测温子程序的时间间隔为0.5s,那么循环次数应为100次。
图3.1所示为主程序流程图。
3.2 显示扫描子程序的设计
显示扫描子程序完成两位共阳数码管的扫描显示任务。 图3.2所示为显示扫描子程序流程图。
3.3按键扫描处理子程序的设计
按键扫描处理子程序负责逐个扫描档位“+”键、“-”键和开关键是否被按下,若有键按下,则作出相应处理。具体根据用户设定的加热档位和系统当前的状态,决定是否加热和控制加热的功率并点亮相应的指示灯。若有超温标志,还应打开蜂鸣器报警。这将在加热控制中介绍其处理过程。本设计所采用的按键开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,
辽宁科技大学本科生毕业设计 第15页
为了不产生这种现象,保证系统的可靠性,所以采取了按键消抖的措施[6]。
图3.3所示为按键扫描处理子程序流程图。
开 始 系统初始化 i=1 按键扫描 若有键按下 i=6 显示扫描 加热控制 N 完成100次循环 Y 温度检测 N --i=0? Y 刷新显示温度 图3.1 主程序流程图
开 始 赋位选初值 清除位选 送显示段码 选通并延时2ms 改变位选字 消 隐 完成2位N 扫描 Y 结 束
图3.2 显示扫描子程序流程图
辽宁科技大学本科生毕业设计 第16页
开 始 N “+”键按下? Y “-”键按下? 开关键按下? Y 发按键音、消抖 加热档位减1 关机,停止输出 N N 发按键音、消抖 加热档位加1 返回值1 Y 发按键音、消抖 返回值2 等待开关键 再次按下 开机,恢复工作 返回值0 结 束
图3.3 按键扫描子程序流程图
辽宁科技大学本科生毕业设计 第17页
开 始 N 有超温标志? Y 断开继电器 关闭可控硅 加热档位 蜂鸣报警 接通继电器 关闭蜂鸣器 不加热指示灯不亮 外中断控制加热1#指示灯亮 外中断控制加热1#、2#指示灯全功率加热指示灯全亮 结 束
图3.4 加热控制程序流程图
3.4 加热和控制程序流程图的设计
加热控制程序通过控制继电器的通断来决定是否给电热丝通电加热,而加热的功率大小则由双向可控硅的导通角决定。系统程序利用外中断INT1检测市电的过零点,检测到过零点后,立即根据设定的加热档位给定时器T1赋一个延时参数,并打开定时器T1,允许其中断。当定时器T1计数溢出后触发中断,T1中断程序就会给可控硅发一个触发信号,使其导通。
辽宁科技大学本科生毕业设计 第18页
图3.4所示为加热控制程序流程图。
图3.5和图3.6所示分别为过零检测程序图和可控硅触发信号控制程序流程图。
开始 (过零信号) 开始 (T1中断) 输出可控硅导通信号 根据设定档位给定时器T1赋延时参数 关闭定时器T1中断 终止定时器运行 允许定时器T1中断 延时,保证导通信号有足够的宽度 打开定时器T1 结束可控硅导通结 束 结 束
图3.5 过零检测程序流程图 图3.6 可控硅触发信号控制程序流程图
3.5 温度检测程序的设计
温度检测程序的基本原理就是将温度/频率转换电路测得的频率与事先建立好的温度/频率表进行比较,查找出与该频率相应的温度值。在实验测试后建立的温度/频率表是0~100℃温度所对应的频率值。它是一个频率对应于温度递减的非线性函数,在C语言中用一个一维数组Tab[101]来表示,下标为温度,数组元素为频率值。计算温度采用高效、准确的二分查找法。查表的过程如下:
1.先给定查找的温度最大值Tmax和最小值Tmin,即确定查找的范围,根据已有的温度表默认最大值Tmax=100,最小值Tmin=0。
辽宁科技大学本科生毕业设计 第19页
2.假定测得温度Temp为最大值与最小值的中间值,即Temp=(Tmax+Tmin)/2。 3.将实际测的频率值T0rig与假定温度Temp在表格中对应的频率Tab[temp]相比较,如果相等,那么假定温度就是当前实际温度,即完成查找。
4.若T0rig> Tab[temp],说明实际温度应该在Tmin与Temp之间(因为递减函数特性),则修改查找范围,令Tmax=Temp;同理,若 T0rig 温度检测程序完成温度计算后,便刷新系统当前温度寄存器,并判断有无超温、置位或消除相应的标志位[7]。 图3.7所示为温度检测程序流程图。 3.6频率测试程序的设计 单片机使用外中断INT0和计数器T0检测输入频率的大小。为了减少测量的系统误差相对值和随机误差对测量精度的影响,程序中取100个方波周期的和作为测量结果。程序中使用静态变量px0count进行外中断的计数,在测量开始时,给px0count赋值2是为了让频率测量有准确的起点。 另外,为了区分测频的开始和结束,还使用了测频开始标志位T0tst和测频完成标志位Testok。 图3.8所示为频率测试程序流程图。 辽宁科技大学本科生毕业设计 第20页 开 始 刷新当前寄存器 打开测频外中断 Temp>65? 等待测试完成 Y Tmin=0,Tmax=100 Temp=(Tmin+Tmax)/2 N T0rig==Tab[temp]? N N Temp<45? Y 置位超温标志 清除超温标志 Y T0rig>Tab[temp]? N 结 束 Y Tmax=Temp Tmin=Temp N Tmax-Tmin<=1? Y T0rig接近Tab[max]? Y Temp=Tmax N Temp=Tmin 图3.7 温度检测程序流程图 辽宁科技大学本科生毕业设计 第21页 开始 (X0中断) --px0count==0?? Y N N 是起点? Y 停止计时器T0 清除测频起点标志 px0count=100 计时器T0清0 启动计时器T0 停止测频外中断 置位测频完成标志 结 束 图3.8 频率测试程序流程图 辽宁科技大学本科生毕业设计 第22页 结论 本次设计的快热式家用电热水器采用51系列单片机对电路进行简单的控制,系统的稳定性比较高。本方案着重体现在速度之快上,它采用双向晶闸管(即可控硅)对加热电路进行控制,这样系统的可靠性就大大增强,因为晶闸管能够根据门极电压可靠的接通和断开,而且采用发光二极管来及时的检测电路的加热情况。而设计的另一个优势还在于它采用了温度/频率检测电路,通过电路频率的变化及时的反映当时的温度变化,这样就避免了因为热敏电阻的变化不能及时的传给单片机而带来的滞后问题。频率的变化受到外界的干扰要远远小于电阻变化所带来的干扰,而且完全不涉及非线性造成的温度过高时造成的错误,因此准确性,可靠性都得到了大大提高。 在设计中还采用了两位共阳数码管来反应功率档位,通过它们的亮灭数量输出加热功率,及时的提醒使用者当时的水温变化情况,更加清晰,也能减少功耗。而在设计中还采用了轻触式按钮来调节功率的档位,其中按“+”按钮时逐渐增加功率档位,而按“-”按钮时逐渐减小功率档位,还有一个是控制电源开关的通断,即总开关。设计中还采用报警器来及时的反应温度是否超标,提示操作者是否继续加热热水器。 尽管这次设计中我还不能做到尽善尽美,一些内容还是有待于进一步的研究,因为毕竟我们的知识有限,而且以前还没有接触过单片机的具体设计与深入研究,但为了这次论文设计,我还是看了不少资料,特别是很多有关单片机设计的书籍,再加上我们学习了一些理论知识,开拓了我的视野,使我亲身了解到了单片机的用处是如此的广泛。在设计中我遇到了很多困难,让我对一些生疏的知识有了温习与巩固,对其有了更加深刻的了解,比如二分查找算法。 在本次课程设计中,我真正了解到实践与理论相结合的重要性,以前总是在头脑中产生一些想法,却从来没有机会去认真的研究它,以至于不知道结果是成功还是失败,但通过这一次毕业设计终于可以使我通过自己的努力与导师及同学的帮助亲自完成了一个设计,虽然成果难免有不足之处,但终究是亲自动手去做的,收益是可想而知的。 辽宁科技大学本科生毕业设计 第23页 致谢 时光荏苒,四年的大学时光即将结束,在这里,我首先要感谢我的导师赫健老师,本文在大纲的确定,初稿的完成以及最终定稿,都有赖于赫健老师的悉心指导。在设计过程中,赫健老师一直给我很大的帮助,帮我分析遇到的困难,支持、鼓励我解决问题的信心,使我的设计得以顺利完成。此外,我还要感谢电信学院的各位老师,感谢他们传授我知识以及对我的关怀与鼓励。最后感谢对我有帮助的同学,谢谢他们给我的照顾与关心。 我深深的知道,几句简单的话语根本无法表达对你们的感激之情,只有在心里默默的祝福我的老师、同学们,祝你们一生幸福安康! 辽宁科技大学本科生毕业设计 第24页 参考文献 [1]郇玉龙,赵宁,卢洪武.用AT89C51单片机设计智能家用电热水器[EB/OL].http://www.do cin.com/p-17343095.html. [2]汤竞南,沈国琴.51单片机语言开发与实例[M].北京:人民邮电出版社,2008,20-38,138-14 3. [3]韩成.拿来就用单片机[M].北京:人民邮电出版社,2008,1-5. [4]马长林,陈怡,程利民.单片机实践应用与技术[M].北京:清华大学出版社,2008,209. [5]田立,田清,代方震.51单片机C语言程序设计快速入门[M].北京:人民邮电出版社,2007, 153-165. [6]张友德,赵志英,涂时亮.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2006,294. [7]耿国华.数据结构:C语言描述[M].北京:高等教育出版社,2005,250-253. 辽宁科技大学本科生毕业设计 第25页 附录A 控制源程序清单 以下是快热式电热水器控制源程序清单,采用C51编写,在Keil u Vision2 V2.30(C51.exe V7.0)环境下调试通过,并下载到AT89C51测试运行成功。 /*--------------------------------------------- 快热式热水器程序 MCU AT89C51 XAL 12 MHz ------------------------------------------------*/ #include void delay(unsigned int); //延时函数 void display(void); //显示函数 unsigned char keyscan(void); //按键扫描处理函数 void heatctrl(void); //加热控制函数 void temptest(void); //测温函数 sbit swkey=P1^0; //开关键 sbit unkey=P1^1; //加热档位“+”键 sbit downkey=P1^2; //加热档位“-”键 sbit buzz=P1^5; //蜂鸣器输出端 sbit triac=P1^6; //可控硅触发信号输出端 sbit relay=P1^7; //继电器控制信号输出端 sbit led1=P2^5; //加热档位指示灯1 sbit led2=P2^6; //加热档位指示灯2 sbit led3=P2^7; //加热档位指示灯3 signed char data ctemp; //当前测得水温寄存器 unsigned char data dispram[2]={0x10,0x10}; //显示区缓存 unsigned char data heatpower,px0count; //加热档位寄存器、外中断0计数器 bit tempov,t0tst,testok; //超温标志、测温开始标志、测温完成标志 /*---------------------------------------------- 辽宁科技大学本科生毕业设计 第26页 主函数 void main(void) 无参数,无返回值 循环调用显示、键扫描、温度检测和加热控制函数 ---------------------------------------------*/ void main(void) { Unsigned char i,j; ctemp=15; //初始化水温寄存器 heatpower=5; //初始化加热档位为5档 tempov=0; //清除超温标志 swkey=0; //默认开关键被按下,进入待机状态 TMOD=0x11; //设定T0和T1工作方式为16位定时器 TCON=0x05; //设置外中断0和1为下降沿触发 IP=0x01; //设置外中断0优先 IE=0x80; //打开总中断 While(1) { i=1; do{ for (j=0;j<100;j++) //循环100次约0.5s { if(keyscan())i=6; //如果有键按下,则显示当前档位3s display(); //调用显示函数一次约4ms heatctrl(); //调用加热控制函数 }//end for (b=0;b<100;b++) temptest(); //没0.5s进行一次测温 }while(--i); //通过改变循环次数i的大小决定是否刷新显示 j=abs(ctemp); //取温度绝对值 dispram[1]=j%10; //取个位数送显示 辽宁科技大学本科生毕业设计 第27页 j/=10; //取十位数 dispram[0]=j? j:0x11; //送显示(带灭零) }//end while (1) } /*--------------------------------------------- 延时函数 void delay(unsigned int dt) 参数:dt,无返回值 延时时间=dt×500机器周期 ---------------------------------------------*/ void delay(unsigned int dt) { register unsigned char bt; //定义寄存器变量 for(;dt;dt--) for (bt=250;--bt;); //此句编译时以“DJNZ”实现,250×2=500机器周期 } /*--------------------------------------------- 显示函数 void display(void) 无参数,无返回值 两位共阳数码管扫描显示 ----------------------------------------------*/ void display(void) { Unsigned char code table[]={0xc0,0xf9,0xa4,0xbo,0x99,0x92,0x82,0xf8,0x80,0x90,\\ 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff}; unsigned char i,a; a=0xfe; //位选赋初值 for(i=0;i<2;i++) //循环扫描两位数码管 { P2|=0x1f; //清除位选 辽宁科技大学本科生毕业设计 第28页 P0=table[dispram[i]]; //送显示段码 P2&=a; //选通一位 delay(4); //延时2ms a=_crol_(a,l); //改变位选字 P0=0xff; //消隐 } } /*------------------------------------------------ 按键扫描处理函数 unsigned char keyscan(void) 无参数,返回值:无符号字符型,无键按下为其他 影响全局变量:heatpower -----------------------------------------------*/ unsigned char keyscan(void) { unsigned char i,ch; if(upkey==0) //“+”键 { buzz=0; //打开蜂鸣器(发出按键音) for(i=0;i<5;i++)display(); //延时消抖 buzz=1; //关闭蜂鸣器 if(heatpower<9) heatpower++; //档位加1 dispram[0]=0; dispram[1] =heatpower; //显示当前档位 while(upkey==0)display(); //等待键释放 return(1); //返回有键按下 } else if (downkey==0) //“-”键 { buzz=0; //打开蜂鸣器(发出按键音) 辽宁科技大学本科生毕业设计 第29页 for(i=0;i<5;i++)display(); //延时消抖 buzz=1; //关闭蜂鸣器 if(heatpower>0) heatpower--; //档位减1 dispram[0]=0; dispram[1]= heatpower; //显示当前档位 while(downkey==0) display(); //等待键释放 return(2); } else if (swkey==0) { buzz=0; for(i=0;i<30;i++) display(); buzz=1; swkey=1; while(swkey==0) display(); ch= IE; IE=0x00; P0=0xff; P1=0xff; P2=0xff; dispram[0]=0x10; dispram[1]=0x10; display(); while(1) { while (swkey) display(); buzz=0; for(i=0;i<10;i++) display(); buzz=1; //返回有键按下 //开关键 //打开蜂鸣器(发出按键音) //延时消抖 //关闭蜂鸣器 //职位开关键 //等待键释放 //暂存中断控制字IE //禁止中断 //清除端口输出 //显示“--” //等待开关键按下 //打开蜂鸣器(发出按键音) //延时消抖 //关闭蜂鸣器 辽宁科技大学本科生毕业设计 第30页 if (swkey==0)break; //确认开关键被按下 } while (swkey==0) display(); //等待键释放 IE=ch; //还原中断控制字IE return(0); //返回无键按下 } else return(0); //无任何键按下时由此返回 } /*-------------------------------------------------------- 加热控制函数 void heatctrl(void) 无参数,无返回值 判断是否有加热、加热功率及档位指示灯处理 -------------------------------------------------------*/ void heatctrl(void) { if(!tempov) //当没有超温标志时 { relay=0; //接通继电器 buzz=1; //关闭蜂鸣器 switch(heatpower) //判断加热档位 { case 0: {EX1=0;ET1=0;triac=1;led1=1; led2=1; led3=1;break;} //0档不加热,指示灯不亮 case 1: case 2: case 3: case 4: {led1=0; led2=1; led3=1;EX1=1; break;} //1~4档1号指示灯亮 case 5: 辽宁科技大学本科生毕业设计 第31页 case 6: case 7: case 8:{ led1=0; led2=0; led3=1; EX1=1; break; } //5~8档1号、2号指示灯亮 case 9:{ EX1=0;ET1=0; led1=0;led2=0;led3=0;triac=0; break; } //9档全功率,指示灯全亮 } } else //当有超温标志时 { relay=1; //断开继电器 EX1=0;ET1=0; triac=1; //关闭可控硅 buzz=0; //蜂鸣报警 } } /*----------------------------------------------------------- 测温函数void temptest(void) 无参数,无返回值 影响全局变量:ctemp和tempov 测量并查表计算温度,判断是否超温 ------------------------------------------------------------*/ void temptest(void) { signed char temp, tempmin, tempmax; unsigned int t0rig; unsigned int code temptab[]= {0x6262,0x61eb,0x6171,0x60f7,0x6047,0x5ff7,0x5f6e,0x5eef,0x5e53,0x5dbe,\\ 0x5d4b,0x5ca5,0x5c17,0x5b6b,0x5ada,0x5a5c,0x599b,0x58ff,0x5869,0x57b0,\\ 0x570d,0x5663,0x55c6,0x550e,0x5444,0x5396,0x52dd,0x5240,0x5189,0x50b0,\\ 辽宁科技大学本科生毕业设计 第32页 0x5005,0x4f20,0x4e69,0x4db1,0x4cef,0x4c42,0x4b64,0x4aaa,0x49e1,0x48fc,\\ 0x4847,0x476c,0x46b1,0x4604,0x4503,0x4449,0x4356,0x4299,0x41c0,0x40ce,\\ 0x3ff0,0x3f2b,0x3e33,0x3d86,0x3ca6,0x3bd2,0x3b26,0x3a39,0x3973,0x38a6,\\ 0x37ef,0x373f,0x3687,0x35c3,0x3507,0x3487,0x33bc,0x32ed,0x324f,0x319e,\\ 0x3106,0x3053,0x2fa6,0x2f2a,0x2e88,0x2e00,0x2d63,0x2cd6,0x2c65,0x2bae,\\ 0x2b28,0x2a97,0x2a07,0x298e,0x2914,0x287a,0x280d,0x278a,0x2703,0x2687,\\ 0x2626,0x25e5,0x256d,0x24ee,0x2489,0x2414,0x23bc,0x2356,0x22d9,0x2278,\\ 0x2203}; //温度频率表 px0count=2; //测频中断函数参数 t0tst=1; //置测频程序开始标志 EX0=1; //打开测频外中断 testok=0; //清除测频程序完成标志 while(!testok)display(); //等待测试完成 t0rig=(unsigned int)TH0<<8|TL0; //字节合成字 tempmin=0; //以下是二分查表法计算温度值 tempmax=100; //tempmin和tempmax为温度表的范围 while(1) { temp=( tempmax+tempmin)/2; //假定当前温度为最大值与最小值之间的中间值 if(t0rig==temptab[temp])break; //若实际值等于假定值,则结束查找 else if (t0rig>temptab[temp])tempmax=temp; //若实际值大于假定值,则减小查找范围的最大值 else tempmin=temp; //若实际值小于假定值,则增大查找范围的最小值 if(tempmax-tempmin<=1) //若查找范围已缩小到1 { //判断实际值更接近哪个端点 if(temptab[tempmax]+ temptab[tempmin]>2* t0rig) temp= tempmax; //接近最大值,取最大值 else temp=tempmin; //接近最小值,取最小值 辽宁科技大学本科生毕业设计 第33页 break; //结束查找 } } ctemp=temp; //刷新当前温度寄存器 if (temp>65)tempov=1; //当温度超过65℃时,置位超温标志 else if(temp<45) tempov=0; //当温度回落到45℃以下时,清除超温标志 } /*----------------------------------------- 测温频率测试函数 void tempfrequency(void) 使用外部X0中断,寄存器组1 测出温度/频率转换电路的频率 ----------------------------------------*/ void tempfrequency(void)interrupt 0 using 1 { if(--px0count)return; //找齐起点或计数 if(t0tst) //若是起点 { t0tst=0; //清除测频开始标志 px0count=100; //取100个方波为一次测频 TH0=0; TL0=0; //清除计时器T0 TR0=1; //开始计时 } else //若是终点 { TR0=0; //停止计时 EX0=0; //停止测频外中断 testok=1; //置位测频完成标志 } 辽宁科技大学本科生毕业设计 第34页 } /*---------------------------------------- 加热控制过零检测函数 void pass0(void) 使用外部X1中断,寄存器组2 检测过零点,给定时器T1赋初值 ---------------------------------------*/ void pass0(void)interrupt 2 using 2 { Unsigned char code powertab[]={0xd8,0xf0,0xe2,0x63,0xe5,0x25,0xe8,0x3e,0xeb,0x16,0xed,0xda,0xf0,0xb2,0xf3,0xcb,0xf7,0x8d,0xf7,0x8d}; //10个功率档位的可控硅导通角延时参数表 TH1=powertab[2*heatpower]-1; TL1=powertab[2*heatpower+1]; //市电过零后,根据当前设置的档位给定时器T1赋延时参数 ET1=1; //允许定时器T1中断 TR1=1; //打开定时器T1 } /*------------------------------------- 可控硅触发信号控制函数 void triacctrl(void) 使用定时器T1中断,寄存器组3 向可控硅送出触发信号 ------------------------------------*/ void triacctrl(void)interrupt 3 using 3 { register unsigned char i; triac=0; //输出可控硅导通信号 ET1=0; //关闭定时器T1中断 TR1=0; //终止定时器运行 for(i=0;i<2;i++) //延时,保证导通信号有足够的宽度 辽宁科技大学本科生毕业设计 第35页 triac=1; //完成可控硅导通信号 } 1220V/9VC50.1μF2IN4007×4C71000μF/16VR21MΩC9470μF/10VC60.1μFATitle3GND 2C3U53133ρF19X1Y112MHz18X2DC49RESETEA/VP200Ω×8DS1DS2+5V3456P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.73938373635343332DPYaabcfbgdeecdfdpgdpDPYaabcfbgdeecdfdpgdpR11R12R13R14R15R16R17R1812345678123456781+5VC21μFU3BD43C833ρF8.2kΩR54.7KΩ9012R104.7KΩ9012R9Q4Q310μF共阳共阳74LS04+5VU3CU3AR2456R41212131415INT0INT1T0T1t°74LS041kΩ100Ω74LS04P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.72122232425262728C10.056μF+5VS112345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RDWRPSENALE/PTXDRXD17162930111089C51S2S3R19LED2510ΩR20LED3510ΩR21LED4510ΩR64.7KΩ4.7KΩR23Q59012附录B 系统总设计原理图 CCR7510ΩR22U5R82KΩ/1WMOC3023K1Q6BTA418BD6IN4007LED1R25heeter20KΩ/2W9012+5VQ2U45V辽宁科技大学本科生毕业设计 BU3DR1+5V910KΩ74LS04D2~D5D11VinVoutIN40073U17805+5VT1F1FUSE220V42R310KΩQ18050A基于单片机控制的快热式家用电热水器的设计SizeBDate:File:7-Jun-2011 F:\\毕业论文设计\\MyDesign.ddbSheet of Drawn By:Number120073101011Revision电信自动化07.1 马传豪 345612第36页 因篇幅问题不能全部显示,请点此查看更多更全内容