1、第1页共31页第1章绪论11课题背景及研究意义锅炉是一种热能转换设备,传统的锅炉由锅和炉两大主体和保证其安全经济连续运行的附件,仪表附属设备,自控和保护系统组成,水在锅(锅筒)中不断被炉里燃料燃烧释放出来的能量加热,温度升高并产生带压蒸汽,由于水的沸点随压力的升高而升高,锅是密封的,水蒸气在里面的膨胀受到限制而产生压力形成热动力(严格的说锅炉的水蒸气是水在锅筒中定压加热至饱和水再汽化形成的)作为一种能源广泛使用。锅炉广泛用于生产和生活之中1。传统的锅炉都使用烧煤的方法进行加热,这种方式加热不但对空气污染严重,而且在加热时需要用人工进行燃料的运输与添加,一旦加入燃料过多,水温会升的过快造成开锅,
2、严重时会造成锅炉爆炸,造成人身财产的损害,对于现在国内的发展来说,很少有地区对此进行改进,而本设计提出一种新型的锅炉加热与压力控制方法,真正实现无人操作,全自动加热、控温、节能环保,本设计摒弃传统的燃料加热方法,而使用电热的方式,这样通过微控制器可以对水温进行实时的控制,不仅节省能源,还能达到准确的温度控制,在控制系统中又加入了压力控制环节,这样整个系统就达到了全自动智能化水平。根据国内实际情况和环保上的考虑和要求,燃煤锅炉由于污染并且效率不高,已经逐渐被淘汰;燃油和燃气锅炉也存在着燃料供应不方便和安全性等问题。因此在人口密集的居民区、旅馆、医院和学校,电加热锅炉完全能替代燃煤、燃油、燃气锅炉
3、2。12锅炉压力监控系统研究现状121国外研究发展和现状在国外,锅炉的自动化控制从上世纪三、四十年代就开始了,当时大都为单参数仪表控制,进入上世纪五十年代后,美国、前苏联等国家都开始进行对锅炉的操作和控制的进一步研究。但由于当时科技发展的局限性,对锅炉的控制主要停留在使用汽动仪表的阶段,而且大多数锅炉只是检测工艺参数,不进行自动控制。到上世纪六十年代,在发达国家,锅炉的控制主要以电动单元组合仪表检测与控制,还是以检测报警为主,控制为辅助功能。第2页共31页122国内研究发展和现状在国内,由于经济技术条件的限制,中小企业锅炉设备水平一直比较落后,大多数中小型锅炉水平基本上停留在手动和简单仪表操作
4、的水平,80年代中后期,随着先进的控制技术引入我国的锅炉控制,锅炉的计算机控制得到了很大的发展。至90年代,锅炉的自动化控制己成为一个热门领域,利用单片机、可编程序控制器、工业计算机以及引进的国外控制设备开发的各种控制系统,己逐渐用于对原有锅炉的技术改造中,并向与新建炉体配套的方向发展,许多新的控制方法,诸如最优控制、自适应控制、模糊控制、神经网络控制、专家控制等自动控制的最新成果也在锅炉自动控制中得到了尝试和应用但由于控制技术单一,或控制算法的建模往往不能反映真实的锅炉燃烧状况,导致在工程实践中并不怎么成功,不能产生很好的经济效益,挫伤了用户在工业锅炉上用计算机进行控制的积极性。13锅炉的应
5、用锅炉作为重要的动力设备,已广泛应用于化工、炼油、发电等工业生产中,同时锅炉又是工业生产及采暖供热中一次能源转换为二次能源的重要设备。从某种意义上讲,锅炉控制效果的好坏对企业的经济效益和人民的生活质量有着直接的影响。由于锅炉本身具有多输入、多输出并且各个参数之间还具有相互关联性的特点,所以对锅炉的控制始终是各国技术人员不断探索研究的一个重要课题。传统的锅炉控制系统大多采用手动操作或仪表控制,控制精度低,生产效果差。操作者与管理层之间的通信基本上采用电话联系,管理层难于及时全面了解控制现场的情况,信息不但反馈时间长而且有遗漏,管理时效性差,企业的生产效益和经济效益低,不能满足企业的发展需要3。锅
6、炉参数监控,是过程控制的典型实例。锅炉微计算机控制,是近年来开发的一项新技术,它是微型计算机软、硬件、自动控制、锅炉节能等几项技术紧密结合的产物,我国现有中、小型锅炉30多万台,每年耗煤量占我国原煤产量的1/3,目前大多数工业锅炉仍处于能耗高、浪费大、环境污染等严重的生产状态。提高热效率,降低耗煤量,用微机进行控制是一件具有深远意义的工作4。14本论文主要研究内容当前,世界计算机市场上出现了专门应用于工业控制的一系列单片机产品,单片机以其价格便宜、重量轻、体积小、功耗低、功能强的特点,在工业控制的现场应用中得到越来越广泛的关注,单片机既能够完成各种常规的控制,还能够第3页共31页充分利用控制理
7、论的最新研究成果情况下结合被控对象的特性,选择更加先进的控制方法,来获得更好的控制效果。目前,因为家用锅炉设备属于批量制造生产,而一整套完备的控制系统是每台锅炉所必需的,针对小型锅炉的这些特点,更结合产品的成产成本考虑,以单片机为核心器件组成的控制系统成为了最为理想的选择。同时,单片机以其完备的控制功能、优秀的运算能力、完善的外部接口电路等一系了特点,适应了中小型锅炉控制系统需要。同时在选取外围芯片时,应尽量考虑一些较为典型的、易于替换和扩展的电路和芯片,并建立在降低生产成本的前提下。传感器主要选择些基于单总线结构的ICSL220型压力传感器,使用方便,体积小,而且经济实惠。系统在软件这块主要
8、采用模块化的程序结构。主程序作为控制程序,为整个系统软件的一条主线,其它功能模块均采用子程序调用、查询等方式,这样使得扩充和调试更加方便。本次论文是由压力传感器检测信号,然后由放大电路放大为05V电信号,再由A/D转换电路将模拟信号转换为数字信号,最后传给单片机,当超过初始设定的上限值时,发生报警,提醒工作人员处理;当压力低于初始设定的下限时同样发生报警,提醒工作人员处理。第4页共31页第2章系统总体设计21系统结构总框图锅炉压力控制系统的主控部分由单片机构成。通过按键电路进行压力报警值的设定,并对锅炉的压力进行采集及处理,然后与报警值比较,当压力值大于压力上限报警值时就报警,停止加热。当压力
9、少于压力下限值时,发生报警,重新启动进行加热处理。以此重复对锅炉压力控制。同时为结合实际需要,本系统亦对锅炉内气压进行控制。图21所示是其系统结构框图。图21系统结构总框图压力检测压力检测是用压力传感器检测锅炉内的气压,然后由传感器将检测到的压力变为电信号传出来。放大电路由于由压力传感器传出来的电信号不一定是05V电信号,所以这里要做一个放大电路,就是将传感器给出的电信号放大到相应的倍数,达到输出电信号相应的伏数。A/D数模转换由于压力传感器输出的是模拟信号,而单片机中接收的是数字信号,所以这时应该做一个A/D数模转换电路,将压力传感器输出的模拟电信号转换为数字信号,然后传送到单片机。压力传感
10、器检测INA128放大电路A/D模数转换电路STC89C52单片机LCD1602显示按键报警第5页共31页按键这里的按键就是用来设压力上限值和下限值的。LCD1602显示这里要的是LCD1602液晶显示屏。就是将压力传感器检测到的压力显示但液晶显示屏上。报警本次设计采用的是蜂鸣器做报警电路,由压力传感器检测到的压力在LCD1602液晶显示屏上,当压力值超过设定的上限值时,要报警。提醒工作人员处理。当压力小于下限值时,蜂鸣器一样报警,提醒工作人员处理。STC89C52单片机这里单片机是一个处理器作用。压力传感器接收到的信号传给放大器,放大器将电信号放大后传给A/D模数转换,A/D模数转换后传给单
11、片机,单片机经过处理传给LCD1602液晶显示屏上显示出来。当超过上限值或下限值时,蜂鸣器发生报警,提醒工作人员处理。22本次设计方案的选择本次设计是基于单片机的锅炉压力监控系统设计,锅炉压力检测的是锅炉中气压的大小。经过压力传感器的作用给出一个电信号,然后给单片机,单片机给出一个信号,再LCD1602液晶显示屏上显示出来,当超过设定的压力值,报警提示,提醒工作人员处理。以下有两种方案,从中选择一种比较合理的方案。方案一数字压力传感器是一个集成A/D转换一起的压力传感器。数字压力传感器检测到一个电信号,然后传给单片机中,单片机经过处理显示在LCD1602液晶显示屏上,当超过设定的压力值时,蜂鸣
12、器报警,提醒工作人员处理。方案二模拟量的压力传感器器ICS1220系列检测锅炉中的压力,检测到一个电信号,传给INA128放大电路中,经过INA128放大电路放大输出05V的电信号,然后进入A/D模数转换,将输入的模拟信号转换为数字信号,然后再传输给单片机中,然后单片机在LCD1602显示屏中显示出压力,当压力超过设定压力值时,发生报警,提醒工作人员处理。比较这两种方案,首先在学校里学到的知识很多都是要做A/D转换电路的,还有很多都是做模拟信号输出的;其次,考虑到方案一种数字压力传感器的价格比较贵,那些都是工业上使用的压力传感器,而且作为学生考虑到有充足的资源。而模拟量的传感器价格是比较便宜的
13、,还有ICS1220系列的传感器是体积比较小的,用着也非常方便。最后,选择模拟量的压力传感器的那种方案,故选择方案二。第6页共31页第3章硬件电路设计31单片机的选择方案一AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器CPU和FLASH存储单元,功能强大。其片内的4K程序存储器是FLASH工艺的,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护我们的劳动成果。AT89C51目前的售价比8031低,市场供应也很
14、充足。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需L0MS。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。PO口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作5。方案二STC89C52单片机的指令系统和AT89C51系列的完全兼容。AT89C51不带ISP下载,要用下载器才行,STC89C52可以用你的USB转串口下载,下载软件可以到STC厂家网上去下。STC单片机执行指令
15、的速度很快,大约是AT的330倍,所以在AT上好使的程序在STC上不一定好用,最典型的例子就是那些对时序有严格要求的模块,比如IIC,DS18B20、DS1302等的时序。再者,由于执行速度的加快,非定时器控制的精确延时也会受到一定影响,用STC时注意得加长延时,大约是AT的1030倍。片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常6。比较这两种方案,由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑单片机的各
16、部分资源和作为学生能够获得的资源,经过对比此次设计要求,我选择用STC系列芯片完成。而且学校也提供了相应的硬件操作平台,实际操作起来比较方便,故STC为更合理的选择。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有第7页共31页效的解决方案,如图31所示。STC89C52具有以下标准功能8K字节FLASH,256字节RAM,32位I
17、/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能与MCS51单片机产品兼容、8K字节在系统可编程FLASH存储器、1000次擦写周期、全静态操作0HZ33HZ、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗
18、空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。如图31所示STC89C52单片机管脚图。图31STC89C52单片机图GNE20脚接地。第8页共31页VCC(40脚)主电源5V。XTAL1(19脚)接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚)接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。RST(9
19、脚)单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)。PSEN(29脚)当访问片外程序存储器时,该端口输出负脉冲信号作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中会生效两次。另一方面,在访问片外数据存储器时,这两次有效PSEN信号不会出现。PSEN端口能驱动8个LSTTL负载。可以根据PSEN、ALE和XTAL2三个输出端口是否有信号输出,来判断80C51是否处在工作状态。ALE/PROG(30脚)当访问片外程序存储器时,该端口输出负脉冲信号作为存储器读选通信号。CPU在向片外存储器取指令
20、期间,PSEN信号在12个时钟周期中会生效两次。另一方面,在访问片外数据存储器时,这两次有效PSEN信号不会出现。ALE/PROG端同样可驱动8个LSTTL负载。EA/VPP(31脚)当EA端口输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA端口输入低电平时,CPU只访问片外程序存储器。在对87C51EPROM编程时,该引脚用于施加编程电压VPP。输入/输出引脚1P00P0732脚39脚P0口是一个漏极开路的8位准双向I/O口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。P0口有三个功能外部扩充存储器时,
21、当作地址总线(A1A7);不扩充时,可做一般I/O口使用,但内部没有上拉电阻,作为输入或输出时应在外部接上拉电阻。2P10P17(1脚8脚)P1口是一个带内部上接电阻的准双向I/O口。P1的每一位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1引脚由内部上接电阻接成高电平。P10和P11多了T/C2的复用。3P20P27(21脚26脚)P2口是一个带内部上接电阻的8位准双向I/O口。P2口每一位能驱动4个LS型TTL负载。P2口有两个功能扩充外部存储器时,当作地址总线(A8A15)使用。做一般I/O口使用,其内部有上拉电阻。4P30P37
22、(10脚17脚)P3口是一个带内部上接电阻的8位准双向I/O第9页共31页口。P3口每一位能驱动4个LS型TTL负载。P3口与其它I/O口有较大区别,每个引脚还具有专门功能,除了作为I/O口使用外(内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。如表31所示。表31P3口的第二功能表接口第二功能P30RXD串行输入口P31TXD串行输出口P32INT0外部中断0P33INT1外部中断1P34T0计时器0外部输入P35T1计时器1外部输入P36WR外部数据存储器写选通P37RD外部数据存储器读选通32单片机最小系统单片机最小应用系统,指的是用最少的元件组成的单片机并且可以正常工作的系统,
23、对本次设计使用单片机来说,最小系统一般应该包括单片机,晶振电路以及复位电路。如图32所示。图32单片机最小系统图第10页共31页321晶振电路设计晶振值取12MHZ因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合。如下图33所示。图33晶振电路图晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度。比如12M晶振。单片机工作速度就是每秒12M。单片机内部也有晶振,接外部晶振可以获得更稳定的频率。因为晶振与单片机的脚XTAL1和脚XTAL2构成的振荡电路中会产生偕波也就是不希望存在的其他频率的波,这个波对电路的影响不大,但会降低电路的时钟振荡器的稳定性。为了电路
24、的稳定性起见,ATME公司只是建议在晶振的两引脚处接入两个10PF50PF的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10PF50PF之间都可以的。所以图中C2和C3电容为22PF,是有起振作用和削减偕波对电路的稳定性的影响。322复位电路设计单片机上电后,在其9脚(RESET)出现24个振荡周期以上的高电平后,单片机内部初始复位。为了确保单片机正常复位,必需使其第9脚上出现的高电平保持2S以上。复位电路如图34所示。第11页共31页图34复位电路图复位电路通电时,电容C1两端相当于短路,RESET引脚上为高电平,然后电源通过电阻R1对电容C1充电,RESET端电压慢慢下
25、降,降到一定电压值以下,即为低电平,单片机开始正常工作。图中的电阻R1起到一个限流作用。当按下复位按键的时候,为了防止电路中的电流过大,烧坏电路,所以加一个电阻R1,这样有限制电流过大的作用。而电容C1是对电路进行滤噪和去耦,减少电源电压波动的干扰和电路本身产生的噪声对电路其它部分的影响。33放大电路设计INA128是低功耗高精度的通用仪表放大器它们通用的3运放3OPAMP设计和体积小巧使其应用范围广泛反馈电流CURRENTFEEDBACK输入电路即使在高增益条件下G100时200KHZ也可提供较宽的带宽,单个外部电阻可实现从1至10000的任一增益选择INA128提供工业标准的增益等式GAI
26、NEQUATION。INA128用激光进行修正微调具有非常低的偏置电压50MV温度漂移05V/和高共模抑制在G100时120DB其电源电压低至225V且静态电流只有700UA是电池供电系统的。理想选择内部输入保护能经受40V电压而无损坏,INA128的封装为8引脚塑料DIP和SO8表面衬底封装规定温度范围为40至85,还有对应的双配置INA1287。INA128特性如下1低偏置电压最大50V;2低温度漂移最大05V/;3低输入偏置电流最大5NA;4高共模抵制CMR最小120DB;5输入保护至40V;6宽电源电压范围225至18V;7低静态电流700A;第12页共31页88引脚塑料DIP和SO8
27、封装。INA128放大电路如下图35所示。图35INA128放大电路图1、8脚跨接的电阻就是用来调整放大倍率,4、7脚需提供正负相等的工作电压,2、3脚输入要放大的电压,并从6脚输出放大的电压值。5脚则是参考基准,如果接地,则6脚的输出即为与地之间的相对电压。图中2、3管脚是输入电压管脚就是接ICS1220系列压力传感器输出的电压,1、8管脚接电阻R2为50千欧,这是一个放大倍数(也就是增益)。而INA128的4、7管脚接两个电容C4和C5都是为01UF,这是对电路中电压的稳定,还有对芯片INA128有保护作用。而6管脚就要接到A/D转换电路上,起到一个输出放大的电压值。34A/D转换电路设计
28、PCF8591是一个单片集成、单独供电、低功耗、8BITCMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入第13页共31页8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输8。PCF8591的功能包括多路模拟输入、内置跟踪保持、8BIT模数转换和8BIT数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。PCF8591特性如下单独供电;PCF8591的操作电压范
29、围25V6V;低待机电流;通过I2C总线串行输入/输出;PCF8591通过3个硬件地址引脚寻址;PCF8591的采样率由I2C总线速率决定;4个模拟输入可编程为单端型或差分输入;自动增量频道选择;PCF8591的模拟电压范围从VSS到VDD;PCF8591内置跟踪保持电路;8BIT逐次逼近A/D转换器;通过1路模拟输出实现DAC增益。PCF8591是具有I2C总线接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出。这就是说,它既可以作A/D转换也可以作D/A转换。A/D转换为逐次比较型。引脚图如下图36所示。图36PCF8591引脚图AIN0AIN3模拟信号输入端。A0A
30、3引脚地址端。VDD、VSS电源端256V。第14页共31页SDA、SCLI2C总线的数据线、时钟线。OSC外部时钟输入端,内部时钟输出端。EXT内部、外部时钟选择线,使用内部时钟时EXT接地。AGND模拟信号接地。AOUTD/A转换输出端。VREF基准电源端。PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。飞利蒲公司规定A/D器件地址为1001。引脚地址为A2A1A0,其值由用户选择,因此I2C系统中最多可接238个具有I2C总线接口的A/D器件。地址的最后一位为方向位R,当主控器对A/D器件进行读操作时为1,进行写操作时为0。总线操作时,由器
31、件地址、引脚地址和方向位组成的从地址为主控器发送的第一字节。所以PCF8951的A/D转换电路如下图37所示。图37PCF8951A/D转换电路图PCF8951的A/D转换电路中,是由PCF8951芯片中的数据线SDA和时钟线SCL与所选的单片机连接的,他们分别接到单片机的P21、P20引脚上。而图中的电位器可以不用连接,这只是一个调节芯片的。在PCF8951中控制字节用于实现器件的各种功能,如模拟信号由哪几个通道输入等。控制字节存放在控制寄存器中。总线操作时为主控器发送的第二字节。其格式如下所示其中D1、D0两位是A/D通道编号00通道0,01通道1,10通道2,11第15页共31页通道3D
32、2自动增益选择(有效位为1),D5、D4模拟量输入选择00为四路单数入、01为三路差分输入、10为单端与差分配合输入、11为模拟输出允许有效。当系统为A/D转换时,模拟输出允许为0。模拟量输入选择位取值由输入方式决定四路单端输入时取00,三路差分输入时取01,单端与差分输入时取10,二路差分输入时取11。最低两位时通道编号位,当对0通道的模拟信号进行A/D转换时取00,当对1通道的模拟信号进行A/D转换时取01,当对2通道的模拟信号进行A/D转换时取10,当对3通道的模拟信号进行A/D转换时取11。在进行数据操作时,首先是主控器发出起始信号,然后发出读寻址字节,被控器做出应答后,主控器从被控器
33、读出第一个数据字节,主控器发出应答,主控器从被控器读出第二个数据字节,主控器发出应答,一直到主控器从被控器中读出第N个数据字节,主控器发出非应答信号,最后主控器发出停止信号。1器件地址一般都使用的0X90,就是把A1A3都接地了。2D2自动增益选择(有效位为1)设定1的时候,可以连续读出四个数据,就是四个通道的数据。3启动AD转换的时候,紧接着读出来的数据,不是当前的数据而是前一次保存的数据,所以可以根据需要来选择是不是抛掉。4连续读数据(0X04)的时候你可以首先把第一个数据抛掉,然后连续读出来5个数据就可以了,数据后面的4个就是需要的数据。5可以进行DA转换(0X40),转化男的时候满值2
34、55标示5V,0标示0V。6数据符合I2C通讯模式。35按键电路设计按键在单片机应用系统中是一个很关键的部件,它能实现向单片机系统输入数据、发送命令等功能,是人工干预单片机的主要手段。按键键控制有矩阵式和独立式两中。这次设计的按键是独立式的,两个按键的一个脚分别接到正5V电源上,另外两个脚分别接到单片机的P11、P12引脚上。按键电路如下图38所示。图38按键电路图第16页共31页对于键的识别,可以采用程序扫描的方法。考虑到本设计实际需要的按键较少,所以选择采用独立式按键接口电路。它是将每个独立按键按一对一的方式直接接到单片机的I/O口上,通过程序扫描查询方式实现与单片机系统交互的。在程序查询
35、方式下,通过I/O端口读入按键状态,当有按键按下时,相应的I/O端口变为低电平,这样通过读I/O口的状态判断是否有按键按下。而图中这两个按键是设锅炉压力上限和下限的,设计这个电路可以使下面的报警电路打下基础9。36报警电路在压力的检测过程中报警电路是必不可少的,而在电路设计中就要一个蜂鸣器一个管脚接地,其他一个管脚与单片机连接这样就可以实现,下图中蜂鸣器一个脚接地,另一个脚接到单片机的P13引脚上。如下图39所示。图39报警电路图在锅炉压力检测中,我们设定一个上限值,一个下限值,当压力传感器检测到锅炉内的压力大于上限,然后经过放大电路,放大为05V电压信号,再经过A/D转换将模拟信号转换为数字
36、信号传到单片机中,然后由单片机将信号给蜂鸣器,蜂鸣器这时候就响,然后报警,这样就提示工作人员要对锅炉压力进行处理了。反之,当压力低于下限值时,会做同样的处理。37压力传感器检测设计压力传感器芯片的性能受温度的影响非常大,主要表现为零点和灵敏度随温度变化而发生漂移。1220型是经过温度补偿的硅压阻式压力传感器,采用双列直插封装结构,适用要求成本低,性能优越,长期稳定性好的应用领域。通过激光修正的电阻实现了050的温度补偿,还提供一个激光修正的电阻用于调节差动放大器的增益来校正传感器的压力灵敏度变化,使具有良好的互换性,互换性误差仅为1。从02PSI至0100PSI量程范围内均有表压,差压第17页
37、共31页和绝压产品10。ICSL220系列具有如下优点1放大、校准和温度补偿;2多级压力非线性修正;3直接输出经放大校准的模拟信号;4输出与输入电压成正比;5温补范围为070,满足绝大部分用户的需求;6有表压、差压和绝压配置,有微压和低压等量程。ICSL220传感器性能参数如下表32所示表32ICS1220传感器性能参数表参数最小值典型值最大值单位满量程输出49550505MV零点输出22MV非线性0100501SPAN迟滞05001005SPAN输入输出电阻250044006000量程温度误差050305SPAN零点温度误差050105SPAN零点热迟滞01SPAN供电电压1235V响应时间
38、10MS输出噪音10VPP长期稳定性01SPAN过载压力3XRATED补偿温度050工作温度40125贮存温度50150重量3GRAMS应变片可以将应变转换为电阻的变化,为了显示于记录应变的大小,还要将电阻的变化再转换为电压或电流的变化,因此需要有专用的测量电路,通常采用第18页共31页直流电桥和交流电桥。压力传感器的电路如图310所示。图310ICS1220系列传感器接线图压力传感器在检测压力时,要接外加电路,这里压力传感器的1、3脚分别是信号输出管脚,它们分别接到放大器INA128的2IN、3IN脚上,2、6脚接地脚,4、5脚是供电脚接到正五伏电压上供电。由于应变片的电桥电路的输出信号一般
39、比较微弱,所以目前大部分电阻应变式传感器的电桥输出端与直流放大器相连电桥的输出电压于应变成线性关系。若相邻两桥臂的应变极性一致,即同为输出电压为两者之差,若不同时,则输出电压为两者之和。若相对两桥臂的极性一直,输出电压为两者之和,反之则为两者之差。电桥供电电压U越高,输出电压UO越大11。38电源电路设计本次设计中应用的各种模块都需要电源的供电,所以这里做一个USB供电的电路设计。在USB供电的电路中,电压从VCCIN进入然后经过一个电阻和一个LED灯回到接地。这里电阻选择的是1K的电阻,这只是一个保护作用,还有如果要方便断开,这里可以加入一个自锁开关,但是这里设计不加,只需要插供电的端口就可
40、以直接亮了,而且,只要各个模块需要供电的地方往这个USB供电电路中一插就可以实现各个模块的供电了。还有设计一个USB供电电路的好处防止各个模块供电的比较多,到时候插在供电端比较麻烦,得需要很多的插座才能满足,所以要设计一个USB供电电路。这里的电阻是保护LED灯的作用,防止那个LED灯被烧坏。如下图311所示。第19页共31页图311电源电路图39LCD液晶显示电路设计液晶显示器LCD(LIQUIDCRYSTALDISPLAY)广泛应用于微型计算机系统中,与LED相比,具有功率低,抗干扰能力强,体积小,价格低廉等优点。另外,LCD在大小和形状上更加灵活,接口简单,不但可以显示数字、字符,而且可
41、以显示文字和图形。字符和数字的简单显示,不能满足图形曲线和文字显示的要求。点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及文字,并且可以实现屏幕上下左右滚动、动画、分区开窗口、反转、闪烁等功能,用途十分广泛。现在,随着液晶技术的突破,液晶显示器的质量有了很大的提高,品种也在不断推陈出新,不但有各种规模的黑白液晶显示器,还有绚丽多彩的彩色液晶显示器。在点阵式液晶显示器中,把控制驱动电路与液晶点阵集成在一起,组成一个显示模组,可与八位微处理器接口直接连接,不但使用方便,而且价格也比较便宜12。391LCD1602的引脚及接线1602液晶也叫1602字符型液晶,它是一种专门用来显示字母
42、、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示第20页共31页两行,每行16个字符液晶模块(显示字符和数字)。LCD1602如下图312所示分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别13。LCD1602的主要技术参数1显示容量162个字符;2芯片工作电压4555V;3工
43、作电流20MA50V;4模块最佳工作电压50V;5字符尺寸295435WHMM。图312LCD1602接线图LCD1602液晶显示屏的接法是1、3、16脚接地;2、15角接正5V电源;剩下的4、5、6、7、8、9、10、11、12、13、14脚分别接到单片机的P24、P25、P26、P00、P01、P02、P03、P04、P05、P06、P07引脚上。其实LCD1602显示屏的3管脚是接一个调光滑动变阻器的,但是这里选择接地就是对比度最高。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC15脚和地线GND16脚,其控制原理与14脚的LCD完全一样
44、。LCD1602引脚接口如下第1脚VSS为地电源。第2脚VDD接5V正电源。第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W第21页共31页为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令14。第714
45、脚D0D7为8位双向数据线。第15脚背光源正极。第16脚背光源负极。392LCD1602的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如下表33所示。表331602控制指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要
46、写的数据内容11从CGRAM或DDRAM读数11读出的数据内容第22页共31页1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平、0为低电平)。指令1清显示,指令码01H,光标复位到地址00H位置。指令2光标复位,光标返回到地址00H。指令3光标和显示模式设置I/D光标移动方向,高电平右移,低电平左移S屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4显示开关控制。D控制整体显示的开与关,高电平表示开显示,低电平表示关显示C控制光标的开与关,高电平表示有光标,低电平表示无光标B控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5光标或显示移位
47、S/C高电平时移动显示的文字,低电平时移动光标。指令6功能设置命令DL高电平时为4位总线,低电平时为8位总线N低电平时为单行显示,高电平时双行显示F低电平时显示5X7的点阵字符,高电平时显示5X10的点阵字符。指令7字符发生器RAM地址设置。指令8DDRAM地址设置。指令9读忙信号和光标地址BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10写数据。指令11读数据。393LCD1602的RAM地址映射及标准字库表液晶显示是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是
48、告诉模块在哪里显示字符15。如下图313是1602的内部显示地址。图313LCD1602内部显示地址图第23页共31页模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图313是1602的内部显示地址。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的
49、英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。第24页共31页第4章系统软件设计41系统总流程图的设计由于模块化程序的设计,通过调用程序即可实现所用功能,写程序时,调用程序前即系统运行首要先对系统进行初始化。然后对按键进行扫描,对按键事件做出相应的反应。接下来看接收数据,然后数据处理,再判断压力值是否超过设定的压力值,要是否还得返回按键值那从新操作,如果超过设定压力值,这时蜂鸣器报警。接着返回来循环。根据所画的原理图如附录1所示设计出以下程序流程图。主程序流程图如图41所示。图41主程序流程图开始系统初始化取按键值按键值处理数据处理否是是否超过压力设定值接收数据蜂鸣器报警第25页共31页42压力检测程序流程图设计如图42为压力检测主程序流程图,单片机先初始化,启动放大电路和A/D转换,等待传感器接受的检测数据,单片机计算是否接收完毕,如是等待放大电路和A/D转换,如否返回继续等待接收。放大电路和A/D接收是否完毕,如是计算符合报警条件否,如否则返回。报警检测如是则启动报警,如否则显示结果。最后返回。图42信号检测流程图单片机初始化启动放大电路和A/D转换等待接收检测数据接收完毕等待信号放大和