资源描述
JIU JIANG UNIVERSITY毕 业 论 文 (设 计)姓 名 黄火亮 学 号 21113050322 题 目 单片机控制的智能家用电 热水器 学 院 机械与材料工程学院 专 业 机电一体化 班 级 B1123班 指导教师 胡云堂 二零一三年十一月摘 要本次设计采用ATMEL公司生产的AT89S51芯片作为智能电热水器的控制芯片,对该芯片的引脚和功能做了详细的介绍。在硬件系统设计方面,对电源电路、键盘接口电路、报警电路、模数转换电路、温度检测电路,水位检测电路等进行了分析和设计。在软件设计方面,采用汇编语言程序编程,汇编语言易于为单片机所识别,而且执行速度快。本次设计所用到的芯片主要有AT89S51,74LS377,DS18B20,ADC0809等。该智能电热水器设计完善,设计方案简单易行,采用软件设计控制,可以实现智能检测水位及水温,智能加热,并且提高整机的可靠性和准确性。关键词:单片机 智能 控制ABSTRACTAT89S51 single-chip microcomputer is a production of ATMEL corporation ,I use it to control intelligent electric water heaters .I also introduce its pin and function in detail . The hardware system consist of power circuit ,keyboard interface circuit ,alarm circuit ,analog-to-digital conversion circuit ,temperature testing circuit and water level detection circuit .I analysis and design them .When I begin to design the software system ,I use assembly language to write program .The assembly language is easy to be distinguished by single-chip microcomputer ,and the execution speed is fast .This design used some chips ,including AT89S51 , 74LS377 , DS18B20,ADC0809 and so on .This design is perfect ,simple and easy .Using software to control the intelligent electric water heater to achieve the goal of detecting water temperature and level ,it can improve reliability and accuracy of the system .Keywords: single-chip microcomputer, controller, intelligence 目 录第1章 绪论1.1 热水器的发展现状1.2 国内外电热水器的研究成果1.3 设计初步探讨第2章 硬件系统设计2.1 方案的比较和选取2.2 系统总体框图设计2.3 硬件系统设计2.3.1 电源电路2.3.2 AT89S51功能及特性介绍2.3.3 水位检测电路2.3.4 漏电检测电路 2.3.5 温度检测电路2.3.6 键盘/显示接口电路2.3.7 模数转换电路2.3.8 发声电路第3章 系统的软件设计3.1 主程序流程框图3.2键扫描子程序流程框图3.3显示子程序流程框图3.4 运行程序流程框图3.5 软件仿真结论致谢参考文献附录1 系统程序清单附录2 系统整体原理图第1章 绪论1.1 热水器的发展现状我国城镇居民家庭中使用的热水器以电热水器为主,占各类热水器总量的60以上。以前风光无限的燃气热水器开始慢慢退出市场,市场份额仅剩不足20;新兴的太阳能热水器虽然受到安装条件的限制,但其安全、环保的性能广受消费者青睐,发展态势迅猛,市场占有率已达到15左右。于安全方面的考虑是城镇居民更多选择电热水器和太阳能热水器的主要原因。时下的商品房通风效果并不好,燃气产生的污染无法及时消除,而电热水器和太阳能热水器则基本没有这方面的忧虑。三大热水器:燃气热水器廉颇老矣;电热水器风头正劲;太阳能热水器后劲十足。电热水器的优点:易安装,不受天气的影响,不受楼层和供水管道的限制,投入小。随着技术进步和新品的开发,下置式、嵌入式等多种安装形式的电热水器先后上市,彻底摆脱了房间空间的限制。中央供水和数码智能的电热水器也已进入市场。电热水器的安全问题涉及到消费者的生命,又加上近些年的能源危机,人们生活节奏的加快,智能化电热水器越来越受到消费者的青睐。在当今社会,科技日新月异,热水器技术飞速发展,越来越多的科技成果被运用到热水器的制造中。如今的热水器产品已经绝对不是一个简单的加热器,而是科技含量高的现代化家电产品。随着我国人民生活水平的逐渐提高,其生活条件有了很大的改善,智能化电器在人们日常生活中占有比重越来越大,与家庭生活密切相关的热水器品种层出不穷,花样翻新。正是在这样的背景下,本设计选择基于AT89S51单片机的智能电热水器的设计研究。本选题目的是基于人们对现代家庭舒适、便利、安全以及多元化信息服务的需要,基于AT89S51单片机设计具有智能特征的电热水器控制器。选用AT89S51单片机作为控制芯片,就是为了实现电热水器的智能化,持续稳定的热水供应,自动断电的安全功能,使人们洗浴时能放心享受,利于人们的身体健康,其务实性能快速满足人们对现代生活快节奏的需求。1.2国内外电热水器的研究成果热水器内胆最为关键,如果内胆损坏就意味着整台机器的报废。与其他家用产品不同的是,电热水器没有必要进行频繁升级换代,出于安全性和经济性的考虑,热水器的耐用性才是厂商需要绞尽脑汁考虑的。空调的核心是压缩机,电扇的核心是电机,热水器的核心是内胆,从一定意义来说,内胆的品质就代表了热水器的品质。目前的内胆技术纷繁复杂,但究其本质目标是一样的:保温、耐压、不生锈、无水垢、不渗水。市场上常见的内胆类型有搪瓷内胆、不锈钢内胆、钛金内胆、金圭内胆等。搪瓷内胆抗疲劳性差,不锈钢内胆焊缝容易漏水,目前比较先进的内胆主要是钛金内胆。 除了对耐用性的不懈追求,智能化技术运用是今后技术发展的一个普遍趋势。燃气热水器设有自动恒温控制,停气自动关机,超水温泄压等安全保护功能,即使临时停气,仍有储存的热水使用。智能化技术的运用有两个好处:一是更方便,二是更节能。按照用户的使用习惯提前预先加热,让使用者随时享用热水。而在非用水时间则启动中温保温程序,根据设定温度计算出最节能的保温温度,减小热水器内外温差,因而大大减少保温加热次数,真正做到不拔插头更省电。在节能上冰箱等家电产品已经走在了前面,热水器这种用电量很大的产品更加应该推进节能技术的普及。对于传统的电热水器行业而言,要想出现本质性的突破几乎是不可能的,而在功能上不断提升,抓住人性化需求,却是一条可行之路。而事实也正是如此。阿里斯顿、比利奇、史密斯、海尔、美的争先恐后推出了超大液晶屏、电子线控、超薄时尚、双管加热、漏电保护器、防电墙、多口出水等新技术,尤其是海尔,甚至在电热水器上增加了按摩功能,专门的喷雾按摩喷嘴,让消费者可以足不出户就感受按摩的快乐。西门子智能电热水器,采用德国新电脑温控技术,确保出水温度均匀恒定,使沐浴成为真正的享受。西门子家电集团采用西门子在电站技术上的强大防漏电安全技术为基础,开发出独有的ELCB德国安全专家模式功能。除具有正常的防漏电装置外,还具备安全电流自我检测功能,随时检测防漏电系统是否正常工作,双重保险将个体与电源完全分开,杜绝意外发生。樱花IMES智能记忆节能系统,突破了传统单时段节能模式,提供了独一无二的三时段定时预热和七种供水模式,其工作过程“聪明伶俐”,它不断自动存储、分析主人近一个月用水的具体数据,以最经济的模式提前为主人准备热水,真正实现全天候节能供水。特别是还具备体贴的停电数据保留功能,就算停电48小时,也能自动记忆所有参数,让主人毫无后顾之忧。全新的智能中温保温功能,彻底弥补了传统中温保温的缺陷,根据设定水温、环境、季节的不同,自动选择最节能的保温状态,避免固定中温技术大幅度温差造成不必要的浪费,缩短加热时间,切实做到省电节能。配合特有超厚高密度聚氨脂发泡层,节能指标全面达到国家专业标准,当然倍受信赖。完美的节能系统整合,把IMES智能记忆作为系统节能的核心,将各种节能的细节整合到尽善尽美,智能记忆与自动加热技术的融合应用,自动加热、实时加热、定时加热三种工作模式任意选择。 就中国的具体情况而言, 其研究成果虽稍逊于国外,但是学者们也在努力寻求技术的突破,比如海尔就走在了同行的前面。近日,海尔推出了一款全新产品银海象A6智能专家,成为国内第一款具备记忆和计算能力双重智能的热水器。能记是A6的最大特色。它独有的断电自动记忆功能,即使突然停电,系统也会将之前设置的参数自动保存,从而在来电开机时仍保持原有设计,无需重新设置,方便简单。 会算是A6的又一特色。许多热水器也有预约功能,但预约的都是加热时间。用户一般不知道该提前多长时间加热,因此不是早了就是晚了。而A6产品只需设定好你的洗浴时间即可。它会自动根据当前的室温及水温计算好所需的加热时间,并自动提前加热,从而可以最大限度的减少用电损耗。 除了能记会算,A6的外观也独具一格。它使用LED超大显示屏,清晰明了;同时,A6引入无线智能遥控技术,不仅使热水器安装彻底摆脱了高度的限制,操作更自由方便。另外,A6采用了下倾式控制面板,实现半隐藏式安装,使浴室装修更完美。 此外,A6的节能效果同样出色,智能预约、中温保温、分层加热等让您省钱到家。实验证明,仅中温保温一项技术,就能在24小时内节能约0.33度。如深圳市明佳实业发展有限公司获得了19项热水器发明专利的授权。在热水器研发中模拟大自然中的负离子功效,利用热水器的电能、空气气压、水压形成的势能和动能,作用于空气或水中的水分子使其发生破裂,使空气中带负电荷的氧分子和微小的水分子结合,生成大量的负离子。1.3设计初步探讨目前市场上的电热水器有连续水流式,虽具有加热速度快和体积小的优点,但需要的功率大,大多数家庭供电线路难以承受。而且市场上传统的机械式电热水器控制功能不完善,而且精度低、可靠性差,因此电热水器的智能化成为必然趋势。采用单片机来实现电热水器的智能化,主要是因为其采用面向控制的指令系统,实时控制功能特别强。CPU可以直接对I/O口进行输入、输出操作及逻辑运算,并且具有很强的位处理能力,能有针对性的解决由简单到复杂各类控制任务。单片机做为嵌入式应用的微型计算机,由于其出色的性价比,极强的实用性, 取得了巨大的发展。本课题是基于AT89S51单片机的智能电热水器的控制器的设计,要达到的控制要求有:l 设置四个数码管,两位数码管显示水温,两位数码管显示预设温度。l 水温检测显示范围为0099,精度为1。l 温度预设范围为3060,当检测温度低于预设温度1时,开始加热;检测温度高于预设温度1时,停止加热。l 设置3个程序按键:电源开关键:电源关闭时,加热元件断电,单片机系统正常工作。电源开启后,根据上次设定的温度(220V总电源不能关闭)自动进入工作状态。温度+键:每按一次该键,预设温度加1,长按该键(时间超过1秒以上),预设温度快速增加,当预设温度加到60时,按该键不起作用。温度键:每按一次该键,预设温度减1,长按该键(时间超过1秒以上),预设温度快速减小,当预设温度减到30时,按该键不起作用。l 报警设置:高温报警:当检测温度高于65时,自动报警。低温报警:当检测温度低于0时,自动报警。缺水报警:当储水箱内缺水时,自动报警。漏电报警:当热水器发生漏电情况时,自动报警。l 设置一个蜂鸣器,当热水器出现异常情况而报警时,由蜂鸣器发出报警声,并自动切断加热元件的供电。第2章 硬件系统设计2.1方案的比较和选取:l AT89S51的优越性:在AT89C51 基础上新增加的功能AT89S51性能有了较大提升,但价格基本不变,甚至比AT89C51 更低。ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。最高工作频率为33MHz, AT89S51 比AT89C51具有更高工作频率,从而具有了更快的计算速度。具有双工UART 串行通道。内部集成看门狗计时器, 不再需要像AT89C51 那样外接看门狗计时器单元电路。双数据指示器。电源关闭标识。全新的加密算法,这使得对于AT89S51 的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。兼容性方面:向下完全兼容51 全部字系列产品。比如8051、89C51 等等早期MCS-51 兼容产品。也就是说所有教科书、网络教程上的程序,在AT89S51 上一样可以照常运行,这就是所谓的向下兼容。l PIC16C72是美国微芯(Microchip)公司推出的8/11位单片机,采用宽字节单周期指令,哈佛双总线和RISC结构,其数据吞吐量最高可达6MIPS,这几乎是其它大多数8位微控制器速度的4倍128脚封装的PIC16C72单片机内集成了以下主要功能:2KB片内ROM程序存储器,128KB数据存储器;22位I/O线;5路8位A/D转换器,2个8位,1个16位多功能计数器/定时器,1个捕捉/比较/脉宽调制(CCP)部件。以PIC16C72为控制芯片的电热水器,虽然功能很强大,但是存在一些很需要改进的地方:中断的现场保护是中断应用中一个很重要的部分由PIC16C72的指令系统中没有专门的PUSH(入栈)和POP(出栈)指令,所以要用一段程序来实现该功能。对可能用到的W寄存器和STATUS寄存器内容进行现场保护1然后在中断服务程序中对马达,继电器进行控制1漏电检测报警在中断里给出,而每50ms进入一次中断,所以发生漏电时最多50ms即可切断电源1入口中断保护控制马达控制继电器如果用直流对电机进行控制,其转速太快,过调量太大,容易引起震荡。l 通过以上两种设计方法的比较来看,实现电热水器的智能控制可以有很多种方法。可以采用可编程序控制器PLC,各种单片机来实现。但考虑到成本控制和软硬件实现难度,采用以AT89S51为控制芯片的控制系统设计,可以进一步提高电热水器的智能作用,能够保证持续的热水供应,并能够在异常情况下自动断电,可以满足人们日常生活的需要,提高了人们生活的质量。2.2系统总体框图设计:智能电热水器将由AT89S51单片机作为控制芯片,经分析设计要求,初步确定其由8个模块组成,如下图所示:温度检测AT89S51水位检测漏电检测加热保温指示电源电路加热电路显示电路蜂鸣器图 2-1 基于AT89S51的智能电热水器时钟电路用来产生时钟信号供单片机工作,晶振采用12MHz,平衡电容采用33pF。复位电路在系统上电或运行过程中对单片机进行初始化操作。按键采用独立式热键,用来扩展系统功能,分别可以实现电源开关、温度增加和温度减少三个功能。数码管用来显示水温和预设水温两组数据,所有数码管采用共阳接法,段控端接在单片机同一I/O口,位控端分别接在不同位的I/O口。ISP接口通过并口与PC机连接,实现单片机与PC机通讯,用编译器对源程序进行调试及编译,通过ISP接口将形成的二进制目标程序下载到AT89S51单片机上。依据设计要求,系统上电复位后按默认值开始运行,然后开始检测温度按键,若无按键,则按设定温度进行工作;若温度键已按下,则开始设定温度范围,并按新的设定值开始加热。接着继续检测温度按键,若无按键,则接着上一步的执行(以新的设定值开始工作)。若有按键,则重新设定温度范围,如此循环。另外,在运行主程序的时候,首先要检测水位,若达不到预设值,则断电,蜂鸣器报警;若达到预设值,则开始检测水温。2.3 硬件系统设计2.3.1电源电路1电源电路目的单片机容工作时很容易受外界环境的干扰,因此要求供电电源单独设计制作。电源设计是电路设计的总要环节,它的稳定与否关系到单片机是否能够正常工作。按要求需要一个+5V电压和一个+12V左右的可调电压给AT89S51和其它芯片供电。2电源电路电源电路按元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等;根据调整元件与连接方法可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。本设计中采用了线性工作状态的线性集成稳压电源。 各部分简介:(1)电源变压器电源变压器作用是将电网220V的交流电压V1变换成整流滤波电路所需的交流电压V2。变压器副边与原边的功率比P2/P1=,式中为变压器的效率。(2)整流电路整流电路将交流电压变成单向脉动的直流电压。滤波电路用来滤除整流后单向脉动电压中的交流成份,合之成为平滑的直流电压。常用的整流电路有全波整流电路、半波整流电路、桥式整流电路及倍压整流电路。小功率直流电源因功率比较小,通常采用单相交流供电。由于桥式整流电路克服了半波整流的缺点,在桥式整流电路中,由于每两只二极管只导通半个周期,故流过每个二极管的平均电流仅为负载电流的一半,与半波整流电路相比较,其输出电压提高,脉动成分减少。(3)滤波电路整流电路将交流电变为脉动直流电,但其中含有大量的交流成分(称为纹波电压)。为了获得平滑的直流电压,应在整流电路的后面加接滤波电路,以滤去交流成分。滤波电路常见的有电容滤波电路、电感滤波电路及型滤波电路。本设计采用电容滤波电路。电容滤波电路主要利用电容两端电压不能突变的特性,使负载电压波形平滑,故电容应与负载并联。桥式整流电路带电阻负载时的输出直流电压U0=0.9V,接上电容滤波后,空载时的输出直流电压U0=UC=U2。所以,接上负载时的桥式整流电容滤波电路的输出电压介于上述两者之间,其大小与放电时间常数RLC有关,RLC越大,U0越大。(3)稳压电路稳压电路的作用是当输入交流电源电压波动、负载和温度变化时,维持输出直流电压的稳定。由于三端式稳压器只有三个引出端子,具有应用时外接元件少、使用方便、性能稳定、价格低廉等优点,因而广泛应用。三端式稳压器有两种,一种称为固定输出三端稳压器,另一种称为可调输出三端稳压器。它们的基本组成及工作原理都相同,均采用串联型稳压电路。3. AC220V变换为+5V的直流稳压电源电路 图2-2 +5V直流稳压电源电路图 元件选取l 变压器的选择:使用变压器要求能将初级电压220V降为次级电压8V(需要的电压加上3V),次级电流1.7A,变压器的判断可用万用表测试两端电阻来判断初级和次级,若电阻大为初级。l 整流二极管的选择:四个二极管的稳压程度应在变压器的次级电压的x3以上即24V。耐流值等于变压器次级电流。l 滤波电解电容的选择:耐压变压器次级电压x1.414容量为次级电流x(15002000uF),即耐压112V容量(25003740uF),可选3300uF。l 稳压:使用7805三端稳压电路,在使用前判断三端稳压器的好坏。测试:1、2脚加上直流电压,用万用表测3和2脚间的电压,若数值相同,则证明此稳压器是好的。l LED电路:LED稳定电压2V,R限流电阻使电流达20mA左右,选择3V/20mA=1504.选用W117三端稳压器制作输出可调稳压电源,W117稳压电路的供电电压变化范围大。允许输出电压范围(2V40V),为扩大输出电压可调范围,基准电压设置很小,约1.25V,电路如下图所示:图2-3 可调稳压电源电路图元件选择R1R2同种类型,选择不同R1R2值,可以得到我们所需要的不同电压。2.3.2 AT89S51功能及特性介绍AT89S51芯片介绍和AT89S51最小系统:1、AT89S51芯片AT89S51 是美国ATMEL 公司生产的低功耗,高性能CMOS 8 位单片机,片内含4K 的可编程的Flash 只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash 程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8 位微处理器于单片机芯片中,ATMEL 公司的功能强大,低价位AT89S51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89S51 采用40 引脚双列直插封装(DIP) 形式, 内部由CPU,4kB 的ROM,256 B 的RAM,2 个16b 的定时计数器TO 和T1,4 个8 b 的工 O 端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。其引脚功能如下:Vcc:电源电压 GND:接地P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/ 数据总线复用口。作为输出口时,每位能驱动8 个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash 编程和程序校验期间,P1 接收低8 位地址。P2 口:P2 口是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVE DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX Ri 指令)时,P2口线上的内容,在整个访问期间不改变。Flash 编程或校验时,P2 亦接收高位地址和其他控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输入端时,被外部拉低的P3 口将用上拉电阻输出电流。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3 口还接手一些用于Flash 闪速存储器编程和程序校验的控制信号。RST: 复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFRAUXR 的DISRTO 位( 地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET 输出高电平打开状态。ALE/ PROG:当访问外部程序存储器或数据存储器时,ALE(地址所存允许)输出脉冲用于所存地址的低8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位, 可禁止ALE 操作。该位置位后, 只有一条MOVX 和MOVC 指令ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。PSEN:程序储存允许(PSEN)输出是外程序存储器的选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN 信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需要注意的是:如果加密位LB1 被编程,复位时内部会所存EA 端状态。如EA 端为高电平(接VCC 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上 12V 的编程电压VPP。XTAL1 :振荡器反相放大器及内部时钟发生器的输入端。XTAL2 :振荡器反相放大器的输出端。AT89S51 标准功能:4K 字节闪速存储器,128字节内部RAM,32 个I/O 口线, 看门狗(WDT),两个数据指针,两个16 位定时/ 计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51 可降至0HZ 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时/ 计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。2、AT89S51最小系统AT89S51单片机最小系统由AT89S51单片机及其外围电路组成,外围电路包括时钟电路和复位电路两部分。时钟电路:时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,时钟电路就好比人的心脏。同样,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。当采用内部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。单片机内部有一个高增益反向放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片外部XTAL1和 XTAL2之间跨接晶体震荡器和微调电容,从而构成一个稳定的自激振荡器。外接晶体(石英或陶瓷,陶瓷的精度不高,但价格便宜)振荡器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中, C1和C2的大小会对振荡器频率的高低、振荡器的稳定性、起振的快速性和温度特性有一定的影响。因此建议在采用石英晶体振荡器时取C=30+/-10pF,陶瓷振荡器时取C=40+/-10pF,典型值为40pF。在设计电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生电容的存在,更好的保障振荡器稳定、可靠的工作。在任何情况下,振荡器始终驱动内部时钟发生器向主机提供时钟信号,因为时钟发生器的输入是一个二分频电路,所以对外部振荡信号的脉宽无特殊要求,但必须保证高、低电平的最小宽度。复位电路:单片机的复位电路分上电复位和按键手动复位。它是利用外部复位电路来实现的。当Vcc上升时间不超过1ms(RC=),振荡器启动时间不超过10ms。在加电情况下,这个电路可以使单片机复位。在加电开机时,RST上的电压从Vcc逐渐下降,RST引脚的电位是Vcc与电容电压的差,RST上的电压必须保证在斯密特触发器的阀值电压以上足够长时间,以满足复位操作的要求。按键电平复位是将复位端通过电阻与Vcc相连。在按键电平复位和按键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起内部寄存器错误复位,这里可在复位端引脚上接一个去藕电容。需说明的是,如复位电路中R、C的值选择不当,使复位时间过长,单片机将处于循环复位状态。为了使用方便和设计电路简化及设计要求,我们采用上电复位和按键电平复位相结合的方法。复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如下表所示: 表2.2.7.1 专用寄存器状态表寄存器状态寄存器状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0 - P3 FFHSCON00HIPxxx00000HSBUF不确定IE0xx00000HPCON0xxx0000HTMOD00HAT89S51最小系统如下图所示:图 2-4 AT89S51最小系统2.3.3水位检测电路:水箱中水位的探测使用五个探点,为防止探点因水的电离吸附而缔结水垢影响检测灵敏度,探点除选用特殊材料外,其电源采用交流供电。最低的探点为交流12V电源接入点,另外四个为水位探点。若达到相应水位,交流12V电源与该探点接通,其输出信号经滤波、整流电路,驱动光耦的发光二极管,然后传给单片机一个开关信号,其检测电路如下图所示:图2-5 水位监测电路2.3.4漏电检测电路辅助电加热过程中系统一旦漏电,经半波整流和滤波后触发可控硅导通,在输出端产生一低电平信号,单片机读取后控制继电器触点断开,使加热体断电。选择合适的稳压管和阻容器件参数,可以调整漏电检测的门槛电压值。 图2-6 漏电检测电路2.3.5 水温检测电路水箱水温的检测采用DALLAS公司生产的一线式数字温度传感器DS18B20。该传感器为3引脚TO-92小体积封装;温度测量范围为-55C+125C,可编程为912位A/D转换精度,测温分辨率可达0.0625C,被测温度是用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;CPU只需一根端口线就能与DS18B20通信,占用微处理器的端口较少,传输距离远,抗干扰能力强,可节省大量的引线和逻辑电路,比较适合该系统对温度的测量。在该系统中用防水材料将DS18B20与水位探测器封装在一起,且放置于探测器底部,通过电缆接出三条线。 DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图:图 2-7 DS18B20外部引脚图DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20和AT89S51的连接如下图所示: 图2-8 DS18B20和AT89S51连接图当传感器工作时,如果水温超过60,将温度传给单片机,蜂鸣器报警,并断电;如果水温低于30,热水器开始工作,加热指示灯亮。2.3.6键盘/显示接口电路:在单片机应用系统中,通过按键实现功能和数据输入时非常普遍的。通常在所需按键数量不多时,系统常采用独立式按键。所谓独立式按键,是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。这种按键的电路配置灵活,软件结构简单。独立式按键的典型应用如下图所示:AT89S51P1.0P1.1P1.2ABC+5V. 图2-9 独立式按键LED显示屏的设计:在单片机应用系统中经常使用发光二极管来显示,发光二极管简称LED(Light Emitting Diode)。LED 的价格便宜,而且配置比较灵活,与单片机的接口也比较方便。单片机中经常使用7 段LED 来显示数字,也就是用7 个LED 构成字型“8”,并另外用一个圆点LED 来显示小数点,也就是说一共有8 个LED,构成了“8.”的字型。7 段LED 分共阴级和共阳极两种,共阴级7 段LED 的原理图和管脚配置图如图1-1 所示,共阳级7 段LED 的原理图和管脚配置图如图1-2 所示。实际中,各个型号的7 段LED 的管脚配置可能不会是一样的,在实际应用中要先测试一下各个管脚的配置,再进行电路原理图的设计。 图 2-10 共阴极7段LED 图 2-11 共阳极7段LED共阳极7 段LED 是指发光二极管的阳极连接在一起为公共端的7 段LED,而共阴极7 段LED 是指发光二极管的阴极连接在一起为公共端的7 段LED。一个7段LED 由8 个发光二极管组成,其中7 个发光二极管构成字型“8”的各个笔划(ag),另一个发光二极管为小数点(dp)。当在某一段发光二极管上施加一定的正向电压时,该段LED 即被点亮;不加电压则为暗。以共阳极7 段LED 为例,若是要显示“5.”,则需要在VCC 上加上电压,向dp、g、f、e、a 送出00010010 的信号,就能显示出来。为了保护各段LED 不因电流过大而损坏,需在各个段上外加限流电阻保护7段LED动态显示原理:LED 的静态显示虽然有编程容易、管理简单等优点,但是静态显示所要占的I/O 口资源很多,所以在显示的LED 点较多的情况下,一般都采用动态显示方式。在多位7 段LED 显示中,为了简化电路,降低成本,则将所有位的段选线并联在一起,刚好由8 个I/O 口来控制8 个段。而公共端(共阳极/共阴极)则分别由相应的I/O 口控制,以实现各个位的分时选通。原理图如图1-3 所示。由于所有的段选线并联到同一个I/O,由这个I/O 口来控制,因此,若是所有的4 位7 段LED 都选通的话,4 位7 段LED 将会显示相同的字符。要使各个位的7 段LED 显示不同的字符,就必须采用动态扫描方法来轮流点亮每一位7 段LED,即在每一瞬间只选通一位7 段LED 进行显示单独的字符。在此段点亮时间内,段选控制I/O 口输出要显示的相应字符的段选码,而位选控制I/O 口则输出位选信号,向要显示的位送出选通电平(共阴极则送出低电平,共阳极则送出高电平),使得该位显示相应字符。这样将四位7 段LED 轮流去点亮,使得每位分时显示该位应显示的字符。由于人眼的视觉暂留时间为0.1 秒,当每位显示的间隔未超过33ms 时,并在显示时保持直到下一位显示,则由于人眼的视觉暂留效果眼睛看上去就像是4 位7 段LED 都在点亮。设计时,要注意每位显示的间隔时间,由于一位7 段LED 的熄灭时间不能超过100ms,也就是说点亮其它位所用的时间不能超过100ms,这样当有N 位的7 段LED 用来显示时,每一位间隔的时间t 就必须符合下面的式子:t100ms/(N-1)比如,现在使用4 位,也就是N4,则由式子可以算出t33ms,就是每一位的间隔时间不能超过33ms。当然时间可以也设得短一些,比如5ms 或1ms 也可以。图 2-12 LED显示屏2.3.7 模数转换电路ADC0809芯片介绍:1、 主要特性 1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s。 4)单个5V电源供电 。 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。2、 内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如上图1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近 3、 外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如上图所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。ADC0809和AT89S51的连接:通常芯片的地址线只能进不能出自不必说,ADC0809 的数据线有一特点:只能出不能进. 就是说,就像往SBUF 写入时写到发送缓冲寄存器,从SBUF 读出时实际是读取接收缓冲寄存器的数据一样,往ADC0809 写入时,把数据总线上的数据写到地址寄存器,从ADC0809 读出时实际是读取转换结果数据.图 2-13 AT89S51和ADC0809的连接方式 因此可以在把51 单片机的8 位数据线接到ADC0809 的8 位数据线的同时,又把其中的3 位直接接到ADC0809 的3 根地址线以确定通道号. 通常把51 单片机的8 位数据线中的低3 位D2 ,D1 ,D0 直接ADC0809 的3 根地址线A2 ,A1 ,A0 以确定通道号,如图2. 采用这种连接方式明显可以省去一片74LS373.在上图这种连接方式中,ADC0809 的转换结果寄存器在概念上定位为单片机外部RAM单元的只读寄存器,而通道号锁存器在概念上定位为单片机同一个外部RAM单元的只写寄存器. 同一个外部RAM单元的只读寄存器与只写寄存器使用同一个地址,就像51 系列单片机的串行发送缓冲器与串行接收缓冲器使用同一个地址99H 一样,不会发生混乱.上述连接方式有一个特点,那就是单片机要把最低3 位二进制数据通过数据总线写入ADC0809的地址锁存器,然后作为通道地址使用.2.3.8发声电路设计(一)蜂鸣器的介绍1蜂鸣器的作用 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。2蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。3蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。(二)蜂鸣器的结构原理1压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。(三)放大电路的作用 单片机的I/O引脚输出地电流比较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的装置。本设计用到了NPN三极管。图2-14 发声电路第三章 程序的设计和仿真软件设计由主程序,键扫描子程序及若干功能模块子程序组成。其中主控制器子程序包括A/D转换子程序(水位、水温),键盘处理及显示子程序,加热控制子程序(使用输出比较功能),漏电保护子程序等组成。主程序要先初始化系统的工作参数,主要是单片机的定时器,COP模块、A/D转换、端口、键中断等的工作模式参数设定,之后系统主程序循环调用各个功能模块子程序,对相关事件的处理依靠标志位和判断标志位实现。3.1 主程序流程框图按默认值运行温度键按了吗?温度键按了吗?设定温度范围以新的设定值运行开始NYYN图3-1 主程序流程框图3.2 键扫描子程序流程框图开始按键扫描温度加预设温度减有键按下吗?是温度键吗?是温度键吗?图3-2 键扫描子程序流程框图3.3开始恢复现场将代码送入P1口确定寄存器组调延时将位码送入P2口判断4位显示完了吗?现场保护结束NY显示子程序流程框图3.4运行程序流程框图开始断电水温高于设定值吗?水温低于设定值吗?通电加热报警断电水位低于设定值吗?NNYNY3.5软件仿真Multisim 10 软件的主要特点Multisim10 是美国NI 公司推出的EDA(Electronic Design Automatic)软件的一种,它将电路图输入仿真与设计的模块更名为Multisim,是一个完整的电路设计和仿真工具软件.它提供了一个庞大的元件数据库,包含电子电路仿真设计的模块Multisim、PCB 设计软件Ultiboard、布线引擎Uhiroute 及通信电路分析与设计模块4 个部分,这4 个部分相互独立,可以分别使用.该软件可以对模拟、数字、模拟 数字混合电路进行仿真,克服了传统电子设计工作的诸多限制.该软件的特点是:(1)设计与实验同步进行,边设计边实验,修改调试方便;(2)设计和实验用的元器件及测试仪器仪表齐全,可以完成各种类型的电路设计与实验;(3)可以方便地对电路参数进行测试和分析;(4)可以直接打印输出实验数据、测试参数、曲线和电路原理图;(5)不消耗实际的元器件,实验所需元器件的种类和数量不受限制,实验成本低、速度快、效率高;(6)设计和实验成功的电路可以直接在产品中使用.通过软件将元器件和仪器集合为一体.电子设计人员利用这个软件可对所设计的电路进行仿真和调试,一方面可以验证所设计的电路是否能达到所设计的技术指标要求;另一方面,又可通过改变电路的结构、元器件参数,使整个电路的性能达到最佳.使用者根据仿真电路的结果,将实际电路制作出来,这样,不仅降低了电路的设计成本,同时也拓宽了设计人员设计产品的研发思路.目前,该软件的先进设计理念和技术已被越来越多的广大工程技术人员所熟悉和掌握。下图为调出元件组成原理图,调试流程如下:按键上电复位水位检测水温检测数码管显示下载程序运行:程序调试分为两个部分:按键调试,和数码管显示。在具体仿真的过程中,按键调试时,应注意按键的次序,首先是温度+键,然后测试温度-键,否则有时会出现数码管显示延时现象,这种情况主要跟程序设计有关。基于编程方面有些薄弱的情况,应该严格按照按键次序进行调试。数码管显示时,只要前两个步骤进行顺利,其就可以正常显示。由于本设计采用独立式按键,主程序调试结束后,各部分运行正常,能够显示水位及水温结果。另外,此设计采用的温度检测模块,检测精度不高,有时会出现温度跳跃式显示,比如:有时此一时刻温度显示为59,下一时刻会显示66。此种情况出现的原因,本人认为是由于,温度检测模块的内阻过热,导致检测结果不够准时和准确。这是硬件方面的问题,暂时还没有找到可替换的模块,所以无法解决,但不影响整体的效果。总 结基于AT89S51单片机的智能电热水器控制器,经过调试可以满足设计要求。首先由传感器检测水温,经过模数转换,发送到单片机控制中心,当水温小于设置范围1时,单片机控制继电器对电热水器加热;当水温超过温度设置范围1时,单片机控制继电器断电,停止加热;当温度超过99时,蜂鸣器报警断电;当水位小于系统设定值时,单片机控制继电器断电,停止加热。本设计有些方面需要进一步讨论,进一步完善的方面: (1)AT89S51单片机本身的存储空间很小,只有4KB,在实际运用中无法达到更多的设计要求。(2)由于AT89S51单片机结构简单,相比其他单片机(如:MC68HC05SR)来说,不能完成更多的要求,影响了其实用性。(3)水温检测的精度不太高。这是硬件的问题,由于没有找到很好的检测器件,造成实验结果有较小的误差。 致 谢本文是在胡云堂老师的悉心指导下完成的,从论文题目的选定,大纲的编写,资料的收集与整理,论文数稿的修改、审稿到最终定稿,无不倾注他的心血和汗水。他的言传身教使我终生受益。还要感谢我的室友,在撰稿期间给了我许多帮助和鼓励,对我的整体框架给予了许多建设性意见,也在我的软件仿真时,给予了很多帮助。衷心祝他们在以后的工作和生活中顺利。参 考 文 献1 吴国经单片机应用技术北京:中国电力出版社2004:10.2 张振荣MCS-51单片机原理及实用技术北京:人民邮电出版社2000:10-13.3
展开阅读全文