已阅读5页,还剩79页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1基于单片机的锅炉温度控制系统的设计摘要在对当前采暖需求情况广泛调查的基础上,结合工程实际需要,针对小型家用燃气锅炉的特点,研制开发了基于MCS51单片机的小型家用燃气锅炉温度控制系统,旨在使用燃煤锅炉集中采暖时所遇到的锅炉温度不易控制,改进家庭采暖的控制方式,提高采暖的经济性。利用PROTEL99SE电路设计软件,对智能控制器的电源电路、复位电路、时钟电路、报警电路、LCD液晶显示电路以及控制器的核心温度采集电路进行了设计。电源采用三端集成稳压器W7800W7900系列元件7805,交流220V电压转换为单片机所需要的5V电压;利用AT89S51作为控制器的核心器件;利用集成电路温度传感器DS18B20测量锅炉水温将测量的水温与设定值比较,单片机另外使用LCD液晶显示器显示水位的上下限值、当前水位、预先设定的温度报警值和当前采集的温度值。当温度超过设定的报警温度值,系统会发出报警声音,同时关闭锅炉燃烧器。等待温度降到下限值,这时就可以重新锅炉燃烧器通电,继续加温,如此反复监控温度。这样就可以节约能源,提高能源的使用率。针对系统的要求和特点,在上述硬件电路及实现方法的基础上,利用汇编语言,设计了基于单片机的锅炉温度控制系统。控制软件主要包括温度和温度采集子程序、水位控制程序、键盘扫描子程序和LCD液晶显示子程序等。通过对温度和水位的测试,可以发现所设计的控制系统能够满足设计要求,达到了预期的效果。关键词单片机;LCD;燃气锅炉;温度控制;DS18B20目录1绪论111课题背景及研究意义112系统的总体设计思想22系统方案论证及工作原理421设计方案论证422系统结构框图4221主要器件的选择6222锅炉辅助器件选择63硬件电路设计831主电路832单片机选择设计933单片机最小系统11331时钟电路设计11332复位电路1234温度检测电路设计及温度传感器选择12341DS18B20简介12342温度采集电路1435温度控制电路设计1436水位控制电路1536显示电路设计1737报警电路设计2138稳压电源电路设计2239按键电路设计224系统软件设计2441主流程图设计2442中断程序程序2543DS18B20温度采集子程序设计2544LCD液晶显示子程序设计27总结28参考文献30附录31附件A总程序311绪论11课题背景及研究意义锅炉是一种热能转换设备,由锅和路两大主体和保证其安全经济连续运行的附件,仪表附属设备,自控和保护系统组成,水在锅(锅筒)中不断被炉里燃料燃烧释放出来的能量加热,温度升高并产生带压蒸汽,由于水的沸点随压力的升高而升高,锅是密封的,水蒸气在里面的膨胀受到限制而产生压力形成热动力(严格的说锅炉的水蒸气是水在锅筒中定压加热至饱和水再汽化形成的)作为一种能源广泛使用。锅炉广泛用于生产和生活之中。中小型锅炉作为供暖设备用于提供热水,取暖方面得到了广泛应用。目前,取暖多采用集中供暖方式。集中供暖,一般都是按一个采暖季每平方(建筑面积)来收费的,对北方地区来说,天气比较冷,需要供暖时间长,应该集中供暖省钱。指集中集团式供暖的一种形式。从能源利用方面讲,集中供暖一次性投资大,运行费用高,无论是否需要,暖气始终全天供热,因楼层不同而造成温度不均,若遇到供暖偏热,居民只有开窗降温,使宝贵的能源白白浪费。这种供暖方式从原理上而言,效率较高。集中供暖的锅炉大多数是燃媒锅炉,锅炉燃烧时污染大,已经带来了严重的环境污染问题。由于这些用户采用集中取暖,给个别用户带来不便的缺陷。基于这种情况,近年来采用以天然气,液化石油气为燃料的中小型燃气锅炉具有高效、环境污染小,发热量大甚至无污染等特点,受到普遍欢迎。尤其在国外,燃气锅炉目前已得到了普遍应用。家用燃气锅炉常见的是套管式燃气锅炉、板换式燃气锅炉、冷凝式燃气锅炉。随着科技的发展以及各种客观条件的具备,生活采暖用燃气锅炉的应用也必将得到进一步的发展与推广。随着燃料不断补给,燃料充足,城市燃气管网逐步完善,燃气使用率逐步会提高。市场经济的发展与开放,国有企业享受国家能源补贴的取消,住房逐渐私有化,供热管网费、采暖费全部由个人支付。会有越来越多的人放弃集中供热方式而采用分散采暖方式。而小型家用燃气锅炉的使用作为集中供暖的一个很好补充或替代它必将被越来越多的人关注和选用成为趋势。目前市场上家用燃气锅炉为进口,价格高,售后服务不够完善,不利于燃气锅炉的推广使用,研制燃气锅炉的公司亦相对较少。因此研制开发小型家用燃气锅炉就具有现实的意义与客观的市场价值。本设计将结合小型家用燃气锅炉实际的需要,利用MCS51系列单片机为核心器件组成温度控制系统,采用温度采集技术,通过运行和分析研究,以期正确认识和全面理解利用单片机实现温度采集技术在过程控制中的应用。12系统的总体设计思想目前,世界计算机市场上出现了专门用于工业控制的单片机系列产品,单片机以其体积小、重量轻、功耗低、价格便宜、功能强的特点,在工业控制的实践中得到越来越广泛的应用单片机不仅可以实现各种常规的控制,还可以根据被控对象的特性,充分利用控制理论的最新研究成果,采用更完善的控制方式,以获得更好的控制效果。目前,由于家用锅炉属于批量生产,而且每台锅炉需要一套完整的控制系统,针对这些特点,尤其从产品成本角度出发,以MCS51为核心器件组成的控制系统是比较理想的选择。此外,MCS51系列单片机运算能力、完备的控制功能、加上完善的外部接口电路,对中小型锅炉控制系统完全可以胜任。在外围芯片选取时,尽量选取典型的、易于扩展和替换的芯片和电路,并本着节约成本的思想。选用基于单总线的数字温度传感器DS18B20和LCD液晶显示器。DS18B20温度传感器采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域;LCD液晶显示器为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。它们二者与单片机的接口比较简单,而且编程强度不大,既保证了系统的稳定性,又缩短了系统的开发周期,节约了开发成本。系统在软件上采取模块化的程序结构。主程序作为控制程序,为整个系统软件的一条主线,其它功能模块均采用子程序调用、查询等方式,为调试和扩充提供了方便。本系统的电源采用市场上常见的W78007800系列7805电源稳压芯片,模拟信号和数字信号分别用单独的供电回路,以避免电源干扰。利用温度传感器DS18B20采集测量锅炉水温;使用LCD液晶显示器显示水位的上下限值、预先设定的温度报警值和当前采集的温度值。利用继电器控制燃烧器和给水泵的加热和给水。当锅炉内的水的实际水温超过报警温度值,系统会发出报警声音,这时接在单片机一端的继电器动作,燃烧器断电。此时温度传感器实时对锅炉温度检测,当温度降到设定值的下限时,继电器重新通电。燃烧器电源重新接通,锅炉继续加热。如此反复监控温度。这样对锅炉温度控制不仅可以节约能源,提高能源的使用率。此外,为符合实际本系统对锅炉的水位进行实时监控,防止锅炉干烧和锅炉水溢出,以免造成能源浪费和水溢出引起的锅炉爆炸严重后果。2系统方案论证及工作原理21设计方案论证方案一采用AT89S51单片机、7805电源稳压芯片、热敏电阻、74HC138和1616点阵显示器,液位控制器等核心部件。该方案中单片机控制1616点阵显示器这部分程序比较复杂,编程的强度较大,容易出错。另外,在硬件电路上,74HC138、1616点阵显示器与单片机接口复杂,而且它们的外围电路较多,不适合用在锅炉的嵌入式系统设计中。采用液位继电器可以简单控制锅炉液位,但增加了成本开销。方案二采用AT89S51单片机、7805电源稳压芯片、温度传感器DS18B20和液晶显示器LCD1602等核心部件。该方案采用液晶显示器来显示水位的上下限值、当前水位、预先设定的温度报警值和当前采集的温度值,直观、接口简单而且编程强度不大。用不锈钢管制作成的装置放于水位上下限,简单。这样就可以缩短系统的开发周期,减少系统成本开销。另外,温度传感器DS18B20的温度测量范围、精度、响应时间、稳定性都要比热敏电阻好。综上分析,采用第二种方案。本系统主控单片机的全部程序都是用汇编语言来编写,采用KEILUVISION3集成开发环境来开发单片机应用程序。22系统结构框图锅炉温度控制系统的主控部分由单片机构成。通过按键电路进行温度报警值的设定,并对锅炉的水温进行采集及处理,然后与报警值比较,当温度值大于温度上限值报警值时就报警,停止加热。当温度少于温度下限值时,重新启动进行加热处理。以此重复对锅炉温度控制。同时为结合实际需要,本系统亦对锅炉水位进行控制。液晶显示,显示水位上限值,水位下限值以及温度报警值和实际温度值。图21所示是其系统结构框图。AT89S51按键设定温度采集稳压电源复位液晶显示继电器燃烧器报警给水泵图21系统结构框图在工业生产中,锅炉是一种重要的动力系统。其中锅炉的温度过程控制,又是一个重要环节。本系统过程控制系统主要应用于燃气锅炉的水温控制系统。在燃气锅炉里面,天然气液化石油气作为燃料,锅炉中的水作为加热对象。温度传感器的输出信号经调理电路处理后作为单片机系统的输入信号。本系统要采样的是锅炉的水温和锅炉的水位控制信号。温度控制系统的控制信号通过继电器控制燃烧器内进出气,由三个进气阀实现控制。燃烧器的作用是继电器接通燃烧器电源后,燃烧器通过其内部的光电检测管检测锅炉内有无火光,若有火光则表示点火成功,不需启动点火变压器,否则启动点火变压器进行点火,同时电磁阀打开进气,这时光电管检测到火焰,关闭点火变压器,系统点火成功。该中小型燃气锅炉所需要温度的热水是根据用户需要调节的。控制系统根据温度传感器检测到的温度与温度设定值比较,给出控制信号若实际温度大于报警值时,单片机实行对继电器的电源关断,这时燃烧器断电,锅炉不进行加热处理。温度传感器一直检测锅炉内部的水温。当温度传感器检测的温度小于用户设定值的时候,单片机根据温度的比较信号,重新对继电器进行通电,锅炉重新加热。本系统燃烧控制系统(又称为燃烧调节系统)采用有差调节系统。有差调节时系统调节过程中被调参数值在设定的参数范围内变动。在供热锅炉中常采用有差调节就能达到要求,所以系统采用有差调节系统并采用双位控制。如图22所示。燃烧控制(调节)系统有差调节系统无差调节系统位式控制比例控制比例积分调节PI比例积分微分调节(PID)双位控制三位控制图22燃烧控制(调节)系统221主要器件的选择1选用ATMEL公司单片机AT89S51。2选用DALLAS半导体公司温度传感器DS18B203液晶显示器LCD1602222锅炉辅助器件选择1奥林燃烧器型号GP300T功率KG7004000火焰探测器型号QRA2伺服马达型号SQM气阀密封检漏器型号VDK200/VPS504/DK2F燃烧器控制外置重量KG3202CHL系列立式不锈钢多级泵流量最大22M3/H扬程最大60M液体温度50120环境温度最高160工作压力16MPA/25MPA工作电压220V/380V3不锈钢管3硬件电路设计31主电路1温度控制电路图31温度控制电路2水位控制电路图32锅炉加水电路图33水位检测电路32单片机选择设计AT89S51是美国ATMEL生产的低功耗,高性能CMOS8位单片机,片内含4KBYTES的可系统编程的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集FLASH程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。1AT89S51主要功能列举如下为一般控制应用的8位单芯片。晶片内部具有时钟振荡器(传统最高工作频率可至12MHZ)。内部程式存储器(ROM为4KB)。内部数据存储器(RAM为128B)。32条双向输入输出线,且每条均可以单独做I/O的控制。5个中断向量源。2组独立的16位定时器。单芯片提供位逻辑运算指令。2AT89S51管脚排列及系统所用引脚功能介绍。管脚排列如图34所示,下面介绍引脚的功能。图34AT89S51引脚图1VCCAT89S51电源正端输入,接5V。2GND电源地端。3XTAL1单芯片系统时钟的反相放大器输入端。4XTAL2系统时钟的反相放大器输出端。5PORT0(P00P07)端口0是一个8位宽的开路漏极(OPENDRAIN)双向输出入端口。P0在当做I/O用时可以推动8个LS的TTL负载。6PORT2(P20P27)端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。7PORT1(P10P17)端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。8PORT3(P30P37)端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下9P30RXD,串行通信输入。P31TXD,串行通信输出。P32INT0,外部中断0输入。P33INT1,外部中断1输入。P34T0,计时计数器0输入。P35T1,计时计数器1输入。P36WR外部数据存储器的写入信号。P37RD,外部数据存储器的读取信号。33单片机最小系统331时钟电路设计AT89S51的时钟可由内部产生也可以由外部产生。在这个设计中只是用了内部产生。利用芯片内部振荡电路,在XTAL1,XTAL2(18,19脚)的引脚上外接定时元件,内部振荡器便能产生自激振荡,用示波器便可观察到XTAL2输出的正弦波,定时元件可以采用石英晶体和电容组成的并联谐振电路,它与单片机的接法的如图35所示。晶体可以在12MHZ12MHZ之间所选,电容可以在2060PF之间所选,通常选择30PF左右,电容C6,C7的大小对振荡频率有微小的影响,可起频率微调作用。在设计印制板时,晶体和电容应尽可能与单片机芯片靠近,以减少寄生电容,保证振荡器可靠工作,一般采用瓷片电容。图35时钟电路332复位电路单片机上电后,在其9脚(RESET)出现24个振荡周期以上的高电平后,单片机内部初始复位。为了确保单片机正常复位,必需使其第9脚上出现的高电平保持2S以上。复位电路如图36所示。图36复位电路系统的复位电路是由RC电路组成,外加一个手动复位按钮。刚上电时或者触动按钮后C5两端的电压为0,这时RST为高电平,而其高电平保持时间是由R和C的时间常数决定,由公式31可知,C充电的时间常数等于022MS,远远大于2S,即使RST高电平的时间保持2S以上,确保了单片机正常复位。RC3134温度检测电路设计及温度传感器选择341DS18B20简介DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20可以程序设定912位的分辨率,精度为05摄氏度。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。如图37所示DS18B20引脚排列图图37DS18B20引脚排列图ADS18B20特性1独特的单线接口仅需一个端口引脚进行通讯。2简单的多点分布应用。3无需外部应用。4无需外部器件。5可通过数据线供电。6零待机功耗。7测温范围55125,以05递增。8温度以8位数字量读出。9温度数字量转换时间200MS(典型值)。10用户可定义的非易失性温度报警设置。11报警搜索命令识别并标志超过程序限定温度的器件。12应用包括温度控制,工业系统,消费品,温度计或任何热感测系统BROM操作品令总线主机检测到DSL820的存在,便可以发出ROM操作命令之一,这些命令如指令代码1READROM读ROM33H2MATCHROM匹配ROM55H3SKIPROM跳过ROMCCH4SEARCHROM搜索ROMF0H5ALARMSEARCH告警搜索ECHC存储器操作命令指令代码1WRITESCRATCHPAD写暂存存储器4EH2READSCRATCHPAD读暂存存储器BEH3COPYSCRATCHPAD复制暂存存储器48H4CONVERTTEMPERATURE温度变换44H5RECALLEPROM重新调出B8H6READPOWERSUPPLY读电源B4HDDS18B20管脚功能表,如表31所示表31DS18B20管脚功能表342温度采集电路温度采集电路只有一个DS18B20温度传感器,它与单片机的接口比较简单,如图38所示。只要给传感器5V的供电并把它的单总线接到单片机的P口就可以了。图38温度采集电路35温度控制电路设计本系统采用继电器进行对燃烧器工作方式控制,从而锅炉控制温度。当P口输引脚序号引脚名称功能1GND接地2DQ数据输入/输出脚3VDD接5V电源出高电平时,经反相驱动器7406变为低电平,使发光二极管发光,从而使光敏三极管导通,进而是Q3导通,因而继电器的线圈通电,接通锅炉燃烧器。本部分电路与单片机的接口如图39所示。1当P17输出高电平时,燃烧器通电,燃烧器对锅炉加热,进行加热处理。2当P17输出低电平时,燃烧器断电,燃烧器对锅炉加热,不进行加热处理。图39温度控制电路36水位控制电路锅炉在正常加温工作情况下,同时对锅炉液位检测。当锅炉的水位满足条件时开始工作。本系统设计利用普通水的导电性质采用不绣钢管作为测量液位的器件,放于锅炉上下限的金属棒是否正在导电的情况判断锅炉的水位是不是在上下限范围之间,单片机通过采集的水位变化的信号,发出对给水泵控制的命令,控制锅炉内水位符合条件。图310水位检测电路如图310水位检测电路所示,金属棒1放于水位上限位置,金属棒2放于水位下限位置,金属棒3放于水位以下比较远点的位置。其中金属棒1和金属棒2用限流电阻分别与单片机相连接,金属棒3接5V的电源。单片机不断的检测单片机端口P12和P13的电平情况。1当P12高电平和P13高电平时,即实际水位在水位上限以上的位置,这时系统发出报警命令,系统停止工作。2当P12高电平和P13低电平时,即实际水位在水位上限和水位下限之间的位置,单片机不进行处理,即保持给水泵的状态不变。3当P12低电平和P13低电平时,即实际水位在下限以下的位置,这时系统控制给水泵工作,锅炉开始加水,并报警。图311水位控制电路当锅炉水位处与水位下限值的时,单片机P14口输出一个高电平,继电器接通,此时给水泵通电,给水泵开始工作给锅炉加水。36显示电路设计图312为LCD1602引脚分配图。其引脚说明见表32。LCD1602是具有4位/8位并口可选接口方式的液晶显示模块,它能同时显示两行字符,每行有16个字符。字符以57点阵形式显示。其字符中共有160种字符。人选指令有11条(清屏、返回、输入方式设置、显示开关控制、移位、功能设置、CGRAM地址设置、DDRAM地址设置、读忙信号及地址高数器、写数据、读数据),内部有80字节的RAM,8位数据接口,另外三根控制总线用于完成对写和读数据或指令时序控制。由该模块构成的液晶显示方案与LED点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。312LCD1602引脚分配图1LCD1602引脚说明表32LCD1602引脚说明管脚号符号功能1VCC电源地(GND)2VDD电源电压(5V)3VL寄存器选择输入端,输入MPU选择模块内部寄存器类型信号;RS0,当MPU进行写模块操作,指向指令寄存器;当MPU进行模块操作,指向地址计数器;RS1,无论MPU读操作还是写操作,均指向数据寄存器4RS读写控制输入端,输入MPU选择读/写模块操作信号;R/W0读操作;R/W1写操作读写控制输入端,输入MPU选择读/写模块操作信号;5R/WR/W0读操作;R/W1写操作6E读操作时,高电平有效;写操作时,下降沿有效7DB0数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB38DB1数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB39DB2数据输入/输出口,MPU与模块之间的数据传送通道4位3表32LCD1602引脚说明续表方式通讯时,不使用DBODB10DB3数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB311DB4数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB312DB5数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB313DB6数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB315DB7数据输入/输出口,MPU与模块之间的数据传送通道4位方式通讯时,不使用DBODB316BLBL背光正端5V背光的负端0V2LCD1602结构块图。如图313所示为LCD1602结构块图,指明了LCD1602内部结构模块。图313LCD1602结构块图本系统采用LCD1602作为显示模块,它可以方便的和单片机接口,其主要功能是显示水位的上下限值、当前水位、预先设定的温度报警值和当前采集的温度值。其中VDD接5V电源用于显示LCD液晶显示芯片的工作,VL串接阻值18K欧姆为了调节LCD液晶显示芯片字符的亮度,当阻值越大时,LCD液晶显示越模糊。用滑动变阻器能更好的调节LCD液晶字符显示的亮度,合适于锅炉的水位于水温的观察。BL接5V电源是调节显示显示LCD液晶显示芯片是显示背光的亮度。LCD液晶显示电路如图314所示。图314LCD液晶显示电路37报警电路设计本系统采用蜂鸣器进行报警,并用两个LED指示灯表示工作状态,红灯亮绿灯灭表示报警红灯灭绿灯亮表示正常工作。该部分电路与单片机的接口如图315所示。图315报警电路电路由限流电阻R1、三极管Q1、两个二极管和蜂鸣器组成。这个电路并不是一般的放大电路,三极管不是工作在放大状态,而是工作在饱和状态和截止状态。当基极为低电平时,晶体管处于饱和状态,饱和电压为UCES03V,此时,蜂鸣器鸣叫。当基极为高电平时,晶体管截止,相当于开路,输出为高电平,蜂鸣器停止鸣叫。38稳压电源电路设计78系列三端稳压器是最长见的集成稳压器件。具有过热,过流,调整管安全工作区保护功能。性能优良,可靠性搞。同时又由于器件只有三个引脚,所以使用简单方便,价格低廉,应用广泛。稳压电源电路如图316所示,从J1输入912V的直流电,打上开关,经C1和C2滤波后,加到7805稳压块的输入端,再从其输出端输出稳定的5V的电压。因为在本设计中,电路中均采用低功耗的器件,所以稳压块并不需要加散热片。此外,由电阻R2和发光二极管D4组成电源指示电路具有上电指示作用。图316稳压电源电路39按键电路设计本系统为符合实际要求,进入系统之前首先对温度报警值的设置。本系统有三个按键分别为K1,K2,K3如图317所示。1K1设置锅炉温度报警值的温度值增加按键。K1每按下一次,温度报警值显示加比上一次值增加一度。2K2设置锅炉温度报警值的温度值减少按键。K1每按下一次,温度报警值显示比上一次值减少一度。3K3温度报警值确定值。图317按键电路设计辽宁科技大学本科生毕业设计第24页4系统软件设计本章讲述的系统软件设计包括锅炉温度控制的单片机程序设计以及构成系统的各部分子程序设计。41主流程图设计锅炉温度控制系统的单片机程序设计主流程图如图41所示。本系统进入执行时先对锅炉水位进行与设定的水位上下限进行判断,然后按条件不同处理结果。当锅炉水位满足条件的时候再对锅炉的水温采样监控,并进行相应的处理。图41软件主流程辽宁科技大学本科生毕业设计第25页42中断程序程序中断服务程序序K1是否按下加1并示K2是否按下减1并显示K3是否按下返回是是是否否否图42中断服务程序43DS18B20温度采集子程序设计DS18B20有严格的协议来确保其数据的完整性。协议包括几种单线信号类型复位脉冲,存在脉冲,写0、写1、读0、读1。所有这些信号类型除存在脉冲外,其它的信号均由总线主机产生。开始与SD18B20进行任何通信。都要对其进行初始化,在接收到复位脉冲后,再对SD18B20进行正确的ROM命令和存贮器操作命令。在总线主机初始化过程,主机通过拉高单总线,以产生复位脉冲。接着,在主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将总线拉高。在单总线器件检测辽宁科技大学本科生毕业设计第26页到上升沿后,接着产生延时,接着通过拉低总线,以产生存在脉冲。DS18B20温度采集子程序流程图如图43所示。开始检测DS18B02是否存在跳过EOM匹配是发出温度转换命令跳过ROM匹配发出温度读取命令保存采集的温度结束否图43DS18B20温度采集子程序流程图辽宁科技大学本科生毕业设计第27页44LCD液晶显示子程序设计本系统采用是162的LCD1602,单片机对其初始化,然后将需要显示的字符在LCD存储的地址和要求在LCD显示的地址送出,再检测LCD是否处在忙碌不能接收命令或数据的状态,检测到LCD空闲时就可以写数据显示了。LCD液晶显示子流程图如图44所示,具体实现过程请查阅附录LCD液晶显示子程序。开始LCD液晶显示模块初始化将需要的显示信息和LCD的地址送出检测LCD是否忙碌写数据显示结束否是图44LCD液晶显示子流程图辽宁科技大学本科生毕业设计第28页总结本设计通过单片机的控制,实现了锅炉温度控制的基本功能,利用继电器控制燃烧器的工作,并且对锅炉水位进行控制,并通过显示屏显示出水温水位的状态信息,确保了能够在正常范围下工作。系统中以AT89S51芯片作为控制芯片,采用一线总线的温度传感器DS18B20,用LCD1602液晶显示模块显示水温水位的状态信息,这些都得使硬件电路变得简单,性能得到提高。而且有蜂鸣器进行报警,使得本设计在应用上更加安全。在本次设计中,我不但巩固了基础知识,而且锻炼了自己的学习能力,通过查阅资料,了解了大量课堂上学不到的东西,为以后的工作和学习打下了夯实的基础,但遗憾的是本设计并未通过了实物模拟,在实际应用上肯定存在着不少缺欠。希望以后能做出实物,发现设计上的缺欠,并加以改进,完善本系统的设计。辽宁科技大学本科生毕业设计第29页参考文献1潘永雄,张晓蓟新编单片机原理与应用M西安西安电子科技大学出版社,20022燃油燃气锅炉房设计手册编写组燃油燃气锅炉房设计手册M北京机械工业出版社,19983张仁青,李彦,朱传堂等,燃油、燃煤气、燃煤锅炉房的对比和展望J江苏暖通空调制冷,1998,37114YLZKC42型全自动常压油炉电脑控制器使用说明书M南京二南京仁泰锅炉白控设备有限公司5陈兆煊,陈伟权燃油、燃气常压热水炉国内外发展应用概况分析和建议J工业锅炉,1998,371746李之光等常压热水锅炉及其供暖系统M北京机械工业出版社,19927李晓光,鹿道智,于惠君等小型然油燃气锅炉M大连大连理工大学出版社,19998何立民单片机应用技术选编M北京北京航空航大大学出版社,20009胡汉才单片机原理及其接口技术M北京清华大学出版社,199610胡建,刘玉宾,朱焕立单片机与接口技术M北京机械工业出版社,200411高锋单片微机应用系统设计及实用技术M北京机械工业出版社,200412肖玲妮,袁增贵,PROTEL99SE印刷电路板设计教程M北京清华大学出版社,200313陈杰,黄鸿传感器与检测技术M北京高等教育出版社14高才苹新型供热锅炉手册M上海上海交通大学出版社,200215超钦新,惠世恩燃油燃气锅炉M西安西安交通大学出版社,199916JAMSMSIHIGTROLHUNDERSTANDINGSMALLMICROCONTROLLERMPTRPRENTICEHALL,1993,11212317MOTOROLA,MICROCONTROLLERSETECTROGUIDEQUARTERM2001,414615718KJASTROMTHAGGLUND,THEFUTUREOFPIDCONTROL,CONTROLENGINEERINGPRACTICE9M20011163117519LJUNGL,SYSTEMIDENTIFICATIONUSERSGUIDE,MADIWORKS,INCM1997辽宁科技大学本科生毕业设计第30页附录附件A总程序TEMP_ZHDATA24H实时温度值存放单元TEMPLDATA25H温度存放低八位TEMPHDATA26H温度存放高八位TEMPHCDATA29H存放百位数和十位数BCDTEMPLCDATA2AH存放个位数和小数BCDBOILER_SWEQUP12给水泵开关WATER_SW_HEQUP17燃烧器开关K1EQUP24报警温度值温度增加K2EQUP25报警温度值减少K3EQUP26设定报警温度确定键GREENEQUP10绿灯为正常工作指示灯REDEQUP11红灯为报警指示灯TEMP_ALEQU21H温度报警值存放单元TEMP_AL1EQU31H存放报警温度值的个位TEMP_AL2EQU32H存放报警温度值的十位WATER_AL1EQU33H当前水位的个位数存放单元WATER_AL2EQU34H当前水位的十位数存放单元WATER_LEVELEQU22H当前水位存放单元WATEREQU28H当前水位存放单元SPKEQUP37蜂鸣器引脚定义LCD_XEQU2FHLCD地址变量LCD_RSEQUP20数据/指令寄存器选择输入端LCD_RWEQUP21读写控制输入端LCD_ENEQUP22使能信号输入端辽宁科技大学本科生毕业设计第31页FLAG1EQU2FH7DS18B20是否存在标记FLAGEQU2FH6报警标记DATE_LINE1EQUP33通道1DS18B20数据口ORG0000HJMPMAIN跳到主程序入口MAINMOVSP,60H设置堆栈MOVA,00HMOVR0,20H将20H2FH单元清零MOVR1,10HCLEARMOVR0,AINCR0DJNZR1,CLEARMOVWATER,50MOVTEMP_AL,23CALLSET_LCD对LCD做初始化设置及测试,并写自定义数据入CGRAMCALLTEMP_SET显示设定温度报警值的信息MOVA,0C9H设定温度摄示度标记的显示位置CALLTEMP_BJ显示温度摄示度的标记LCALLDIS_TEMP显示初始化的报警温度MAIN1MOV20H,0LCALLKEY调用按键扫描程序JNB20H0,DEC_TEMPADD_TEMPINCTEMP_AL报警湿度值加1LCALLDIS_TEMP显示改变后的报警温度AJMPMAIN1DEC_TEMPJNB20H1,CONFIRMDECTEMP_AL报警湿度值减1LCALLDIS_TEMP显示改变后的报警温度辽宁科技大学本科生毕业设计第32页AJMPMAIN1CONFIRMJNB20H2,MAIN1如果没按任何键就返回MAIN1继续扫描SETBSPKLCALLDIS_TEMP1CALLMENU_OK1LCD显示温度采集和水位控制信息LCALLDIS_TEMP1显示已设定的温度报警值MOVA,0CEH当前温度摄示度标记的显示位置CALLTEMP_BJ显示当前温度摄示度的标记SETBSPKSETBREDCLRGREENLJMPSTARTDIS_TEMPMOVA,TEMP_AL显示改变后的报警温度MOVB,10DIVABMOVTEMP_AL2,A保存温度报警值的十位数MOVLCD_X,7设置位置CALLSHOW_DIG2显示报警温度值的十位INCLCD_XMOVA,TEMP_ALMOVB,10DIVABMOVA,B个位MOVTEMP_AL1,A保存温度报警值的个位数CALLSHOW_DIG2显示报警温度值的个位RETDIS_WATERMOVA,WATER显示当前水位的值MOVB,10DIVAB辽宁科技大学本科生毕业设计第33页MOVWATER_AL2,A保存温度报警值的十位数MOVLCD_X,7设置位置CALLSHOW_DIG1显示报警温度值的十位INCLCD_XMOVA,WATERMOVB,10DIVABMOVA,B个位MOVWATER_AL1,A保存温度报警值的个位数CALLSHOW_DIG1显示报警温度值的个位RETDIS_TEMP1MOVA,TEMP_AL显示已设定的温度报警值MOVB,10DIVABMOVTEMP_AL2,A保存温度报警值的十位数MOVLCD_X,3设置位置CALLSHOW_DIG2显示报警温度值的十位INCLCD_XMOVA,TEMP_ALMOVB,10DIVABMOVA,B个位MOVTEMP_AL1,A保存温度报警值的个位数CALLSHOW_DIG2显示报警温度值的个位RETSTARTCALLRE_18B20_1检测通道1的DS18B20是否存在,并设置12位精确度辽宁科技大学本科生毕业设计第34页CALLRESET118B20复位子程序,检测18B20是否存在JNBFLAG1,START11如果DS1820不存在则跳START11CALLMENU_OK1如果存在则显示OKMOVA,0CEHCALLTEMP_BJ显示温度摄示度的标记JMPSTART21START11CALLMENU_ERROR1如果不存在则显示ERRORMOVA,0CBHCALLTEMP_BJ显示温度摄示度的标记JMPSTARTSTART21检查到有温度传感器后的处理CALLRESET118B20复位子程序,再次检测18B20是否存在JNBFLAG1,START11DS1820不存在则转到START11报错MOVA,0CCH跳过ROM匹配CALLWRITE1MOVA,44H发出温度转换命令CALLWRITE1CALLRESET1MOVA,0CCH跳过ROM匹配CALLWRITE1MOVA,0BEH发出读温度命令CALLWRITE1CALLREAD1读出温度值到TEMPH、TEMPLLJMPM1跳到温度处理、显示程序M1CALLCONVTEMP处理温度BCD码子程序,并将处理结果存放到TEMPHC、TEMPLCCALLDISPBCD显示区BCD码温度值刷新子程序,即把BCD转为十六进制6FH73H,其中70H存放小数点,6FH存放十分辽宁科技大学本科生毕业设计第35页位数,71H存放个位数,72H存放十位数,73H存入百位数MOVA,72H跳过850摄氏度CJNEA,8,DISPLAYMOVA,71HCJNEA,5,DISPLAYMOVA,6FHCJNEA,0,DISPLAYLJMPSTARTDISPLAYCALLDELAY2CALLCONV将采集到的温度在LCD1602显示出来LCALLDIS_TEMP1显示已设定的温度报警值MOVA,0C5HCALLTEMP_BJ显示报警温度摄示度的标记LCALLDIS_WATER显示当前水位的值MOV20H,0LCALLKEY调用按键扫描程序JNB20H0,DEC_WATERADD_WATERINCWATERLCALLDIS_WATER显示当前水位的值AJMPCOMPARE1当前水位与水位上限值80比较DEC_WATERJNB20H1,COMPARE1当前水位与水位上限值80比较DECWATER水位减1LCALLDIS_WATER显示当前水位的值COMPARE1CLRC当前水位与水位上限值80比较MOVA,WATER_AL2取得当前水位的十位数CJNEA,8,NEXT11十位数比较AJMPLOOP1如果十位数相等,则转去比较个位数NEXT11JCCOMPARE2如果十位数小于8,转去比较下限值辽宁科技大学本科生毕业设计第36页CLRSPK如果十位数大于8就报警SETBWATERSWH关闭给水泵CLRREDSETBGREENAJMPCOMPARE3转去当前温度与设定的报警温度比较LOOP1CLRCMOVA,WATER_AL1取得当前水位的个位数JZCOMPARE3如果个位数等于0去比较温度SETBFLAG报警标记置位CLRSPK如果个位数大于0就报警SETBGREENCLRREDSETBWATERSWH当前水位高于上限值关闭给水泵开关AJMPCOMPARE3COMPARE2CLRC当前水位与下限比较MOVA,WATER_AL2取得当前水位的十位数CJNEA,2,NEXT12个数比较AJMPCOMPARE3如果十位数等于2,则表明水位大于或等于20就转去比较温度NEXT12JNCCOMPARE3十位数大于2就转去当前温度与设定的报警温度比较SETBFLAG报警标记置位CLRSPK如果十位数小于2就报警CLRWATER_SW_H如果当前水位低于下限值就打开给水泵开关CLRBOILER_SW当前温度超过温度报警值关闭锅炉燃烧器开关,停止加热CLRREDSETBGREEN辽宁科技大学本科生毕业设计第37页AJMPCOMPARE3转去当前温度与设定的报警温度比较COMPARE3CLRC当前温度与设定的报警温度比较MOVA,72HCJNEA,TEMP_AL2,NEXT1实际温度值与报警温度值的十位数比较AJMPNEXT十位数相等时就转去比较个位数NEXT1JCSTART0实际温度值的十位数少时则转START0SETBFLAG报警标记置位CLRSPK实际温度值的十位数高于报警温度值的十位数就报警SETBBOILER_SW当前温度超过温度报警值关闭锅炉燃烧器开关,停止加热SETBREDCLRGREENCLRBOILER_SW打开锅炉燃烧器开关,继续加热LJMPSTART比较完毕,重新采集温度和水位NEXTCLRCMOVA,71HCJNEA,TEMP_AL1,NEXT2实际温度值与报警温度值的个位数比较AJMPNEXT0个位数相等时就转去比较十分位数NEXT2JCSTART0实际温度值的个位数少时则转START0SETBFLAG报警标记置位CLRSPK十位数相等时,实际温度值的个位数高于报警温度值的个位数就报警SETBBOILER_SW如果当前温度超过温度报警值时就关闭锅炉燃烧器开关,停止加热CLRREDSETBGREENLJMPSTART比较完毕,重新采集温度和水位辽宁科技大学本科生毕业设计第38页NEXT0MOVA,6FHJZSTART0实际温度值的十分位数等于0时则转START0SETBFLAG报警标记置位CLRSPK十位数和个位数相等时,实际温度值的十分位数大于0就报警SETBBOILER_SW如果当前温度超过温度报警值时就关闭锅炉燃烧器开关,停止加热CLRREDSETBGREENLJMPSTART比较完毕,重新采集温度和水位START0JBFLAG,LOOP4如果水位出现报警但温度没有出现报警时就继续采集温度和水位SETBSPK如果水位和温度都没有出现报警时就使绿灯亮,然后继续采集温度和水位SETBREDCLRGREENLOOP4LJMPSTARTLPORLP1,03H;逻辑或,检测水位MOVA,P1;读P1口JNBACC3,LP1,P130跳转到LP1JBACC4,LP2;当P140表示实际水位在下限,跳转BKMOVA20ACALLD2S;调延时2S子程序AJMPLPLP1JNBACC4,L00P3;当P140则转辽宁科技大学本科生毕业设计第39页SETBSPK;报警SETBP12;使P121,停止电机工作LP4SJMPL00P4;出现故障后程序进入等待状态LP3CLRP12;启动电机AJMPBKLP2SETBP12;电动机停止工作电机工作AJMPBKENDLCD显示温度标记子程序TEMP_BJMOVA,0CAHCALLWCOM调用LCD写命令子程序MOVDPTR,BJ1指针指到显示消息MOVR1,0MOVR0,2BBJJ1MOVA,R1MOVCA,ADPTRCALLWDATA调用LCD写数据子程序INCR1DJNZR0,BBJJ1RETBJ1DB00H,“C“摄示度标记TEMP_SET设定温度报警值辽宁科技大学本科生毕业设计第40页MOVDPTR,TEMP_SET1指针指到显示消息MOVA,1显示在第一行CALLLCD_PRINT在LCD的第一行或第二行显示字符RETTEMP_SET1DB“SETALARMTEMP“,0MENU_OK1LCD显示温度采集和水位控制信息MOVDPTR,M_OK1指针指到显示消息MOVA,1显示在第一行CALLLCD_PRINT在LCD的第一行或第二行显示字符MOVDPTR,M_OK2指针指到显示消息MOVA,2显示在第二行CALLLCD_PRINT在LCD的第一行或第二行显示字符RETM_OK1DB“H80L20“,0M_OK2DB“AL“,0MENU_ERROR1LCD显示传感器1不存在信息MOVDPTR,M_ERROR1指针指到显示消息1MOVA,1显示在第一行CALLLCD_PRINT在LCD的第一行或第二行显示字符MOVDPTR,M_ERROR2指针指到显示消息1MOVA,2显示在第一行CALLLCD_PRINT在LCD的第一行或第二行显示字符RETM_ERROR1DB“DS18B20ERROR“,0M_ERROR2辽宁科技大学本科生毕业设计第41页DB“TEMP“,0RESET118B20复位子程序,检测18B20是否存在SETBDATE_LINE1NOPCLRDATE_LINE1MOVR0,6BH主机发出延时复位低脉冲MOVR1,04HTSR11DJNZR0,MOVR0,6BHDJNZR1,TSR11SETBDATE_LINE1然后拉高数据线NOPNOPNOPMOVR0,32HTSR21JNBDATE_LINE1,TSR31等待DS18B20回应DJNZR0,TSR21JMPTSR41延时TSR31SETBFLAG1置标志位,表示DS1820存在JMPTSR51TSR41CLRFLAG1清标志位,表示DS1820不存在JMPTSR71TSR51MOVR0,06BHTSR61DJNZR0,时序要求延时一段时间TSR71SETBDATE_LINE1RETRE_18B20_1检测通道1的DS18B20是否存在,并设置12位精确度JBFLAG1,RE_18B20A1RETRE_18B20A1辽宁科技大学本科生毕业设计第42页CALLRESET1检测DS18B20是否存在MOVA,0CCH跳过ROM匹配LCALLWRITE1调用传感器1写数据或命令子程序,下同MOVA,7FH12位精确度LCALLWRITE1RET将自定义字符写入LCD1602的CGRAM中STORE_DATAMOVA,40HCALLWCOMMOVR2,08HMOVDPTR,D_DATAMOVR3,00HS_DATAMOVA,R3MOVCA,ADPTRCALLWDATA写入数据INCR3DJNZR2,S_DATARETD_DATADB0CH,12H,12H,0CH,00H,00H,00H,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年泰和县人民法院公开招聘聘任制司法辅助人员备考题库及完整答案详解1套
- 2026年西藏自治区人民政府办公厅急需紧缺人才引进6人备考题库及1套完整答案详解
- 2025-2030中国女装高领毛衣行业市场发展分析及发展趋势预测与战略投资研究报告
- 2025至2030中国抗精神分裂症长效注射剂依从性改善与市场推广报告
- 2025至2030智能礼品包装技术应用与产业链投资机会研究报告
- 中国古代史研究
- 公务员阆中市委组织部关于阆中市2025年考调35人备考题库及一套完整答案详解
- 2025-2030中国草甘膦产业销售规模与未来发展潜力评估研究报告
- 2026年西昌市财政局单位招聘政府雇员备考题库附答案详解
- 2026年睢阳区消防救援大队招聘政府专职消防员备考题库附答案详解
- 2026年扬州工业职业技术学院高职单招职业适应性测试参考题库含答案解析
- 2026国家电投集团苏州审计中心选聘15人笔试模拟试题及答案解析
- 2026年桐城师范高等专科学校单招职业技能考试题库及答案1套
- 雾化吸入操作教学课件
- 2025年小学图书馆自查报告
- 【语文】广东省佛山市罗行小学一年级上册期末复习试卷
- 2025年医疗器械注册代理协议
- 新疆三校生考试题及答案
- 2025新疆亚新煤层气投资开发(集团)有限责任公司第三批选聘/招聘笔试历年参考题库附带答案详解
- 围手术期心肌梗塞的护理
- 超市门口钥匙管理制度
评论
0/150
提交评论