《基于单片机的电热水器控制器设计教学教材.doc》由会员分享,可在线阅读,更多相关《基于单片机的电热水器控制器设计教学教材.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。基于单片机的电热水器控制器设计-摘要本文的电热水器控制器设计采用了AT89S51单片机作来设计的。本设计利用温度传感器及模数转换器等来完成。在硬件设计方面,主要对电源电路、单片机最小系统及其扩展、模数转换电路、键盘显示及接口电路、水温检测电路、报警电路进行了简明的介绍。而且还介绍了该设计中应用到的主要芯片的性能和特点,包括AT89S51、74LS377、DS18B20等。在软件设计方面,采用汇编语言编程。然后对软件调试进行了误差分析。该电热水器设计完善,实现方案简单易行。采用软件设计来控制,可以实现检测
2、水温,智能加热,并且提高了整机的可靠性及准确性。关键词:单片机,电热水器,设计-ABSTRACTInthispaper,thedesignofelectricwaterheatercontrollerusesAT89S51MCUtodesign.Thedesignoftemperaturesensorandanalogtodigitalconvertertocomplete.Intheaspectofhardwaredesign,mainlyonpowersupplycircuit,MCUminimumsystemanditsexpansion,modulusconversioncircuit
3、,keyboarddisplayandinterfacecircuit,temperaturedetectioncircuit,alarmcircuitareintroducedinbrief.Andalsointroducestheperformanceandcharacteristicsofthemainchiptotheapplicationinthedesign,includingAT89S51,74LS377,DS18B20etc.Inthesoftwaredesign,theassemblylanguageisused.Andthenerroranalysisofsoftwared
4、ebugging.Theelectricwaterheaterisdesignedandperfected,andtherealizationschemeissimpleandfeasible.Thesoftwaredesigntocontrolandtemperaturedetectioncanbeachieved,intelligentheatingandimprovethereliabilityandaccuracyofthewhole.Keywords:single-chipmicrocomputer,electricwaterheater,design目录引言1第1章绪论21.1课题
5、的背景21.2课题研究的目的及意义21.3国内外的研究情况和成果3第2章电热水器的设计方案42.1设计要求42.2方案设计4第3章电热水器的硬件系统设计63.1方案验证63.2硬件系统设计93.2.1电源电路93.2.2显示/键盘接口电路93.2.3报警电路113.2.4模数转换电路123.2.5温度检测电路153.2.6时钟电路163.2.7显示模块173.2.8AT89S51功能及特性介绍20第4章电热水器的软件系统设计244.1主程序流程框图244.2键扫描子程序流程框图264.3显示子程序流程框264.4运行程序流程框图274.5软件仿真27结论与体会29致谢30参考文献30附录1设计
6、程序清单32附录2单片机的电热水器控制器原理图40引言电热水器按加热功率大小可分为储水式、即热式、速热式三种;储水式是电热水器的主要形式,按照安装方式的不同,可进一步分为立式、横式、落地式、槽下式以及最新上市的与浴室柜体设计的集成式。按承压与否,又可分为敞开式和封闭式,按用途,可分为家用和商用。按加热方式,可分为磁能、电阻丝、硅管等三种。电热水器经过十余年的发展,热水器的技术不断进步,行业先后有防电墙、防电闸、3D速热、变频增容等革新性产品出现,电热器在安全、节能、加热速度、出水量等方面不断进步,市场销售历年一持续增长。随着近几年生活水平的提高,人们对用水量的需求越来越大,所以电热水器的畅销容
7、积已经从2000年左右的40升提升到如今的60升左右。储水式电热水器的有点在于安全性能高,能量洁净。能多路控水。既可用于淋浴、盆浴,还可用于洗衣、洗菜。安装也比较简单。即热式电热水器的优点具有即开即热,省时省电,节能环保、体积小巧、水温恒定等优点。智能电热水器必然将成为以后家电的必然趋势。单片机成为家用电器常用的控制器件,本文介绍了基于AT89S51单片机控制的电热水器控制电路,包括温度测量单片机控制、水温设定与自动调节电路、键盘控制、液晶显示、报警电路五部分,在控制回路采用PID模糊控制方法,基于模糊控制的方法,在强时变、大时滞、非线性系统中的控制效果有着明显的优势,把二者结合起来,可使控制
8、器的性能指标达到最优的目的。基于模糊控制技术的单片机控制的电热水器,是对传统的电热水器开关控制的改造,具有达到设定温度的时间短、稳态温度波动小、反应灵敏、抗干扰能力强、节省电能等优点。首先通过按下键盘按键设定所需的温度,并通过液晶显示,再通过温度传感器DS18B20测出电热水器的温度,送液晶显示并送单片机与设定水温加以比较,设定水温高于实测水温则通过继电器触头的通断来控制是否对电热丝进行加热,从而实现水温的测量以及控制,在水温高于设定温度时,蜂鸣器报警,其简洁、智能、精确的优点基本能满足人们的需求,并且将会得到广泛的应用。第1章绪论1.1课题的背景中国已是热水器生产大国,伴随着住宅消费和人们对
9、生活品质要求的提高,热水器已由一个高档的奢侈品成为居民乔迁新居、厨卫装修的必备产品。近几年来,随着人们生活水平的不断提高,智能化的家用电器逐渐走进千家万户,此外,受瓶装气和区域管道燃气提价影响,而且城镇的电价普遍有所下调,许多居民转而选择相对省钱的电器产品。全国城镇热水器拥有率为72.3%,45%的城市居民家庭表示要在今后几年购买热水器,市场平均每年的最低需求维持在1000万台左右。除太阳能热水器外,中国热水器行业有一定规模的生产企业大约有200家。由此可见电热水器在中国有广阔的市场,但由此也衍生了很多问题,如漏电,环保等一系列问题,近年来电热水器多次出现漏电伤人甚至致死事件,因此其安全性一直
10、为消费者所关注。所以对热水器的改良和智能化设计是大势所趋。在当今社会,科技日新月异,热水器技术飞速发展,越来越多的科技成果被运用到热水器的制造中。如今的热水器产品已经绝对不是一个简单的加热器,而是科技含量高的现代化家电产品。随着我国人民生活水平的逐渐提高,其生活条件有了很大的改善,智能化电器在人们日常生活中占有比重越来越大,与家庭生活密切相关的热水器品种层出不穷,花样翻新。正是在这样的背景下,本设计选择基于AT89S51单片机的智能电热水器的设计研究。1.2课题研究的目的及意义本选题目的是基于人们对现代家庭舒适、便利、安全以及多元化信息服务的需要设计出一款经济可靠,精确实现控制的电热水器控制电
11、路利用单片机控制,即达到较好的效果,又降低了价格,使热水器更加的经济可靠。利用按键精确地设定温度,精确调温使温度达到使用者要求的温度,从而实现人性化控制。能进行高温保护,防止热水器干烧而导致事故。能实现自动断电的安全功能,使人们洗浴时能放心享受,利于人们的身体健康1.3国内外研究状况和成果据了解,热水器内胆最关键,如果内胆损坏就意味着整台机器报废。与其他家用产品不同的是,电热水器没有必要频繁升级换代,出于安全性和经济性的考虑,热水器的耐用性才是厂商需要绞尽脑汁的。空调的核心是压缩机,电扇的核心是电机。对于热水器来说内胆是最关键的,从一定意义来说,内胆的品质就代表热水器的品质。目前的内胆技术纷繁
12、复杂,但究其本质目标都是一样的:保温、耐压、不生锈、无水垢、不渗水是内胆的基本要求。燃气热水器设有自动恒温控制,停气自动关机,超水温泄压等安全保护功能,即使临时停气,仍有储存的热水使用。智能化技术的运用有两个好处,一是更方便,二是更节能,按照用户的使用习惯提前预先加热,让使用者随心享用热水。而在非用水时间则启动中温保温方程式,根据设定温度计算出最节能的保温温度,减小热水器内外温差,因而大大减少保温加热次数,真正做到不拔插头更省电。在节能上冰箱等家电产品已经走在了前面,热水器这种用电量很大的产品更加应该推进节能技术的普及。对于传统的电热水器行业而言,要想出现本质性的突破几乎是不可能的,而在功能上
13、不断提升,抓住人性化需求,却是一条可行之路。而事实正是如此。阿里斯顿、比利奇、史密斯、海尔、美的争先恐后推出了超大液晶屏、电子线控、超薄时尚、双管加热、漏电保护器、防电墙、多口出水等新技术,尤其是海尔,甚至在电热水器上增加了按摩功能,专门的喷雾按摩喷嘴,让消费者可以足不出户就感受按摩的快乐。国外对智能电热水器的主要研究成果有:西门子智能电热水器,采用德国新电脑温控技术,确保出水温度均匀恒定,使沐浴成为真正的享受。西门子家电集团采用西门子在电站技术上的强大防漏电安全技术为基础,开发出独有的ELCB德国安全专家模式功能。除具有正常的防漏电装置外,还具备安全电流自我检测功能,随时检测防漏电系统是否正
14、常工作,双重保险将个体与电源完全分开,杜绝意外发生。樱花IMES智能记忆节能系统,突破了传统单时段节能模式,提供了独一无二的三时段定时预热和七种供水模式,其工作过程“聪明伶俐”,它不断自动存储、分析主人近一个月用水的具体数据,以最经济的模式提前为主人准备热水,真正实现全天候节能供水。特别是还具备体贴的停电数据保留功能,就算停电48小时,也能自动记忆所有参数,让主人毫无后顾之忧。全新的智能中温保温功能,彻底弥补了传统中温保温的缺陷,根据设定水温、环境、季节的不同,自动选择最节能的保温状态,避免固定中温技术大幅度温差造成不必要的浪费,缩短加热时间,切实做到省电节能第2章总体方案设计设计包括硬件设计
15、和软件设计这两项。硬件设计是通过对设计要求的理解分析,对各种元器件的认识,从而得到分立元件与集成块的一些连接方法,来达到设计的功能要求。然后把元器件焊接在一块电路板上,完成器件的设计。硬件设计包括对各种元器件的接法和功能的了解,还有对各种元器件和设计方案的正确选择。软件设计是分析你所设计的硬件用程序来实现它的功能,并且调试优化功能。2.1设计要求课题是设计基于单片机控制的电热水器控制系统,让电热水器按人们的需要可以快速、稳定的满足人们所需要的温度,来表现电热水器较一般热水器所独有的优势。要求温度传感器及转换电路,水温设定与自动调节电路,单片机输入输出接口电路以及显示模块的设计。在这其中的主要难
16、点就是实现PID控制温度。2.2方案设计方案设计的总体思路如下:首先通过键盘设定一个温度值,然后通过温度传感器采集温度,与设定的温度进行比较,如果温度小于设定值电热水器开始加热,当水温达到设定值时,则停止加热,设定的温度和水温通过LED数码管显示出来。当水温高于某临界温度(如70)时,报警器发出报警,同时中断加热。所以可以得出电路以单片机为核心,包括温度设定按键模块,LED显示模块,报警和输出电路等模块组成,其系统模块框图见图2.1温度设定温度测量单片机数码管显示报警图2.1系统模块框图 温度设定电路。通过一个按键产生脉冲输入单片机来调节水温的设定值。 温度测定电路,采用温度传感器来测量温度。
17、 单片机,是整个电路的控制核心,实现PID模糊控制。 数码管显示,单片机通过动态扫描方式输出并利用数码管显示温度的设定值和实际测温值。 报警电路,当实际温度高于设定温度时,报警电路报警。基于以上模块设计出了电路的基本结构图,如图2.2给定单片机SSR驱动电烤箱温度传感器报警及显示电路图2.2系统结构图结构图中以单片机为核心进行系统设计。通过单片机对偏差进行PID运算,输出占空比可变的PWM波形,从而控制固态继电器的导通时间,即通过调节加热功率即可达到控制温度恒定的目的。第3章硬件系统设计3.1方案验证本课题是基于AT89S51单片机的智能电热水器的控制器的设计,要达到的控制要求有:(1)用两位
18、数码管显示水温,两位数码管显示预设温度。(2)水温检测显示范围为0099,精度为1。(3)温度预设范围为3060,当检测温度低于预设温度1时,开始加热;检测温度高于预设温度1时,停止加热。(4)设置3个程序按键。电源开关键:电源关闭时,4个数码管熄灭,加热元件断电,但单片机系统正常工作,热水器面板上的电源指示灯点亮。电源开启后,根据上次设定的温度(220V总电源不能关闭)自动进入工作状态。如220V总电源关闭后再开机,预设温度自动定为40。温度+键:每按一次该键,预设温度加1,长按该键(时间超过1秒以上),预设温度快速增加,当预设温度加到60时,按该键不起作用。温度键:每按一次该键,预设温度减
19、1,长按该键(时间超过1秒以上),预设温度快速减小,当预设温度减到30时,按该键不起作用。(5)设置3个面板指示灯。电源指示灯(红):接通220V电源,该指示灯点亮。加热指示灯(绿):加热元件工作时,该指示灯被点亮。报警指示灯(黄):当热水器出现异常情况时,该指示灯被点亮。(6)报警设置。高温报警:当检测温度高于65时,自动报警。低温报警:当检测温度低于0时,自动报警。缺水报警:当储水箱内缺水时,自动报警。漏电报警:当热水器发生漏电情况时,自动报警。(7)设置一个蜂鸣器,当热水器出现异常情况而报警时,由蜂鸣器发出报警声,并自动切断加热元件的供电。方案一:以AT89S51单片机为控制中心的智能电
20、热水器AT89S51单片机具有结构简单、控制能力强、可靠性高、体积小、价格低等优点,在许多行业都得到了广泛的应用。以AT89S51单片机为核心,配以外围电路如时钟电路、复位电路、按键、显示器件即可构成交通灯系统,结构框图如图2.1.1:温度检测AT89S51水位检测漏电检测电源电路加热电路显示电路图3.1AT89S51控制的智能电热水器方案二:PIC16C72单片机为控制器件的智能电热水器PIC16C72是美国微芯(Microchip)公司推出的8/11位单片机,采用宽字节单周期指令,哈佛双总线和RISC结构,其数据吞吐量最高可达6MIPS,这几乎是其它大多数8位微控制器速度的4倍128脚封装
21、的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进入一次
22、中断,所以发生漏电时最多50ms即可切断电源1入口中断保护控制马达控制继电器如果用直流对电机进行控制,其转速太快,过调量太大,容易引起震荡。通过以上两种设计方法的比较来看,实现电热水器的智能控制可以有很多种方法。可以采用可编程序控制器PLC,各种单片机来实现。但考虑到成本控制和软硬件实现难度,采用方案一的控制系统设计,可以进一步提高电热水器的智能作用,能够保证持续的热水供应,并能够在异常情况下自动断电,可以满足人们日常生活的需要,提高了人们生活的质量。智能电热水器将由AT89S51单片机作为控制芯片,经分析设计要求,初步确定其由8个模块组成,如下图所示:温度检测AT89S51水位检测漏电检测加
23、热保温指示电源电路加热电路显示电路蜂鸣器图3.2基于AT89S51的智能电热水器时钟电路用来产生时钟信号供单片机工作,晶振采用12MHz,平衡电容采用33pF。复位电路在系统上电或运行过程中对单片机进行初始化操作。按键采用独立式热键,用来扩展系统功能,分别可以实现电源开关、温度增加和温度减少三个功能。数码管用来显示水温和水位两组数据,所有数码管采用共阳接法,段控端接在单片机同一I/O口,位控端分别接在不同位的I/O口。发光二极管用来指示系统运行状态,电源指示灯(红):接通220V电源,该指示灯点亮。加热指示灯(绿):加热元件工作时,该指示灯被点亮。报警指示灯(黄):当热水器出现异常情况时,该指
24、示灯被点亮。ISP接口通过并口与PC机连接,实现单片机与PC机通讯,用编译器对源程序进行调试及编译,通过ISP接口将形成的二进制目标程序下载到AT89S51单片机上。依据设计要求,系统上电复位后按默认值开始运行,然后开始检测温度按键,若无按键,则按设定温度进行工作;若温度键已按下,则开始设定温度范围,并按新的设定值开始加热。接着继续检测温度按键,若无按键,则接着上一步的执行(以新的设定值开始工作)。若有按键,则重新设定温度范围,如此循环。另外,在运行主程序的时候,首先要检测水位,若达不到预设值,则断电,蜂鸣器报警;若达到预设值,则开始检测水温。3.2硬件系统设计单片机应用系统的硬件电路设计包含
25、两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。本设计中只用最小系统加上键盘、显示、ISP接口电路,单片机本身资源可以满足设计要求,所以不必对单片机进行扩展。系统的硬件系统以AT89S51单片机为核心,主要分两部分:直流稳压电源和智能电热水器控制电路,其原理图见附录二。直流稳压电源由变压器、整流桥、滤波电路、稳压电路组成。智能电热水器系统由时钟电路
26、、复位电路、报警电路、ISP在线编程接口电路键盘、模数转换电路和显示接口电路组成。3.2.1电源电路电源电路按元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等。根据调整元件与连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。本设计中采用了线性工作状态的线性集成稳压电源。直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成,设计框图:电源变压器整流滤波电路稳压电路输入电压U1输出电压U2图3.3直流稳压电源3.2.2键盘接口电路本毕业设计的按键采用独立式按键,是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/
27、O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图:AT89S51P1.0P1.1P1.2ABC+5V图3.4独立式按键图3.5七段数码管按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路不可接上拉电阻。独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序,具体编程见程序清单。3.2.3报警电路热水器工作环境潮湿,为了保证使用者安全,控制器应具备漏电检测功能。在正常情况下,流过磁环
28、的电流大小相等,方向相反,磁环检测线圈无感应电流信号,漏电检测集成电路输出低电平。当出现漏电电流时,由于流过磁环的电流不平衡,于是磁环检测线圈感应出漏电信号,经集成电路M54123L放大输出高电平,经三极管倒相后输出至单片机。单片机接收到漏电信号,则停止加热、保温及键盘操作,结束程序并发出报警信号,蜂鸣器连续呜响。在漏电保护及自检不合格情况下,只有关闭电源及排除故障后,重新接通电源才能工作。图3.6报警电路3.2.4模数转换电路ADC0809的管脚分布及其与AT89S51的主要接口示意图:图3.7ADC0809引脚及与AT89S51连接示意图由上图可知,ADC0809由一个8路模拟开关、一个地
29、址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。IN0IN7为8条模拟量输入通道,ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转
30、换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用
31、于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示;表3.1ADC0809通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809应用说明:(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2)初始化时,使ST和OE信号全为低电平。(3)送要转换的那一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns宽的正脉冲信号。(5)是否转换完毕,我们根据EOC信号来判断。(6)当EOC变为高电平,这时给OE为高电平,转换的数据就输出给单片机了。3.2.5温度检测电路温度模
32、块是硬件模块非常重要的一个模块,温度检测主要任务是检测系统的采样温度,并通过相应的转换,把系统的温度转换成单片机能处理的数字信号。本文采用温度传感器DS18B20采集电热水器的实时温度,提供给AT89S51的P3.2口作为数据输入。图3.8AT89S51的P3.2口在本次设计中我们所控的对象为水温。其电路原理框图如下:图3.9温度检测电路DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,支持3V5.5V的电压范围,使系
33、统设计更灵活、方便;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20使电压、特性有更多的选择,让我们可以构建适合自己的经济的测温系统。如图2所示DS18B20的2脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。当传感器工作时,如果水温超过60,将温度传给单片机,蜂鸣器报警,
34、并断电;如果水温低于30,热水器开始工作,加热指示。3.2.6时钟电路单片机内部有一个高增益反向放大器,输入端为芯片引脚,输出端为引脚。而在芯片外部和之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。晶体震荡频率高,则系统的时钟频率也高,单片机运行速度也就快,但反过来运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,所以,这里使用震荡频率为12MHz的石英晶体。震荡电路产生的震荡脉冲并不直接是使用,而是经分频后再为系统所用,震荡脉冲经过二分频后才作为系统的时钟信号。在设计电路板时,振荡器和电容应尽量靠近单片机,以避免干扰。需要注意的是:电路板时,振荡器和电容应尽量安装得与
35、单片机靠近,以减小寄生电容的存在更好的保障振荡器稳定、可靠的工作电路图如图2.27所示图3.10时钟电路3.2.7显示模块现在驱动LED数码管流行采用单片机设计电路,但发现一些显示(LED数码管)电路设计复杂,没有充分利用单片机的电器特点、没有采用“硬件软化”的方法。直接用单片机的8位数据口作为数码管的8段显示驱动口。这种显示方式虽然简便,电路也最简单,但显示的位数很少(只用四位)。但已经满足了此次设计要求,所以选用此种方式。LED数码管的结构及工作原理LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个
36、笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2.2.8.2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片图3.12这是一个7段两
37、位带小数点10引脚的LED数码管图3.12引脚定义每一笔划都是对应一个字母表示DP是小数点.LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。A、静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位*器*进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5840根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。故实际应用时必须增加*驱动器进行驱动
38、,增加了硬体电路的复杂性。B、动态显示驱动:数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中
39、,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。本次设计是使用了8段4位共阴数码管的动态显示方式。然而,设计中发现如果严格按照一般的数码管用法,即adp段对应单片机数据位的高到低位一一对应,但是数码管的封装不是按顺序一一对应的,布线和做板就比较麻烦。因此设计时既然用单片机译码就在硬件连接的基础上做软件译码,这样就方便了电路的布线,也体现了单片机编程的灵活性。数码管的数据位由单片机的P0口
40、控制,数码管的段选由P2.4P2.7控制。本次系统设计中的数码管与单片机的连接如下图3.13所示。图3.13数码管与单片机的连接图基于以上数码管的硬件连接,在单片机编程时要对数码管进行软件译码,各数字所对应的码字如下表所示:表3.2八段共阴数码管段码显示字符共阴段码显示字符共阴段码00xEB80xFB10x2890xFA20x73A0xF930x7AB0x9B40xB8C0xC350xDAd0x3B60xDBE0xD370x68F0xD12.2.8AT89S51功能特点介绍(1)主要性能参数:与MCS-51产品指令系统完全兼容4k字节在线系统编程(ISP)Flash闪速存储器1000次擦写周期
41、4.05.5V的工作电压范围全静态工作模式:0Hz33MHz三级程序加密锁1288字节内部RAM32个可编程I/O口线2个16位定时/计数器6个中断源全双工串行UART通道低功耗空闲和掉电模式看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的在线系统编程(ISP字节或页写模式)(2)串行编程指令设置:串行编程指令设置为一个4字节协议。(3)并行编程接口:采用控制信号的正确组合可对Flash闪速存储阵列中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后,它将自动定时到操作完成。(4)功能特性概述:AT89S51提供以下标准功能:4k字节Flash闪速存储器,128
42、字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(5)芯片擦除:在并行编程模式,利用控制信号的正确组合并保持ALE/PROG引脚200ns500ns的低电平脉冲宽度即可完成擦除操作。在串行编程模式,芯片擦除操作是利用擦除指令进行。在这种方
43、式,擦除周期是自身定时的,大约为500ms。擦除期间,用串行方式读任何地址数据,返回值均为00H。(6)Flash闪速存储器的串行编程:将RST接至Vcc,程序代码存储阵列可通过串行ISP接口进行编程,串行接口包含SCK线、MOSI(输入)和MISO(输出)线。将RST拉高后,在其它操作前必须发出编程使能指令,编程前需将芯片擦除。芯片擦除则将存储代码阵列全写为FFH。外部系统时钟信号需接至XTAL1端或在XTALl和XTAL2接上晶体振荡器。最高的串行时钟(SCK)不超过l/16晶体时钟,当晶体为33MHz时,最大SCK频率为2MHz。Flash闪速存储器的串行编程方法:上电次序:将电源加在V
44、cc和GND引脚,RST置为“H”,如果XTAL和XTAL2接上晶体或者在XTAL1接上333MHz的时钟频率,等候10ms。将编程使能指令发送到MOSI(Pinl.5),编程时钟接至SCK(Pinl.7),此频率需小于晶体时钟频率的l/16。代码阵列的编程可选字节模式或页模式。写周期是自身定时的,一般不大于0.5ms(5V电压时)。任意代码单元均可由MISO(Pinl.6)和读指令选择相应的地址回读数据进行校验。编程结束应将RST置为“L”以结束操作。断电次序:如果需要的话按这个方法断电,假如没有使用晶体,将XATL置为低,RST置低,关断Vcc。(7)数据校验:数据校验也可在串行模式下进行,在这个模式下,在一个写周期中,通过输出引脚MISO串行回读一个字节数据的最高位将作为最后写入字节的反码。(8)AT89S51单片机最小系统AT89S51单片机最小系统由AT89S51单片机及其外围电路组成,外围电路包括时钟电路和复位电路两部分。时钟电路:时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,时钟电路就好比人的心脏。同样,如果单片机的时钟电路停止工作(晶振停振),那么单片机也