资源描述
摘 要 本文主要设计了一种基于单片机的锅炉液位控制系统,它以STC89C52单片机作为核心控制器,通过STC89C52单片机,温度传感器、压力传感器和模数转换器,数码管显示等硬件系统和软件设计方法实现具有液位检测报警和控制双重功能.本系统在设计中主要有水位检测、温度检测、压力检测、按键控制、水位控制、显示部分、故障报警等几部分组成来实现液位控制。主要用液位传感器检测液位,用DS18B20温度传感器来检测水温,用三个控制按键来实现按健控制,用三位7段LED显示器来完成显示部分,用MOC3041双向可控硅来控制水泵的开关,用压力传感器检测锅炉内部压力,并且通过模数转换把这些信号送入单片机中。把这些信号与单片机中内部设定的值相比,以判断单片机是否需要进行相应的操作,即是否需要开启水泵,来实现对液位的控制,从而实现单片机自动控制液位的目的。本设计用单片机控制易于实现锅炉液位、温度和压力的控制,而且有造价低、程序易于调试、一部分出现故障不会影响其他部分的工作、维修方便等优点。关键词:STC89C52单片机,液位控制,显示,报警ABSTRACT Designed in this paper is a boiler liquid level controll system, which STC89C52 as a controller, through hardware and software design ,such as STC89C52 single chip, temperature sensor,pressure sensor and ADC, a system of digital display, reach to liquid level detection and alarm dual function control. The design of the system are mainly include the water level detection, temperature detection, pressure detection, key control, water level control, display, fault alarm, such as a few parts to achieve the level control. Detection of the main level with the water level sensors, temperature sensors DS18B20 is used to detected water temperature, with three control buttons to achieve the health control, with three 7 LED display to complete the display, using MOC3041 TRIAC to control the circulating pump switch ,with pressure sensors detect the internal pressure of the boiler. Through analog-to-digital conversion take these signals into the single chip. These single-chip signal and the internal set of values compared to determine the need for the corresponding single-chip operation, namely, the need to open the pump to achieve the level of control, thus in order to achieve the purpose of automatic control by single-chip solution. The design is easy to implement single-chip boiler liquid level control, temperature and pressure control, and its low cost and easy to debug the procedure, part of the failure will not affect other parts of the work, maintenance convenience, and so on.KEY WORDS:stc89c52 Single chip microcomputer, level control,display,alarm目录第一章 绪论11.1锅炉液位控制的背景11.2锅炉液位控制国内外发展概况21.2.1国内发展概况21.2.2国外发展概况21.3本课题研究目的及意义31.4 系统简介3第二章.主要芯片介绍52.1单片机STC89C52介绍52.1.1 STC89C52单片机的外部引脚说明52.1.2 STC89C52RC单片机的中断系统72.1.3 选择使用STC89C52RC的原因92.2芯片74LS164介绍92.2.1 74LS164的引脚图及引脚功能:102.2.2 74LS164的内部功能图102.2.3 74LS164的真值表112.2.4 74LS164有如下特点:112.3 模数转换器A/D0809122.3.1 ADC0809的逻辑结构122.3.2 ADC0809 的通道选择122.3.3 ADC0809的引脚图及各引脚作用132.4 温度传感器DS18B20142.4.1 DS18B20的内部结构及管脚图142.4.2 DS18B20技术性能描述152.4.3 DS18B20的温度处理过程162.5 LED数码管显示172.5.1 LED数码管显示器的结构182.5.2 LED数码管显示器的显示段码182.5.3 LED显示器的参数19第三章锅炉液位控制的硬件设计213.1系统硬件设计的总体方案及框图213.1.1系统硬件设计总体方案213.1.2 系统设计的总体框图213.2 键盘控制电路设计223.3 复位电路设计233.4 显示电路的设计243.4.1静态显示243.4.2 动态显示253.4.3 该设计中显示电路的选择253.5 液位控制电路的设计263.5.1 液位控制电路的工作原理及液位控制状态图263.5.2 液位控制的控制电路273.5.3 液位控制中的“虚假水位”283.6 测温电路及温度传感器的选择313.6.1 温度传感器的选择313.6.2 温度检测电路32第四章.软件设计及试验运行结果和讨论334.1 系统的软件设计334.2试验调试及运行结果344.2.1硬件调试344.2.2软件调试354.2.3 软硬件实时调试354.2.4系统实际调试结果364.3试验中遇到的问题及讨论36论文小结38致谢40参考文献41附录一 设计程序清单42附录二 电路原理图51附录三 硬件实物图52代做本论文毕业设计实物。代做专科、本科各个专业毕业论文。代做电子、机械类专业毕业设计。完全按照毕业设计指导书做,指导毕业答辩。淘宝交易: QQ: 122638863843 第一章 绪论1.1锅炉液位控制的背景目前我国的燃煤锅炉数量众多,我国现有中、小型锅炉30多万台,每年耗煤量占我国原煤产量的1/4,目前大多数工业锅炉仍处于能耗高、浪费大、环境污染严重的生产状态。国家在第10到第n个五年计划的科技创新指南中,对光机电一体化、资源与环境、新能源与高效节能的指导性课题中明确指出:需要开发研制自动化程度高、节能潜力大、提高安全系数、减轻环境污染、减轻劳动强度、价格低的新型测控装置。要求节煤率达到%5以上,装置投资的回收期在1年以内,采暖锅炉为3年以内。如中小型链条式工业锅炉用的新型测控装置。因此这个课题有现实意义且市场前景良好。锅炉微机控制,是近年来开发的一项新技术,它是微型计算机软件、硬件、自动控制、锅炉节能等几项技术紧密结合的产物,工业锅炉采用微机控制和原有的仪表控制方式相比具有以下明显优势:(1)直观而集中的显示锅炉各运行参数。能显示液位、压力、温度的状态。(2)在运行中可以随时方便的修改各种运行参数的控制值,并修改系统的控制参数。可以方便的改变液位、压力、温度等的上限、下限。(3)提高锅炉的热效率。采用计算机控制后热效率可比以前提高5一10%,据用户统计,一台20T的锅炉,全年平均负荷70%,以平均热效率提高%5计,全年节煤800吨。(4)锅炉系统中包含鼓风机、引风机、给水泵等大功率电动机,由于锅炉本身特性和选型的因素,这些风机大部分时间里是不会满负荷输出的,原有方式采用阀门和挡板控制流量,浪费非常严重。通过对风机、水泵进行微机控制可以平均节电达到30%一4%0。(5)作为锅炉控制装置,其主要任务是保证锅炉的安全、稳定、经济运行,减轻操作人员的劳动强度。在采用计算机控制的锅炉控制系统中,有十分周到的安全机制,可以设置多点声光报警和自动连锁停炉。杜绝由于人为疏忽造成的重大事故。综合以上种种优点可以预见采用计算机控制锅炉系统是行业的大势所趋。单片机是在一块芯片上集成了一台微型计算机所需的CPU、存储器、输入、输出等部件。单片机自问世以来,性能不断提高和完善,体积小、速度快、功耗低的特点使它的应用领域日益广泛。工业控制系统的工作环境恶劣,干扰强。故要求控制系统的工作稳定、抗干扰能力强。单片机能满足这些要求,因此单片机在控制领域得到了广泛的应用。使用单片控制锅炉是很好的选择。1.2锅炉液位控制国内外发展概况1.2.1国内发展概况目前我国在单片机测控装置研究、生产、应用中,取得了很大的成绩,总结了很多经验。但在这个行业,仍处于发展期。经调查,北京、天津的高校、科研院所在这方面开展的工作更看重的是理论、算法,研究出来的成果是论文的较多,看重在生产实际应用的较少;在上海,新型单片机测控装置与系统的研究、生产基础较雄厚,在生产中需要新型测控装置与系统,也就努力研究、开发。因此,上海的工程技术和科研人员需要的是应用技术,更看重的是生产实际应用,对研究理论、算法、成果是论文的较少;深圳在研制新型测控装置与系统领域也比较有成绩,尽管与其他国家开发者比尚有距离,但是,深圳的高校、科研院所的最大特点就是实际,与生产实际应用项目无关的问题基本上不去考虑,这里的工程技术和科研人员关心的不是理论、不是算法、不是论文,而考虑,是用什么材料、测控什么物理量、优点是什么、与机器设备的通讯接口等等。目前,国内对锅炉液位控制的方法大体有以下几种:(1)改进内模控制算法的方法。该方法的改进之处,即在ITAE性能指标下确定入参数值.然后,通过QXLPC-过程控制实验装置和西门子S7-300控制器,用改进内模控制算法对锅炉液位进行控制,结果表明这种方法具有良好的控制效果.(2)模糊控制方法。该方法先导出了锅炉液位的非线性模型,然后基于后推设计方法和自适应模糊控制理论,提出了锅炉液位的稳定控制律,理论分析证明,液位控制的跟踪误差收敛到零。仿真结果表明,该方法有良好的动态性能和稳态精度。 上诉的控制方法仅是锅炉液位控制系统应用和研究的一个侧面,国内外还有许多学者对此进行了不同程度的研究。1.2.2国外发展概况随着各种微处理器的出现和发展,国外对锅炉液位控制系统的研究也在不断发展和完善。一些发达国家在单片机新型测控装置与系统研究、制造、应用上,已积累了经验,奠定了基础,进入了国际市场。我国在新型测控装置与系统研究、制造、应用和经验上,有一定的基础,与其他发达国家相比还存在距离,但是,我国的科研人员能够克服很多困难,有望在相关领域赶上甚至超过发达国家的技术水平,这是发展趋势。1.3本课题研究目的及意义在现代社会中,随着工业的发展,居民生活区的集中热力供应量的需求也越来越大,蒸汽锅炉的容量不断提高,对操作过程要求更加严格,锅炉的液位控制直接影响人们自身和设备的安全。液位过低可能使锅炉出现干烧现象,液位过高又会使锅炉蒸汽压力过高,发生危险,传统的液位控制不能进行远距离的集中控制,自动化程度低,调节精度差等缺点,且单靠人工操作已不能适应,控制系统改造的必要性随着科学技术的不断进步,被控对象越来越复杂,人们对控制精度的要求不断提高。由于被控对象和过程的非线性、时变性,多参数间的强耦合、随机干扰等因素,使得建立被控对象的精确数学模型变得很困难。在这些复杂的系统面前,传统的控制方法无法满足控制精度,而且系统稳定性差。更好地对锅炉进行自动化控制,同时随着单片机技术,自动控制技术的迅速发展,利用单片机及其外围芯片实现锅炉液位控制已经成为可能,而且也成为一种发展的趋势,单片机不仅有体积小,安装方便,功能较齐全等优点,而且有很高的性价比,因此应用前景广,同时有助于发现可能存在的故障,通过微机实现燃烧与给水系统的自动控制与调节,将保证锅炉正常供气供水,维持稳定系统,保证安全经济运行。本文即是用单片现的一种锅其有较高的实用价值和优越性。1.4 系统简介本课题的研究对象为锅炉的液位,对其液位进行控制。基本思想是以STC89C52作为控制器,通过STC89C52单片机,压力传感器、温度传感器(DS18B20)和模数转换器(ADC0809)等硬件系统和软件设计方法实现具有液位报警和控制的双重功能,同时也具有压力和温度显示控制的功能,并对温度和压力值交替进行显示。 系统硬件设计包括以下几部分:STC89C52芯片为核心控制器,温度采集和温度设定部分、键盘显示部分、A/D变换部分、报警部分、液位控制等部分组成。可实现的具体功能如下:(1)当液位低至给定的下限液位时,启动水泵对锅炉进行加水,同时水泵工作状态指示灯亮2个,表明水泵以中速在加水。(2)当液位高至给定上限的液位时,停止水泵对锅炉进行加水,水泵工作状态指示灯全灭,表明水泵停止工作。(3)当由于某种特殊原因,液位低于下下限水位时,仍没有启动水泵进行加水,则达至极低水位时,再次启动水泵进行加水,并进行报警。(4)当液位高于上上限水位时,停止水泵加水,并进行报警。(5)有消除报警按钮,当有报警时操作人员在知道的情况下可以按下其其消除报警并去做相应的处理工作。(6)有紧急停止按钮,在遇到紧急情况时可以停止系统的运行。(7)有温度和压力传感器,同时可以交替显示其温度和压力值。(8)采用双向可控硅来控制水泵的开与关,比电机控制简单。(实际设计中用三个发光二极管来表示水泵的开度,即流量。)第二章.主要芯片介绍2.1单片机STC89C52介绍STC89C52单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统的8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。2.1.1 STC89C52单片机的外部引脚说明STC89C52单片机有40个引脚,采用双列直插(DIP)方式封装,其引脚图如图2-1所示。 图2-1 STC89C52的管脚图STC89C52单片机的40个管脚中有2个专用于电源的引脚。2个外接晶体的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。按引脚功能分为4个部分叙述个引脚的功能。2.1.1.1主电源引脚Vcc和VssVCC(40脚): +5V主电源正端 Vss(20脚):+5V主电源地端2.1.1.2 外接晶体引脚XTAL1和XTAL2XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚): 接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。2.1.1.3 控制信号或与其它电源复用引脚RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)PSEN(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别89C52是否在工作。ALE/PROG(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。EA/VPP(31脚): 当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。2.1.1.4 输入/输出引脚P0口、P1口、P2口及P3口(1) P0口(32-39脚):P0口是一个漏极开路的8位准双向I0口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。P0口有三个功能:外部扩充存储器时,当作数据总线(D0D7);外部扩充存储器时,当作地址总线(A1A7)。不扩充时,可做一般I/O口使用,但内部没有上拉电阻,作为输入或输出时应在外部接上拉电阻。(2) P1口(1-8脚):P1口是一个带内部上接电阻的准双向IO口。P1的每一位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1引脚由内部上接电阻接成高电平。P1.0和P1.1多了T/C2的复用。 (3) P2口(21-28脚):P2口是一个带内部上接电阻的8位准双向IO口。P2口每一位能驱动4个LS型TTL负载。P2口有两个功能:扩充外部存储器时,当作地址总线(A8A15)使用。做一般I/O口使用,其内部有上拉电阻。(4) P3口:P3口是一个带内部上接电阻的8位准双向IO口。P3口每一位能驱动4个LS型TTL负载。P3口与其它IO口有较大区别,每个引脚还具有专门功能,除了作为I/O口使用外(内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。P3口的第2功能见表2-1。端口1、2、3有内部上拉电阻,当作为输入时,其电位被拉高,若输入为低电平可提供电流源;其作为输出时可驱动4个LS TTL。而端口0作为输入时,处在高阻抗的状态,其输出缓冲器可驱动8个LS TTL(需要外部的上拉电阻)。 引脚 第2功能 P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2INT0(外部中断) P3.3INT1(外部中断) P3.4T0(TIMER0的外部输入脚) P3.5T1(TIMER1的外部输入脚) P3.6WR(外部数据存储器的写入控制信号) P3.7RD(外部数据存储器的读取控制信号) 表 2-1 P3口的第2功能表2.1.2 STC89C52RC单片机的中断系统计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。大体来说,采用中断系统改善了计算机的性能,主要表现在以下几个方面:(1) 有效地解决了快速CPU与慢速外设之间的矛盾,可使CPU与外设并行工作,大大提高了工作效率。(2) 可以及时处理控制系统中许多随机产生的参数与信息,即计算机具有实时处理的能力,从而提高了控制系统的性能。(3) 使系统具备了处理数据的能力,提高了系统自身的可靠性。由此可见,“中断”已成为现代计算机的1种重要功能,而中断系统功能的强弱已称为衡量1台计算机功能完善与否的重要标志之一。2.1.2.1中断源所谓中断源就是引起中断的事件,亦即是什么部件要求中断。STC89C52单片机提供了8个中断源:4个外部中断请求INT0、INT1、INT2和INT3,3个片内定时器/计数器T0、T1和T2的溢出中断请求TF0、TF1和TF2及串行口中断请求TI或RI(合为一个中断源)。2.1.2.2中断的优先级中断与普通8052 完全兼容,优先级可设为4 级,另增加2 个外部中断INT2/P4.3,INT3/P4.2。其优先级设置如表2-2。中断源中断查询次序中断优先级设置优先级0优先级1优先级2优先级3中断请求INT00(最优先)PX0H,PX00,00,11,01,1IE0Timer01PT0H,PT00,00,11,01,1TF0INT12PX1H,PX10,00,11,01,1IE1Timer13PT1H,PT10,00,11,01,1TF1UART4PSH,PS0,00,11,01,1RI+TITimer25PT2H,PT20,00,11,01,1TF2+EXF2INT26PX2H,PX20,00,11,01,1IE2INT37(最低)PX3H,PX30,00,11,01,1IE3 表2-2 中断优先级设置表2.1.2.3中断响应的条件及过程单片机响应中断的条件为中断源有请求(中断允许寄存器IE相应位置1),且CPU开中断(即EA=1)。这样,在每个机器周期内,单片机对所有中断源都进行顺序检测,并可在任1个周期的S6期间,找到所有有效的中断请求,还对其优先级进行排队。但是,必须满足下列条件:(1)无同级或高级中断正在服务;(2)现行指令执行到最后1个机器周期且已结束;(3)若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且紧随其后的另1条指令也已执行完。单片机便在紧接着的下1个机器周期的S1期间响应中断。否则,将丢弃中断查询的结果。 中断响应的过程:单片机一旦响应中断,首先对相应的优先级有效触发器置位。然后执行1条由硬件产生的子程序调用程序,把断点地址压入堆栈,再把与各中断服务程序的入口地址送入程序计数器PC,同时清除中断请求标志,从而程序便转到中断服务程序。2.1.3 选择使用STC89C52RC的原因(1)超低功耗:掉电模式: 典型功耗 0.1 A正常工作模式: 典型功耗 4mA - 7mA掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等。(2)超强抗干扰:高抗静电(E S D 保护)轻松过2 K V / 4 K V 快速脉冲干扰( E F T 测试)宽电压, 不怕电源抖动;宽温度范围, - 4 0 8 5 (3)三大降低单片机时钟对外部电磁辐射的措施:禁止A L E 输出;如选6 时钟/ 机器周期,外部时钟频率可降一半;单片机时钟振荡器增益可设为1 / 2 g a i n 。(4)加密性强(5)在系统可编程, 无需编程器, 无需仿真器(6)可供应内部集成M A X 8 1 0 专用复位电路的单片机,只有D 版本才有内部集成专用复位电路,原复位电路可以保留,也可以不用,不用时R E S E T 脚接1 K 电阻到地。2.2芯片74LS164介绍74LS164是一个串行输入并行输出的移位寄存器,并带有清除端。其中,Q0Q7为并行输出端,常用于扩展并行口,A、B为串行数据输入端,CLOCK为时钟端,CLEAR为清除端。当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。2.2.1 74LS164的引脚图及引脚功能: 图 2-2 74LS164的引脚图CLEAR(9脚):高电平有效,低电平时使所有输出(QaQh)为低电平。 Clock(8脚):上升沿输出移位,其余状态保持。 A(1脚)/B(2脚)输入:逻辑与关系,即全高为高,见低为低。QAQH输出:并行输出口。2.2.2 74LS164的内部功能图 图 2-3 74LS164的内部功能图74LS164的内部实质上是8个SR触发器。 2.2.3 74LS164的真值表 INPUTS OUTPUTSCLEARCLOCKA BQA QBQH L H H H H X L X XX XH HL XX L L L LQA0 QB0 QH0H QAn QGnL QAn QGnL QAn QGn 表2-3 74LS164的真值表 H高电平 L低电平 X任意电平 低到高电平跳变 。QA0、QB0、QH0 规定的稳态条件建立前的电平。QAn、QGn 时钟最近的前的电平2.2.4 74LS164有如下特点:(1)串行输入带锁存。 (2)时钟输入,串行输入带缓冲。 (3)异步清除。 (4)最高时钟频率可高达36Mhz (5)功耗:10mW/bit (6)74系列工作温度: 0C to 70C (7)Vcc最高电压:7V ;输入最高电压:7V (8)最大输出驱动能力: 高电平:0.4mA 低电平:8mA2.3 模数转换器A/D08092.3.1 ADC0809的逻辑结构ADC0809是典型的8位8通道逐次逼近型A/D转换器,采用CMOS工艺制造。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图2-5)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 图 2-5 ADC0809的内部结构2.3.2 ADC0809 的通道选择地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道的选择。通道选择如表2-4所示: C(ADDC) B(ADDB) A(ADDA)选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 1 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7表2-4 ADC00809的通道选择2.3.3 ADC0809的引脚图及各引脚作用ADC0809芯片为28引脚双列直插式封装,其引脚排列见图2-6。 图2-6 AD0809的管脚图(1)IN0IN7:8条模拟量输入通道。ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。(2)ADDA、ADDB、ADDC:模拟通道地址线。这3根地址线用于对模拟通道进行选择,其译码关系如表所示,ADDA为低位地址,ADDC为高位地址。(3)ALE:地址锁存信号。对应于ALE上跳沿时,ADDA、ADDB、ADDC地址状态送入地址锁存器中。(4)START:转换启动信号。在START信号上跳沿时,所有内部寄存器清0;在START下跳沿时,开始进行A/D转换。在A/D转换期间,START信号应保持低电平。该信号可简写为ST。(5)D0D7:数据输出线。该数据输出线为三态缓冲输出形式,可以和单片机的数据总线直接相连。(6)OE:输出允许信号。它用于控制三态输出锁存器向单片机输出转换后的数据。OE=0时输出数据线呈高阻态;OE=1时输出允许。(7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,通常使用频率为500kHZ的时钟信号。(8)EOC:转换结束状态信号。当EOC=0时,表示正在进行转换;EOC=1时,表示转换结束。实际使用中该状态信号既可以作为查询的状态标志,还可以作为中断请求信号使用。(9)Vef:参考电压。参考电压作为逐次逼近的基准,并用来与输入的模拟信号进行比较。其典型值为+5V(Vref(+)=+5V、Vref(-)=0)。2.4 温度传感器DS18B20DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。这些特点使DS18B20非常适用于远距离多点温度检测系统。2.4.1 DS18B20的内部结构及管脚图DS18B20的内部结构如图2-7所示,主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。DS18B20的电源也可以从外部3V-5.5V的电压得到。图 2-7 DS18B20的内部结构DS18B20的管脚排列如图2-8所示,DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源输入端。 该图引自单片机课程设计实例指导图 2-8 DS18B20的管脚排列2.4.2 DS18B20技术性能描述(1) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2) 测温范围 55125,固有测温分辨率0.5。(3) 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。(4) 工作电源: 35V/D.C;在使用中不需要任何外围元件。(5) 测量结果以912位数字量方式串行传送。(6) 适用于DN1525,DN40DN250各种介质工业管道和狭小空间设备测温。(7) PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。2.4.3 DS18B20的温度处理过程2.4.3.1 DS18B20的初始化(1) 先将数据线置高电平“1”。(2) 延时(该时间要求的不是很严格,但是尽可能的短一点)。(3) 数据线拉到低电平“0”。(4) 延时750微秒(该时间的时间范围可以从480到960微秒)。(5) 数据线拉到高电平“1”。(6) 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8) 将数据线再次拉高到高电平“1”后结束。其时序如图2-9所示: 该图引自单片微型计算机原理及接口技术 图2-9 初始化时序2.4.3.2 DS18B20的写操作(1) 数据线先置低电平“0”。(2) 延时确定的时间为15微秒。(3) 按从低位到高位的顺序发送字节(一次只发送一位)。(4) 延时时间为45微秒。(5) 将数据线拉到高电平。(6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7) 最后将数据线拉高。DS18B20的写操作时序图如图2-10所示。 该图引自单片微型计算机原理及接口技术 图2-10 写时序2.4.3.3 DS18B20的读操作(1)将数据线拉高“1”, 延时2微秒。(2)将数据线拉低“0”, 延时15微秒。(3)将数据线拉高“1”, 延时15微秒。(4)读数据线的状态得到1个状态位,并进行数据处理。(5)延时30微秒。DS18B20的读操作时序图如图2-11所示。该图引自单片微型计算机原理及接口技术图 2-11读时序2.5 LED数码管显示2.5.1 LED数码管显示器的结构LED显示器是一种由发光二极管显示字段的显示器件,也可称为数码管。单片机系统中通常使用8段LED数码显示器,其外形及引脚如图2-12(a)所示,由图可见8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括AF在内的部分英文字母和小数点“ ”等字样。 图 2-12 LED数码管显示的结构LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阳极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时不点亮。称为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阴极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时不点亮。称为共阴极LED显示器。如图2-12(b)所示。2.5.2 LED数码管显示器的显示段码为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如表2-5: 表2-5 段码位的对应表段码位 D7 D6 D5 D4 D3 D2 D1 D0显示段 dp g f e d c b a用LED显示器显示十六进制数和空白字符与P的显示段码如表2-6所示。字型共阳极段码共阴极段码 字型共阳极段码共阴极段码 0 C0H 3FH 9 90H 6FH 1 F9H 06H A 88H 77H 2 A4H 5BH B 83H 7CH 3 B0H 4FH C C6H 39H 4 99H 66H D A1H 5EH 5 92H 6DH E 86H 79H 6 82H 7DH F 84H 71H 7 F8H 07H 空白 FFH 00H 8 80H 7FH P 8CH 73H 表2-6 十六进制数和空白字符与P的显示段码共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的,当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合从而显示各种字符。8个笔划段dpgfedcba对应于1B(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴极LED显示器,当公共阴极接地(为零电平),而阳极dpgfedcba各段为01110011时,显示器显示“P”字符,即对于共阴极LED显示器,“P”字符的字形码是073。如果是共阳极LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(0x8C)。这里必须注意的是:很多产品为方便接线,常不按规则的方法去对应字段与位的关系,这时字形码就必须根据接线自行设计了。 2.5.3 LED显示器的参数 由于LED显示器是以LED为基础的,所以它的光、电特性及极限参数意义大部分与发光二极管的相同。但由于LED显示器内含多个发光二极管,所以需有如下特殊参数:(1) 发光强度比 由于数码管各段在同样的驱动电压时,各段正向电流不相同,所以各段发光强度不同。所有段的发光强度值中最大值与最小值之比为发光强度比。比值可以在1.52.3间,最大不能超过2.5。 (2) 脉冲正向电流 若笔画显示器每段典型正向直流工作电流为IF,则在脉冲下,正向电流可以远大于IF。脉冲占空比越小,脉冲正向电流可以越大。 第三章锅炉液位控制的硬件设计3.1系统硬件设计的总体方案及框图3.1.1系统硬件设计总体方案系统的硬件结构主要包括:STC89C52RC、4个液位传感器、1个温度传感器DS18B20、逐次逼近式A/D换器ADC0809、双向可控硅驱动电路MOC3041和双向晶闸管Z0409MF等。此外,还有键盘显示电路、报警输出电路等。(由于资金原因及市场上很难买到,4个液位传感器用一个10K的电位器模拟,水泵的状态用3个发光二极管模拟。)它的工作流程如下:开始,由电位器每隔5s对水位进行采样,并输出0-5V模拟信号,再经AD转换变成相应的数字信号,送入STC89C52单片机进行数据处理。单片机经运算后,与设定的液位值(下限液位H1、上限液位H2、下下限液位H3、上上限液位H4)依次进行比较:若H1HXH2:则表示正常液位,水位指示灯亮,呈红色,水泵工作开度最小,其指示灯有一个亮,呈红色;若H3=HX=H1:则表示处于下下限与下限液位之间,水泵处于正常开度状态,有俩个工作指示灯亮,呈红色;若H2=HX=H4:则表示处于上限与上上限液位之间,停止水泵供水,水泵工作指示灯全灭;液位正常指示灯灭;若HX=H4:则表示达至上上限液位,水泵处于全关状态,三个工作指示灯全灭,并启动报警器报警;同时数字温度传感器DS18B20把采集到的温度值送到单片机中经处理后,通过74LS164驱动的静态数码管显示其采集到的温度值。压力传感器把采集到的数据经A/D0809转换之后送到单片机经过处理后,也通过数码管显示其压力值。在设计中有一个温度与压力值交替显示的按键,它可以按人们的意愿去选择显示温度值还是压力值。如果报警器启动后,设有报警消除按钮,消除报警;有温度和压力转换按钮,可以轮流显示温度和压力值。3.1.2 系统设计的总体框图单片机STC89C52执行机构水泵ADC0809锅炉传感器键盘显示报警给定值图3-1 系统的总体框图 在实际的硬件电路中,用3个发光二极管来模拟水泵的全开,半开,全关三种状态。4个液位传感器用一个电位器来模拟,通过调节电位器的电压值大小,来模拟液位的几种状态。执行机构为MOC3041双向可控硅来驱动水泵的工作,报警器件选择压电蜂鸣器。3.2 键盘控制电路设计为了便于实现各种的控制要求,智能调节器必须具备快速设置被控参数且操作方便,还必须增加键盘装置。键盘控制有矩阵式和独立式两中。 矩阵式键盘又有编码式和非编码式。单片机系统中普遍使用非编码式键盘,这类键盘应主要解决以下几个问题:(1) 键的识别。(2) 如何消除键的抖动。(3) 键的保护。在以上几个问题中,最主要的是键的识别。对于键的识别,既可以采用程序扫描的方法,也可以采用专用的可编程键盘显示接口8279.独立式按键就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。它的优点是:电路配置灵活,硬件结构简单。缺点是:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘是用于按键较少或操作速度较高的场合。由于该设计中按键数量少,所以采用了独立式按键。按键电路如图3-2所示。 图 3-2 键盘控制电路图本电路中独立式按键电路,各按键开关均采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平;当按键按下时,去执行相应的功能。如输入口线内部已有上拉电阻,则外电路的上拉电阻可省去。按键的处理可以采用中断方式,也可以采用查询方式。键盘工作方式的选取原则是既要保证能及时响应按键操作,又要不过多占用单片机的工作时间。所以选择中断方式处理按键。3.3 复位电路设计 STC89C52单片机中RESET引脚为复位引脚,在振荡器运行的情况下,要实现复位操作,必须使RESTE引脚至少保持两个机器周期的高电平。复位分为加电自复位和开关复位两种方式。加电自复位(见图3-3)在通电的瞬间,在RC电路的充电过程中,RST端口出现正脉冲,从而使单片机复位;键电平复位(见图3-4)是复位端口通过电阻与Vcc相连,来达到复位的目的;按键脉冲复位(见图3-5)是利用RC微分电路产生正脉冲来达到复位的目的。本系统采用的是上电自复位电路。电路中的参数C一般取22uF,R取1K,这样是为了在RST/Vpd端提供足够的高电平脉冲时,使单片机能够可靠地上电自动复位。 图 3-3 上电自复位电路图 图3-4 按键电平复位电路图 3-5 按键脉冲复位电路图 3.4 显示电路的设计 对于多为数码管显示器来说,为了简化线路、降低成本,往往来采用以软件为主的接口方法,即不使用专门的硬件译码器,采而用软件程序进行译码。如前所述,由于各位数码管的显示段码是互相并联的,因此在同一时刻只能显示同一种字符。对于这种接口电路来说,其显示方法有静态显示和动态显示两种。3.4.1静态显示所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。3.4.2 动态显示如果要在同一时刻显示不同的字符,从电路上看,这是办不到的。因此只能利用人眼视觉的残留效应,采用动态扫描显示的方法,逐个地循环点亮各位数码管,每位显示1ms左右,是人眼看起来就好像在同时显示不同的字符一样。 在进行动态显示时,往往事先并不知道应显示什么内容,这样也就可以选择被显示字符的显示段码。为此,一般采用查表的方法,由待显示的字符通过查表得到其对应的显示段码。3.4.3 该设计中显示电路的选择可以提供单独锁存的I/O接口电路很多,且静态显示的软件设计比较容易。所以在设计中选择常用的串并转换电路74LS164静态显示电
展开阅读全文