毕业设计(论文)--太阳能热水器中央控制器的设计与实现.doc_第1页
毕业设计(论文)--太阳能热水器中央控制器的设计与实现.doc_第2页
毕业设计(论文)--太阳能热水器中央控制器的设计与实现.doc_第3页
毕业设计(论文)--太阳能热水器中央控制器的设计与实现.doc_第4页
毕业设计(论文)--太阳能热水器中央控制器的设计与实现.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

4 毕 业 设 计 论文题目:太阳能热水器中央控制器的设计与实现 学 生: 指导教师: 学 院: 专 业: 2007年6月 摘 要当今计算机技术在飞速发展,微机应用日益普及深入,微机在通信自动化、工业自动控制、电子测量、信息管理和信息系统等方面得到广泛的应用。嵌入式计算机系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功效等严格要求的专业计算机系统。其最初应用是基于单片机的。单片机小巧灵活,成本低,易于产品化。它面向控制,能针对性的解决从简单到复杂的各种控制任务。目前,国内的太阳能热水器还处于研发阶段,这种控制器只具有温度和水位的显示功能,不具有温度控制功能。由于加热时间不能控制而导致过烧,从而浪费大量电能。本设计是以89c51单片机为检测控制中心,采用ds12887实时时钟,实现了温度,水位,时间三种参数的实时显示功能。关键词:单片机;太阳能热水器;智能控制;水位;温度;时间; 目 录摘要Abstract第1章 绪论1 1.1 目前太阳能热水器的研发面临的问题1第二章 系统总体设计方案2 2.1 系统任务和功能2 2.2 AT89C51功能和特点3 2.3 通用四运算放大器 LM3245 2.3.1 LM324作反相交流放大器6 2.3.2 LM324作测温电路6 2.4 DS18B20 数字式温度传感器72.4.1 DS18B20与单片机的典型接口设计8 2.5 锁存器 LM37310 2.6 I/O接口电路8255A11第三章 太阳能热水器中央控制器的硬件设计14 3.1 前端的模拟电路设计14 3.1.1 温度传感器的选用16 3.1.2 DS18B20与单片机的典型接口16 3.2 8255A与单片机的典型接口设计17 3.2.1 ADC0809与89C51单片机的接口设计17 3.3 键盘和显示器接口设计18 3.3.1 键盘工作原理18 3.3.2 LED显示器工作原理20 3.3.3 接口芯片的选择及其原理203.4 单片机复位电路的设计223.5 单片机时钟电路的设计24 3.6 系统原理综述25第四章 太阳能热水器中央控制器的软件设计27 4.1 系统总体软件设计27 4.2 数据采集软件设计27 4.2.1 中断服务子程序27 4.2.2 水位检测子程序29 4.3 显示和键盘软件设计304.3.1 动态显示子程序设计304.3.2 键盘子程序设计32第五章 抗干扰技术设计34 5.1 主要抗干扰技术34 5.2 提高系统抗干扰能力的主要方法34第六章 结论37参考文献附录致谢太阳能热水器中央控制器的设计与实现第一章 绪论当今计算机技术在飞速发展,微机应用日益普及深入,微机在通信自动化、工业自动控制、电子测量、信息管理和信息系统等方面得到广泛的应用。嵌入式计算机系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功效等严格要求的专业计算机系统。其最初应用是基于单片机的。单片机小巧灵活,成本低,易于产品化。它面向控制,能针对性的解决从简单到复杂的各种控制任务。单片机具有体积小,功耗低,价格便宜等优点,近年来还开发了一些以单片机母片为核,在片中嵌入更多的专用型单片机,因此单片机在计算机控制领域中应用越来越广泛。单片机的应用意义不仅限于它的广泛及所带来的巨大的经济效益。更重要的是在于单片机的应用正是从根本上改变着传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件的方法实现。这种以软件取代硬件并提高系统性能的控制技术,称之为微控制技术。微控制技术标志着一种全新概念的出现,是对传统控制技术的一次革命。随着单片机应用的推广和普及,微控制技术必将不断发展,日益完善。作为目前炙手可热的太阳能热水器,以其智能化和人工化为其显著特点。其中就是以单片机为中央处理器核心,完成了诸多的功能,发挥了至关重要的作用。1.1 目前太阳能热水器的研发面临的问题 太阳能热水器使用方便,节能,无污染,普及推广迅速。目前市场上太阳能热水器的控制系统大部分都存在着或多或少的缺点:功能单一、操作复杂、控制不方便等。随着人们生活水平的提高和电子技术的发展,这样的太阳能热水器控制系统越来越不适应人们的生活需求,开发一种控制方便,操作灵活的太阳能热水器的控制系统,已经成为当务之急。本文设计了一种以单片机AT89C51 为核心,显示直观,操作方便,控制灵活的控制器。第二章 系统总体方案设计随着计算机在各种智能控制系统应用中的不断深入与蓬勃发展, 单片机更以其小巧的外形、较高的性价比、灵活的控制方式广泛地应用在这一领域。文章所介绍的太阳能热水器自动控制系统, 将低价位的单片机引入太阳能热水器中, 以单片机作为核心部件,实时采集温度和水位数据, 并设置报警系统,当水位不符合某一标准时发出报警信号,还有定时提醒加水的电路。本系统实现了多重功能的有机结合和智能控制。2.1 系统任务和功能(1) 多点水温水位输入及显示功能。(2) 辅助能源加热控制功能: 定时加热、自动加热控制。(3) 上水控制功能: 自动上水、定温上水控制。(4) 报警控制功能: 高、低温及高、低水位报警控制。(5) 检测控制功能: 手动输出检查。 图一系统结构图2.2 AT89C51结构和特点AT89C51是MCS- 51单片机的基础上精心设计,由美国ATMEL公司生产的高性能八位单片机。内置2KBEPROM的20脚AT89C2051以及内置1KBEPROM的20脚AT89C1051。AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4K字节的在线可重复编程快擦快写程度存储器,能重复写入擦除解1000 次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4KB,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10ms,仅为87C51的擦除时间的百分之一,与87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽2. 7V6V,全静态工作,工作频率宽,在0Hz24MHz内,比8751及87C51等51系列的6MHz12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。另外,AT89C51还具有MCS51系列单片机的所有优点。1288位内部RAM,32位双向输入输出线,两个十六位定时/计时器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等5。AT89C51结构和功能:1特点:AT89C51与MCS51系列的单片机在指令系统和引脚上完全兼容;片内有4K字节在线可重复编程快擦写程序存储器;全静态工作,工作范围:0Hz24MHz;三级程序存储器加密;1288位内部RAM ;32位双向输入输出线;两个十六位定时器/计数器;五个中断源,两级中断优先级;一个全双工的异步串行口;间歇和掉电工作方式。2管脚功能:AT89C51单片机为40引脚芯片如图2-2所示。1) I/O口线:P0、P1、P2、P3共四个口P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE的P1口是专门供用户使用的I/O口,是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1 口。P3口的第二功能如表2-1所示。2) 控制口线:PSEN (片外取控制)、ALE( 地址锁存控制)、EA (片外储器选择)、RESET (复位控制)。3) 电源及时钟:VCC、GND、XTAL1、XTAL2。AT89C51有间歇和掉电两种工作模式。间歇模式是由软件来设置的,当外围器件仍然处于工作状态时,CPU可根据工作情况适时地进入睡眠状态,内部RAM和所有特殊的寄存器值将保持不变。这种状态可被任何一个中断所终止或通过硬件复位。掉电模式是VCC电压低于电源下限,振荡器停振,CPU停止执行指令。该芯片内RAM和特殊功能寄存器值保持不变,直到掉电模式被终止。只有VCC电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位掉电模式可被终止。图2-2 AT89C51管脚图表2-1 P3双功能口功能表第一功能标记第二功能P3.0RXD串行输入口P3.1TXD串行输出口P3. 2INT0外部中断0输入P3. 3INT1外部中断1输入P3. 4T0定时/计时器0外部输入P3. 5T1定时/计时器0外部输入P3. 6WD外部数据存储器写选通P3. 7RD外部数据存储器读选通89C51单片机的中断系统有5个中断请求源,用户可以用软件屏蔽所有的中断请求,也可以用软件使CPU接收中断请求,每一中断源可用软件独立地控制为开中断或关中断。当所有中断源设为开中断时,89C51中的中断源优先级如表2-2所示:表2-2 中断优先级及入口地址中断源优先级人口地址外部中断010003H定时器/计数器T02000BH外部中断130013H定时器/计数器T04001BH串行口中断50023H2.3 通用四运算放大器LM324LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。它的内部包含四组形式完全相同的运算放大器, 除电源共用外,四组运放相互独立。每一组运算放大器可用图2.1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的 引脚排列见图2.2(图表2.1) ( 图表2.2) 2.3.1 LM324作反相交流放大器电路见附图2.11。此放大器可代替晶体管进行交流放大,可用于扩音机前置放大等。电路无需调试。放大器采用单电源供电, 由R1、R2组成1/2V+偏置,C1是消振电容。 (图2.11) 放大器电压放大倍数Av仅由外接电阻Ri、Rf决定:Av=-Rf/Ri。负号表示输出信号与输入信号相位相反。按图中所给数值, Av=-10。此电路输入电阻为Ri。一般情况下先取Ri与信号源内阻相等,然后根据要求的放大倍数在选定Rf。Co和Ci为耦合电容。2.3.2 LM324应用作测温电路感温探头采用一只硅三极管3DG6,把它接成二极管形式。硅晶体管发射结电压的温度系数约为-2.5mV/,即温度每上升1度,发射结电压变会下降2.5mV。运放A1连接成同相直流放大形式,温度越高,晶体管BG1压降越小,运放A1同相输入端的电压就越低,输出端的电压也越低。图2.21这是一个线性放大过程。在A1输出端接上测量或处理电路,便可对温度进行指示或进行其它自动控制。2.4 DS18B20数字式温度传感器DS18B20内部结构图 3.3所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图 3.4所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图 3.9)。存储和控制逻辑64位ROM和一线端口温度传感器高温触发器高速存储器低温触发器8位CRC生成器配置寄存器供电方式 图 3.3 DS18B20内部结构图 3.4 DS18B20封装形式2.41 DS18B20与单片机的典型接口设计DS18B20、 DS1822 “一线总线”数字化温度传感器是DALLAS最新单线数字温度传感器, 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.062可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。2.5锁存器74LS373 74LS373是一种8D锁存器,具有三态驱动输出,其引脚电路图如下:ZHHHLLLLLLLLHLHHHLQnDnLEOE.引脚图中Dn-输入端;Qn-输出端;、LE为控制端,该片如何工作由功能表定,表中L为低电平、H为高电平、Z为高阻抗(相当开路)为任意电平,一般将 接低电平,LE接ALE就能正常工作。2.6 I/O接口电路8255A(1)总线接口部分/CS A1、A0 /RD /WR 片选线端口选择线(选片内四个端口寄存器)读信号线 写信号线 输入(2)内部逻辑部分(3)外设接口部分可由编程决定三个端口的功能输入 输出 其它A口8位锁存 / 缓冲8位锁存双向B口 8位锁存 / 缓冲8位锁存C口8位锁存 / 缓冲8位锁存可分成两组分别作A口、B口的选通联络线2、8255A的端口操作A1A0选中0 0 PA口0 1 PB口1 0 PC口1 1 控制寄存器二、8255A的工作方式及方式选择1、8255A的工作方式(1)方式0 基本输入/输出方式A口、B口、C口均有此方式,无选通, 是单片机与外部设备之间的直接数据通道。(2)方式1 选通输入/输出方式仅PA口、PB口有此方式,PC口中若干位作联络信号线。 各联络信号线的意义:/STB IBF INTR INTE /OBF /ACK 输入选通信号,外设发来。输入缓冲器满信号,发给外设(通知外设数据未被取走,暂不能接收新数据)中断请求信号,外部设备发给单片机 中断允许信号 输出缓冲器满信号,发给外设(单片机将数据已送到指定口,外部设备可以取走) 外设响应信号,由外部设备发来(数据已送到外部设备) (3)方式3 双向方式仅PA口有此方式。PC3 PC7作联络线此时,PB口可以是方式0;也可以是方式1(PC0 PC1作联络线)。2、8255A的方式控制字用编程方法向8255A的控制口写控制字,可决定它的工作方式。有两个控制字:(1)方式选择控制字“1”方式控制标志位D6、D5决定A组的工作方式,0 0 方式00 1 方式11 方式2D4 A口的传输方向,1 入,0 出。D3 PC7 PC4的传输方向,1 入,0 出。D2 决定B组的工作方式,0 方式0,1 方式1。D1 B口的传输方向,1 入,0 出。D0 PC3 PC0传输方向,1 入,0 出。(2)PC口置位/复位控制字“0” 标志位。D6、D5 不使用位。D3、D2、D1 位选择位,000 111 分别对应PC7 PC0。D0 位状态位,1 置位,0 复位。3 太阳能热水器中央控制器的硬件设计3.1 前端模拟电路设计现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。1.根据测量对象与测量环境确定传感器的类型要进行个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。2.灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽减少从外界引入的串扰信号。3.频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有定延迟,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。4.线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。5.稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。6.精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求11。本系统设计以采集温度为例,通过选用不同的传感器及其相应传感器的放大电路,可实现多路采集不同的测量数据如温度、湿度、压力等数据。3.1.1 温度传感器选用本系统采用接触式温度传感器DS18B20。DS18B20、 DS1822 “一线总线”数字化温度传感器是DALLAS最新单线数字温度传感器, 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。3.1.2 DS18B20与单片机的典型接口设计可以采用外接电源与寄生电源供电(就是供电电源从数据线上得到): 图 3.8 外接电源供电图3.9 寄生电源供电 3.2.1 ADC0809与89C51单片机的接口设计用单片机控制A/D转换器时,多采用查询和中断控制两种方法。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查ADC变换是否已经结束,如查询到变换已结束,则读入转换完毕的数据。中断控制法是在启动信号送入A/D转换器时之后,单片机执行别的程序。当A/D转换器变换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回原程序14。这种方法单片机无需进行转换时间的管理,CPU效率高,所以特别适合于变换时间较长的A/D转换器时14。本系统就是采用中断控制法。89C51与ADC0809接口电路图如图3-3所示。将ADC0809作为外扩的并行I/O口,由P2.7和WR端的脉冲同时有效时启动A/D转换,通道选择端与A、B、C分别与地址线A0、A1、A2相连。其端口地址为7FF8H7FFFH。A/D转换结束后,EOC向89C51的INT1端输入一个高电平,既向单片机产生一个外部中断1信号。. 图3-3 ADC0809与89C51的中断方式原理图3.3 键盘和显示器接口设计3.3.1 键盘工作原理3键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘输入应解决的问题1键盘输入的特点键盘的实质是一组开关的集合。通常按键所用开关为机械弹性开关,均利用了机械触点的合、断。一个电压信号通过机械触点的断开、闭合过程,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下断开。因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为510ms。2消除按键抖动 1) 硬件消除抖动一般采用双稳态消抖电路。 2) 软件消除按键抖动。如果按键较多硬件电路将无法胜任,因此常采用软件的方法进行消抖。在第一次检测到有键按下时,执行一段延时10ms子程序后再按确认该键电平是否仍保持闭合状态,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。3键盘接口的工作原理常见的键盘接口分为独立式键盘接口和矩阵式键盘接口两种。本系统采用矩阵式键盘接口。矩阵式键盘接口是适用于按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。矩阵式4*4键盘如图3-4所示。从图中可以看出,在按键数量较多的场合,矩阵键盘与独立式按键相比,要节省很多I/O口线。图3-4 矩阵式4*4键盘原理图1)矩阵式键盘接口的工作原理按键设置在行、列线的交叉点上,行、列线分别连接开关的两端。行线通过上拉电阻接到正+5V。平时无按键时,行线处于高电平状态,而当有按键按下时,行线电平状态键由此行线相连的列电平决定。列线如果为低电平,这行线电平为低;列线电平如果为高,则行线电平也高。这是识别矩阵键盘按键是否被按下的关键所在。由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在的电平。因此各按键彼此间互相发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。2)按键的识别方法 按键识别的方法主要有扫描法、线反转法和键盘编码。由于本系统按键较多所以采用键盘编码的方法。3.3.2 LED显示器工作原理LED显示器有静态和动态显示两种方式。1LED静态显示LED显示器工作于静态显示方式时,各位的共阴极(或供阳极)连接在一起并接地(或+5V);每位的段选线(a-dp)分别与一个八位的锁存器输出相连。所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正是因为如此,静态显示的亮度比较高。2LED动态显示在多位LED显示时,为简化硬件电路,通常将所有的位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各共阳极或共阴极分别由相应得I/O线控制,实现各位的分时选通。由于动态显示所用接口管线较少,因此本系统采用LED显示器的动态显示方式。3.3.3 键盘/显示电路系统键盘显示接口采用8279芯片,用硬件完成键盘与显示器扫描4。键盘由0-9数字键,报警值设定键,时钟设定键,左位移键,确认键,运行键等组成,采用44键盘。用户可以通过键盘完成人机接口的各种操作。键盘以中断方式工作。当有按键时,8279申请中断CPU响应中断后转入键盘监控处理程序。显示器采用4个LED数码管,系统检测数据经AT89C51单片机处理后通过I/O口送到驱动电路,LED显示甲烷气体现场浓度。8279与单片机AT89C51的硬件接口电路图如图3-13所示。8279芯片外接48键盘和4位显示器,工作于4位显示和键盘输入工作方式,均为编码扫描,其组成可分为三个部分:图3-6 8279与单片机AT89C51的硬件接口电路图1显示接口:由4个7段LED显示器组成。SL0-SL2经74LS138(1)译码低四位扫描控制位选口,显示字符的段选码由8279芯片的一个4位输出口OUB0-3同步输出实现,并且经74LS06非门轮流驱动7段LED显示器。消隐显示信号输出线与74LS138(1)的使能端E3相连,当显示功换时,输出低电平关闭74LS138(1),从而达到显示消隐的目的。2键盘接口:16个键排成4行4列的矩阵。8279工作于键盘输入方式,4根列扫描线由SL0-SL7经74LS138(2)译码获得,只用其中的四根,4根行信号线由RL0,RL1,RL2,RL3引入。由于8279的输入线RL0-RL7内部有上位电阻,当无键按下时均为高电平,而当有键按下时则被键盘上的按键拉成低电平,该键的行、列号信息被读人FIFO RAM缓冲器中。同时8279的中断请求信号IRQ为高电平,可向CPU申请中断,读取键值代码。38279与AT89C51的接口:在硬件连线图中,单片机AT89C51的P2.7脚经反向器接片选信号CS。8279的A0端用于控制读写命令/状态和数据,A0与地址锁存器74LS373输出的最低位地址线AB0相接,所以8279的数据口地址为8FFEH,命令/状态口地址为8FFFH。8279的CNTL、SHIFT引脚接地。3.4 单片机复位电路的设计复位是单片机的初始化操作。其主要功能是把程序计数器PC值初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动单片机。RST引脚是复位信号的输入端,高电平有效,其有效时间应持续24个震荡周期(即两个机器周期)以上。若使频率为6MHZ的晶振,则复位信号持续时间超过4s才能完成复位操作。复位操作由上电复位和按键手动复为两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3-7所示。只要电源VCC的上电时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。按键手动复位分为电平方式和脉冲方式两种。其中,电平复位是复位端通过电阻与Vcc电源接通而实现的。脉冲复位是利用RC微分电路产生的正脉冲来实现的。在计算机测控系统中,为了保证微处理器稳定而可靠地运行,需要配置电压监控电路;为了实现掉电数据保护,需备用电池及切换电路;为了使微处理器尽快摆脱因干扰而陷入的死循环,需要配置看门狗电路,将完成这些功能的电路集成在一起的芯片中称为微处理器监控器。图3-7 单片机系统复位电路在单片机系统中,为了摆脱“死循环”通常采用“看门狗技术”也就是程序监控技术。“看门狗”技术就是不断监视程序循环运行时间,若发现时间超过已知的循环设定时间,则认为系统陷入了“死循环”,然后强迫程序即PC返回到0000H,在0000H处安排一段出错处理程序,使系统进入正常工作。“看门狗”技术可由硬件实现,可由软件实现,也可由两者结合实现。本系统采用微处理器监控器MAX690A完成硬件“看门狗”电路。MAX690A是美国MAXIM公司的产品,具有以下功能:(1)在微处理器上电、掉电及低压供电时,产生一个复位输出信号。(2)具有备用电池切换电路,备用电池可供给其他低功耗逻辑电路。(3)具有看门狗电路,该电路的触发脉冲时间间隔超过1.6s时,将产生一个复位输出。(4)可用于低电压检测。MAX690A的主要电气参数为:工作电压 Vcc(1.25.5V);静态电流200A ;备用电池方式静态电流50A;复位脉冲宽度 TRS为200ms;看门狗定时时间为1.6s;复位门限电平4.65V。MAX690A与89C51单片机的接口电路如图3-8所示:图3-8 MAX690A与89C51的接口电路本电路有复位电路和看门狗电路功能,R1、R2选取说明如下: (3-1)当R1=1k,R2=2.6 k,使+5V电压跌落到4.5V,PFI的输出电压低于1.25V时,PFO输出高电平作为单片机的中断信号。单片机正常工作时,P1.0口定期(小于1.6 s)改变WDI输入端的电平,使看门狗电路不发出复位电路。当出现“死机”,单片机将不能定期改变WDI电平,看门狗电路便会在1.6 s后产生一个复位信号,使单片机复位,待经过200ms复位脉冲宽后,单片机复位结束,程序从0000H开始重新执行,保证了系统的正常运转。3.5 单片机时钟电路的设计时钟电路用于产生89C51单片机工作时所必需的时钟信号。89C51单片机本身就是一个复杂的同步时序电路,为保证同步方式的实现,89C51单片机应在唯一的时钟信号控制下,严格地按时序执行工作。因此时钟电路是计算机的心脏,它控制着计算机的工作节奏。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。本系统采用内部时钟方式。89C51单片机内部有一个用于构成振荡器的高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分别是89C51的19脚和18脚。在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。89C51内部时钟方式的振荡电路如图3-9所示。晶体的振荡频率范围通常在1.2MHz到24MHz 之间。晶体的频率越高,则系统的频率越高单片机的运行速度越快。本系统选择振荡频率为24MHz的石英晶体。图3-9 AT89C51内部时钟方式电路3.6 系统原理综述系统硬件原理如原理图(附)所示。通过原理图,我们可以分析出系统的原理,于是系统主要原理如下:温度的测量通过温度传感器输出正比于不同温度的电压值来实现,在和8255A接口相连的pc中,通过二极管分别显示四个不同的水位情况。通过两个按键s2和s3来实现加热和加水的功能,当s2按下时,就触发外部中断0,进入中断子程序,执行加热功能。当s3按下时,就出发了外部中断1进入中断子程序,执行手动加水功能。 单片机通过P0口用一个8255A扩展芯片实现8位LED显示,Po口和373相连锁存地址信号,P2.0P2.3和水位检测传感器接口电路连接,P2.6和P2.7分别接有加水继电器和加热继电器。作为8255A的PC口接有6个二极管,分别用来显示水位1、2、3、4状态,还有加水状态和加热状态的提示信号。再通过接口电路8255A反映到显示屏上。单片机其余I/O口线安排:VCC:接+5V电源。GND:接地。RST:接MAX690A的RESET。P3.0(ALE):与8255H的ALE脚相连提供时钟信号。XTAL1、XTAL2:通过晶振实现单片机内部时钟。 PSEN:允许程序存储器输出控制端。EA:内外程序存储器选择控制端。P1.7:接MAX960的WDI端。RD:接8255H的RD端。WR:接8255H的WR端。4太阳能热水器中央控制器的软件设计在完成太阳能热水器中央控制器的硬件设计后,要达到系统设计需求,用单片机实现自动控制,就需要进行软件设计。同时运用软件设计可以相对地简化硬件结构,有效地降低设计成本并提高系统的性能。根据系统设计要求,软件设计应具备以下功能: 对水的温度数据的读入; 对数码管显示子程序的实现; 通过键盘输入实现数据采集; 将数据存入EPROM中实现掉电保护; 将采集到的数据通过LED显示。4.1 系统总体软件设计本系统主要是完成由89C51为核心控制器来实现对太阳能热水器水位和水温的检测,并在适当的时候报警,并把温度数据体现在8位数码管上。主程序首先完成对串口,定时器,中断源的初始化设置,初始运行参数,开中断,然后循环读取键盘状态,检测系统是否漏电。一旦检测到系统漏电,立即进行声音和显示报警,并切断所有执行机构电源;若系统不漏电,则根据存储的键盘状态和检测的水温,水位等状态信号进行相应的处理并等待中断服务程序的执行。其主要的软件原理图如图1和2。系统正常控制时,首先显示水温和水位,若检测到水流开关打开用水时,自动断开上水阀和电加热体电源,即实现水电联动,用水停电。当检测到水位过低时,控制单片机在8255A的PC3口的二极管提示加水,然后手动加水。达到最高水位时同样提醒停止加水。在水位超过第二档时,将检测到的实际水温和设置水温进行比较,若实际水温低于设置水温时,则加热体通电进行辅助电加热;若水温高于设置水温时,切断加热体电源;若检测到水位低档,不管温度设置高低,总是停止加热,防止加热体干烧,在加热功能中将最高水温控制在适当的温度,超温时停止加热并报警。图一系统主程序流程图4.2 数据采集软件设计4.2.1中断服务子程序开始关中断保护现场,关闭电磁阀将P3口的内容读入水位寄存器SW1中,其地址位0A0H将SW1中的内容进行处理,得出水位检测结果入SW2调用水位处理子程序置P3.4口为第二功能启动计数器T0并延时从计数器T0中读取V/F 的转换结果,并存入WD中调用温度算法子程序调显示子程序恢复现场开中断中断返回4.2.2水位检测子程序开始现场保护取水位结果是低水位是中水位是次高水位是高水位无水位显示指针偏移量置为04H显示指针偏移量为03H显示指针偏移量置为02H显示指针偏移量置为01H显示指针偏移量置为00H启动电磁阀显示缓冲区地址偏移显示段码地址将显示内容放入寄存器wx中恢复现场返回4.3显示和键盘软件设计当要进行显示和软件设计时,单片机首先要通过P2.7端向8155H的CE端输出一个高电平,选中8155H。4.3.1 动态显示程序设计在AT89C51内部的RAM中设置4个显示缓冲单元79H7CH,分别存放显示器的4位数据,8155H的PA口扫描输出总是只有一位高电平,即显示器的4位中仅有一位公共阴极为低电平,其它位高电平,8155H的P

温馨提示

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

评论

0/150

提交评论