版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要本设计利用GS系列传感器,将置于测试环境中待测气体的浓度转换为模拟电压,再通过ADC0809将模拟电压转换为数字信号,送入单片机AT89C51中进行处理。为了用户对气体浓度进行实时了解,将AT89C51外接3片74LS164作为3位LED显示器的静态显示接口,把单片机的RXD作为数据输出线,TXD作为移位时钟脉冲。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出,通过8位移位寄存器74LS164可进行静态显示。通过设置报警值,用单片机控制发光二极管和音乐IC同时报警。利用单片机控制技术,制作了程控一氧化碳报警器。该仪器对一氧化碳(CO)进行实时监控,当一氧化碳的浓度超过允
2、许值时,控制电路进行报警,并通过外接排风扇与电磁阀对其进行程控,以防事故的发生。另外为了防止程序陷入死循环,还利用x25045芯片组成的看门狗电路在程序陷入死循环时让单片机复位,而不用整个系统断电,从而保护了硬件电路。由于所设计的数字气体报警器采用单片机AT89C51,其价格便宜,性能稳定,易于产品化。以GS气体传感器和AT89C51 单片机为核心, 设计气体泄漏报警器,该报警器设计方法简单易行,使用效果良好,下面给出了气体泄漏报警器的总体设计原理,关键的硬件电路和所有的软件程序设计。关键词:一氧化碳; 气体泄露报警器; AT89C51单片机; GS气体传感器AbstractThe desig
3、n of the GS series of sensors, will be placed on the test environment measured the concentration of gas converted to analog voltage, and then through the ADC0809 will be converted to analog voltage digital signal, into the SCM AT89C51 in the process. To users of gas concentrations in real-time under
4、standing, AT89C51 will be linked three 74 LS164 externally as the three LED display static display interface, and the MCU RXD as the output data line, TXD as a shift clock pulse. 74LS164 TTL is a one-way 8-bit register displacement which can be realized enter serial, parallel output, through the 8-b
5、it shift register 74 LS164 can be static display. By setting the alarm level, the MCU control LED and music IC alarm at the same time.SCM control use of technology, produced a program-controlled carbon monoxide alarm. The instrument of carbon monoxide (CO) for real-time monitoring, when the concentr
6、ation of carbon monoxide is more than allowed value, the control circuit for alarm, and through an external electromagnetic valve row fans and their program-controlled, to prevent accidents. In addition procedures to prevent a cycle of death, also used x25045 watchdog circuit chip composed of a deat
7、h in the process so that when the MCU reset cycle, instead of the whole system off, thereby protecting the hardware circuit. As designed by the number of gas alarm using SCM AT89C51, it is cheap, stable performance, easy-production. GS to gas sensors and AT89C51 microcontroller as the core design of
8、 gas leakage alarm, the alarm system design method is simple, use good effect, the following is a gas leakage alarm the general design principles, the key hardware and all The software program design. Keywords: CO; Leaking gases alarm; AT89C51 microcomtuper; GS Gases Sensors目 录摘要IAbstractII1 绪论1研究背景
9、及意义1 研究目标及实现功能21.3研究方案342 单片机相关知识介绍6 2.1单片机中断与复位6单片机中断系统单片机复位电路 AT89C51单片机对ADC0809的接口8AT89C51的介绍3 硬件部分的设计及调试9硬件部分的设计9.1系统的组成93.1.2系统各模块功能93.1.3系统的控制123.1.4系统主要器件的介绍3.2硬件电路的调试124 软件部分的设计及调试13 软件部分的设计13.1主程序144.1.2调零子程序154.1.3显示子程序164.1.4报警子程序174.1.5中断取值子程序19软件程序的调试22结论41致谢23参考文献24附录25科技文章摘译35第1章 绪论研究
10、背景及意义随着我国燃气的变革及西气东输工程的进行,煤气或天然气已成为多数家庭的燃料。每年因煤气泄漏造成的煤气中毒事故中,因使用热水器不当或产品本身的质量问题造成的一氧化碳中毒事故全国均有不少事例。更有甚者,因室内煤气浓度过高引起煤气爆炸的事故也不少见。所以,这样防止煤气中毒与爆炸已成为人们迫切需要。家用燃气报警器更是时下所需,因为它更简捷易用,方便居民生活。而且,气体报警器的研发对于防止煤矿事故也是至关重要的,据权威部门统计,仅去年煤矿事故死亡人数就高达3786人,同时也造成了巨大的经济损失。我国特大煤矿事故也是非常严重的,例如2005年12月,河北唐山刘官屯煤矿发生特别重大瓦斯煤尘爆炸事故,
11、造成108名矿工死亡,29人受伤,直接经济损失4800多万元。同年9月1日,黑龙江省双鸭山矿务局东保卫煤矿发生瓦斯爆炸事故,14人遇难。 9月5日,山西省大同矿业集团公司永定庄煤矿发生特大瓦斯爆炸事故,死亡31人。9月27日,贵州省水城矿务局木冲沟煤矿发生特大恶性瓦斯爆炸事故,162人死亡。这是近40年来最严重的一次煤矿事故。11月5日,吉林省辽源矿务局西安矿矿办小井发生瓦斯爆炸事故,死亡31人,造成严重经济损失。11月25日,内蒙古自治区大雁煤业公司二矿采煤工作面发生特大瓦斯爆炸,目前已发现14人死亡,37人下落不明。由此可见报警器无论是在人们的日常生活中,还是在煤矿等工业生产中都发挥着至关
12、重要的作用,所以实时准确测量周围环境中的可燃性气体,有毒有害气体泄露,对保护人民的身体健康和财产安全有重要意义。在国民经济的许多领域中,如油田、矿山、化工等企业和家庭中有广泛的应用,也是环境保护的重要项目。如何开发出稳定可靠、高性能价格比的装置,成为急需解决的课题。由于要求数字气体报警器具有体积小巧,监控精度高,能长时间稳定工作的特点。传统的纯硬件报警器已经不能满足这种要求了,可以用单片机设计。单片机在工业控制和仪器仪表智能化的应用中扮演着极为重要的角色。其设计出的产品体积小、成本底、运用灵活、易于产品化、抗干扰能力强、适应范围广,在各种恶劣的环境下都能可靠工作。研究目标及实现功能本文所设计的
13、数字气体报警器采用单片机AT89C51,其价格便宜,易于产品化。本设计能将置于测试环境中的气体传感器输出的模拟电压通过A/D转换器送入单片机AT89C51中进行处理并通过数码管显示,通过设置报警值,当检测到的浓度达到或者超过设定值时,用单片机控制发光二极管发光报警,同时打开喇叭发出声音报警,来达到报警的目的,并通过外接排风扇与电磁阀对其进行程控,以防事故的发生。而当系统出现故障时,黄色LED亮启,便于用户及时对报警器进行维修。系统以MQK气体传感器和AT89C51 单片机为核心, 设计气体泄漏报警器。实现:1准确测量周围环境中的可燃性气体、有毒有害气体的泄漏;2实现系统各个模块的功能控制;3实
14、现单片机编程语言系统的控制及传感器电路的控制。4研究单片机各接口的作用及功能;5了解MQK气体传感器的具体功能;6实现对基本报警电路的控制。研究方案设计是利用单片机控制技术,制作了程控一氧化碳报警器。该仪器对一氧化碳进行实时监控,当一氧化碳的浓度超过允许值时,单片机控制电路进行报警,并通过外接排风扇进行程控,以防事故发生。基于AT89C51性价比高的优势,主要运用了AT89C51单片机进行控制。而对与报警器而言至关重要的部分是传感器,由于GS系列气敏元件采用半导体敏感材料,其灵敏度、选择性、稳定性、抗干扰性、响应时间及寿命等主要性能,均达到国内先进水平.用该系列元件组装成易燃易爆和有毒气体泄漏
15、报警器及检测装置,可广泛运用于矿山、油田、化工、国防、医药及家庭,所以在设计中采用的是GS系列传感器。在模数转换这块,利用ADC0809实现模数转换,ADC0809是8位逐次渐进型的A/D转换器,它采用COMS工艺20个引脚双列直插式封装,它有三态琐存器,直接驱动数据总线,与微机相连时不需要附加接口电路。为了方便用户了解浓度信息,好提前准备,还采用了显示环节。显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,
16、因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,这里运用了常用的74LS164 8位移位寄存器串并转换电路。总的来说,设计主要利用了以上的检测模块,A/D转换模块,显示模块,事故处理模块,控制模块五大模块,组成了可燃气体探测报警器。我国报警器行业的发展我国电子信息业在上世纪八十年代第一次腾飞后,随着国民经济信息化进程的加快,之后又进入持续快速发展的新时期。这个时期电子信息产业的主要特征表现为:一是正在从单一的制造业转变为物质生产与知识生产,装备制造与系统集成,硬件制造与软件制造,工业生产与信息服务相结合的现代信息产业;二是产业结构,产品结构,企业结构,运行机制,
17、管理模式等方面发生了深刻变化;三是我国信息产业成为国民经济的支柱产业和先导产业,是新世纪的战略产业,为国民经济和社会信息化建设提供主要技术和物质支撑。 报警器技术及其产业的特点是:基础、应用两头依附;技术、投资两个密集;产品、产业两大分散。基础、应用两头依附,是指报警器技术的发展依附于敏感机理、敏感材料、工艺设备和计测技术这四块基石。敏感机理千差万别,敏感材料多种多样,工艺设备各不相同,计测技术大相径庭,没有上述四块基石的支撑,报警器技术难以为继。 应用依附是指报警器技术基本上属于应用技术,其市场开发多依赖于检测装置和自动控制系统的应用,才能真正体现出它的高附加效益并形成现实市场。也即发展报警
18、器技术要以市场为导向,实行需求牵引。技术、投资两个密集技术密集是指报警器在研制和制造过程中技术的多样性、边缘性、综合性和技艺性。它是多种高技术的集合产物。由于技术密集也自然要求人才密集。投资密集是指研究开发和生产某一种报警器产品要求一定的投资强度,尤其是在工程化研究以及建立规模经济生产线时,更要求较大的投资。增加投资和正确的投资方向是提高报警器产业水平的主要条件之一,也是企事业决策者谋求最佳经济效益的重要手段。产品、产业两大分散,产品结构和产业结构的两大分散是指报警器产品门类品种繁多,生产、研究单位分布在除地方外有12个部委(电子、机械、科学院、航空航天、教委、冶金、船舶、铁道、轻工、化工、煤
19、炭等),其应用渗透到各个产业部门,它的发展既是各产业发展的推动力。只有按照市场需求,不断调整产业结构和产品结构,才能实现报警器产业的全面、协调、持续发展。 在国家的支持下,“八五”以来,我国的报警器技术及其产业取得了长足进步。 在学术交流方面,1989年10月由敏感元器件与报警器分会发起主办的“STC89 首届全国敏感元件与报警器学术会议”已延续至今,固定每两年召开一次,每逢活动不但国内学者、企业家云集且有不少其它国家的人士参加。目前,其论值组织机构为:“全国敏感元件与报警器学术团体联合组织委员会”。 在原电子工业部的努力及敏感元器件与报警器分会的积极组织下,实施的“双加工程”即:加快力度加快
20、发展,的方针指导下,建立了我国敏感元器件与报警器生产基地。这三大基地分别为: “安徽基地”,主要是建立力、光敏规模经济。 “陕西基地”,1990年2月成立了“陕西省敏感技术产业集团公司”主要是建立电压敏、热敏、汽车电子规模经济为主要目标。 “黑龙江基地”主要建立气、湿敏规模经济为主要目标。 多年来,三大基地在发展过程中虽然兴衰不一,历史地看,它对我国敏感元件与报警器行业的建设起到了一定的推动作用。 “九五”期间报警器技术研究国家重点科技攻关项目取得了51个品种86个规格的新产品。初步建立了敏感元件与报警器产业。 产品已进入到亿万人民的家庭生活中,并已在国民经济各部门和国防建设中得到一定应用。
21、近年来,在研发主力军的建设方面,主要表现在:建立了“传感技术国家重点实验室”、“微米/纳米国家重点实验室”、“国家传感技术工程中心”等研究开发基地。 全国已有1688家企事业从事报警器的研制、生产和应用,其中从事MEMS研制生产的已有50多家。目前全行业正在执行“十五”规划,MEMS等5项新型报警器已列入研究开发的重点;国家计委决定从2002年开始组织实施的新型电子元器件产业化专项中有5项新型敏感元件与报警器已经启动;一些省、市新建立的“报警器产业基地”、“MEMS科技股份”,呈现出良好的发展态势。单片机相关知识介绍单片机中断与复位1. 中断的概念中断是通过硬件来改变CPU程序运行的方向。计算
22、机在执行程序的过程中,由于CPU以外的某种原因,有必要尽快中止当前程序的执行,而去执行相应的处理程序,在处理结束后,再回来继续执行被中止了的源程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。2. 89C51 的中断系统89C51的中断系统主要由几个与中断有关的特殊功能的寄存器,中断入口,顺序查询逻辑电路等组成。与中断有关的特殊功能寄存器有四个,分别为中断源寄存器(即专用寄存器TCON和SCON的相关位),中断允许控制寄存器IE和中断优先级控制寄存器IP。89C51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套。5个中断源的排列顺序由中断优先级控制寄存器I
23、P和顺序查询逻辑电路共同决定。5个中断源对应5个固定的中断入口地址。(1) 中断请求源: 外部中断请求源:即外中断0和1,经由外部引脚引入的,在单片机上有两个引脚,名称为INT0、INT1,也就是、这两个引脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相同。(2)内部中断请求源:TF0:定时器T0的溢出中
24、断标记,当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。TF1:与TF0类似。TI、RI:串行口发送、接收中断。(3) 中断允许寄存器IE中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来控制的。见表2-1 表2-1 8位中断允许寄存器EAXXESET1EX1ET0EX0其中EA是总开关,如果它等于0,则所有中断都不允许。ES串行口中断允许ET1定时器1中断允许,EX1外中断1中断允许。ET0定时器0中断允许,EX0外中断0中断允许。(4)五个中断源的自然优先级与中断服务入口地址外中断0:0003H 定时器0:000BH外中断1:0013H 定时器
25、1:001BH串口 :0023H它们的自然优先级由高到低排列。中断优先级中由中断优先级寄存器IP来置值的,IP中某位设为1,相应的中断就是高优先级,否则就是低优先级。XXXPSPT1PX1PT0PX0复位是单片机的初始化操作,其主要功能是把PC初始化位0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其它一些专用寄存器有影响,他们的复位状态如下;PC 0000H TCON 00HACC 00H TLO 00HPSW 00H TH0 00HSP 07H TL1 00HDPTR 00
26、00H TH1 00HP0P3 0FFH SCON 00HIP xx000000B SBUF 不定IE 0 x000000B PCON 0 xx0000BTMOD 00H复位操作还对单片机的个别引脚信号有影响,例如把ALE和信号变为无效状态,即ALE = 0, = 1。本实验采用按键电平复位方式,晶振为12MHz,R1为200,R2为2K,C为10uF。复位电路虽然简单,但其作用非常重要。一个单片机是否正常工作,首先要检查是否能复位成功。 AT89C51单片机对ADC0809的接口MCS-51与ADC接口时必须弄清并处理好三个问题:1要给START线送一个100ns宽的启动正脉冲;2. 获取E
27、OC线上的状态信息,因为它是A/D转换的结束标志;3.要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。MCS-51和ADC接口通常可以采用查询和中断两种方式。采用查询法传送数据时MCS-51应对EOC线查询它的状态:若它为低电平,表示A/D转换正在进行,则MCS-51应当继续查询;若查询到EOC变为高电平,则给OE线送一个高电平,以便提取A/D转换后的数字量。采用中断方式传送数据时,EOC线作为CPU的中断请求输入线。CPU响应中断后,应字中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。 MCS-51对ADC0809的接口ADC0809内部有一个
28、8位“三态输出锁存器”可以锁存A/D转换后的数字量,故它本身既可看作一种输入设备,也可认为是并行I/O接口芯片。因此,ADC0809可以直接和MCS-51接口,当然也可通过像8255这样的其他芯片连接。但在大多数情况下,51系列单片机是和ADC0809直接相连的AT89C51的介绍是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89
29、C51提供了高性价比的解决方案。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。硬件部分的设计及调试硬件部分的设计系统的组成整个报警器由三个部分组成:浓度检测及显示模块。主控模块和报警及事故处理模块。系统的组成框图如图3-4所示。故障处理报警控制浓度显示AT89C51气体浓度检测工作状态设置图3-4 系统组成框图系统各模块
30、功能(GS-A1),该传感器对一氧化碳具有很高的灵敏度,稳定性和抗湿性良好,加活性碳罩后,可防止乙醇等有机气体的干扰.检测结果经高精度运放器OP07放大后,送入ADC0809模P数转换芯片进行模)数转换,单个传感器检测电路图如图5。 在本设计中,另一重要模块就是A/D模数转换模块。因为模拟信号不能直接送往单片机进行处理,必须进行A/D转换。模数转换的过程有四个阶段,即:采样,保持,量化和编码。本设计利用ADC0809实现模数转换。ADC0809是8位逐次渐进型的A/D转换器,它采用COMS工艺20个引脚双列直插式封装,它有三态琐存器,直接驱动数据总线,与微机相连时不需要附加接口电路。ADC08
31、09的主要性能如下:1分辨率为8位。2最大转换误差为1LSB。3转换时间为100uS。4逻辑点平与COMS和TTL相兼容。5+5V单电源供电。6可对0到+5V的输入模拟信号进行转换。图3-5 A/D转换模块引脚图程序中预采用模数转换电路由ADC0809芯片组成,三路检测结果从IN0、IN1、IN2输入,转换顺序由ADDA、ADDB、ADDC控制,转换结果送单片机P0口供单片机进行数据处理。由P0口输入的数据,在单片机内部进行标度变换后,从单片机的串行口输出进行显示.系统的工作状态和气体浓度,采用LED数码管显示,每30秒刷新一次.为了不再扩展IPO口,系统采用串行口的移位功能扩展为4位静态显示
32、电路.第一位为系统工作状态显示,后三位为一氧化碳气体浓度显示.当第一位为“00”时,表示系统工作在三点巡回检测同一个房间状态;为“8”时表示系统工作在三点巡回检测同一个房间正常工作状态;为“1”、“2”、“3”时表示系统工作在单独检测状态,此时后三位显示的数据分别为第1号、第2号、第3号传感器所检测到的一氧化碳气体浓度。浓度显示单位为为串行输入,并行输出寄存器,当P2.0=1且AT89C51的TXD端有输出时,74LS164接收串行数据,更新显示;当P2.0=0时,显示的内容不变。系统采用单片机进行控制,选用的产品,其指令系统完全与8031/8051兼容,内带4K字节的内存和程序保护系统,便于
33、程序的调试修改和保密,各管脚的功能如下:1)ALE端的功能:ALE端与ADC0809的CLOCK相连,为ADC0809输入时钟脉冲.2)P0口的功能:P0口与ADC0809的数据输出口相连,接收APD转换结果.3)P1口的功能:P1.0端接工作状态控制开关,开关闭合时,系统进入正常工作状态;P1.1端外接的开关为三点巡回测量同一个房间控制开关,当开关闭合时有效;P1.2P1.4端接ADC0809的ADDA、ADDB、ADDC三端,控制ADC0809的八路模拟输入转换.4)P2口的功能:P2.1端与WR端通过外接的与门求反后与ADC0809的START和ALE相连,用以启动APD转换,且将8路地
34、址锁存;P2.1端与RD端通过外接的与门求反后与ADC0809的OE端相连,用以允许将APD转换结果输出,让单片机读取转换结果;P2.2端用作系统音乐报警信号控制端,高电平有效;P2.3端用作排风扇启动信号控制端,高电平有效;P2.4端用作电磁阀启动信号控制端,高电平有效.5)P3口的功能:P3.0、P3.1端和P2.0端用于控制系统的显示输出.当气体浓度超过允许值时,该模块动作,发出警报信号并根据不同情况进行事故处理.P2.2端为音乐控制端,P2.3端为电磁阀启动控制端,P2.4为排风扇控制端,均为高电平有效.为防止市电对系统的干扰,P2.3和P2.4端都经过光电耦合管对电磁阀和排风扇进行控
35、制.系统各模块之间的接线图如图6所示.图5 单个传感器电路图 系统的控制1系统要求设置正常工作状态,除正常工作状态外,电磁阀要求处于关闭状态,以切断煤气通道,防止煤气外泄。2在非正常工作状态下,当室内一氧化碳的浓度达到100ppm时系统应启动音乐报警,若2min报警无效,系统应启动排风扇进行通风排气。3系统进入正常工作状态后,先启动排风扇进行通风,然后启动电磁阀供给煤气。4系统进入正常工作状态,自45min后,每隔10min音乐响起一次,用来提醒用户在工作完毕后,停止供气。5在正常工作状态下,当系统检测到一氧化碳的浓度达到300ppm时,应关闭电磁阀,切断煤气通道以防止意外事故的发生。系统主要
36、器件的介绍3.1.4.1 GS传感器介绍设计中所用到的气体传感器是GS系列传感器,下面具体介绍一下GS系列气体传感器:GS系列气敏元件采用半导体敏感材料,工艺独特为国内首创,其灵敏度、选择性、稳定性、抗干扰性、响应时间及寿命等主要性能,均达到国内先进水平.用该系列元件组装成易燃易爆和有毒气体泄漏报警器及检测装置,可广泛运用于矿山、油田、化工、国防、医药及家庭.GS系列传感器主要有以下特点:(1)灵敏度高、功耗低,输出信号强.(2)选择性好、对被检测的气体非常敏感,而对干扰气体则灵敏度很低(3)稳定性、可靠性强(4)具有抗高温、抗高湿性能(5)元件不含任何贵金属催化剂,具有抗中毒及抗饱和性能.但
37、由于气体传感器是使用半导体材料来制作,不可避免的是有温度漂移问题,如何处理好气体传感器温度补偿问题是报警器设计的关键(图3-1、图 3-2).以前的一般做法是把报警器的报警阀值电压作补偿,这样的电路会简单一些,但温度补偿的效果不太理想,主要是在低温环境里,气体传感器的表面温度降低导致气体传感器的性能变差,解决的方法是在低温环境里提高气体传感器的加热功率,使气体传感器的表面温度维持相对恒定,达到使气体传感器稳定工作的目的。图3-1 传感器输出特性曲线图图3-2 传感器加温度补偿所需的加热电压曲线 气体传感器加热电源的原理见图 3-3,利用 PIC 单片机的脉冲宽度调制输出功能(简称 PWM),
38、及 A/D 转换输入功能实现电源电压的稳定和自我调整。 如图所示,是降压式开关电源(Buck 式)的基本电路。其中,Vin 为输入电压,Vout 为输出电压,Q1、Q2 为开关三极管,R1、R2、R3 为电阻,L 为电感,D 为肖特基二极管;C 为电容,MQK 为气体传感器,通常有:,;。0.01V,输出电流为 120mA,Vp0.1V.该电路的工作原理是:预先设定目标工作电压值,输出 AT89C51 单片机的 PWM,启动开关电源工作,通过A/D 转换电路将电源电压值读入单片机,如果电压值偏离给定值,则调整 PWM 输出,这样形成一个电压调整的闭合环路,直到电压值维持恒定,而环境温度将决定电
39、压给定值的大小,达到随外界温度的改变而改变加热功率的目的,以补偿气体传感器的温度变化,同时使用开关电源减少了线性稳压电源的压降损耗.该开关电源电路的电压稳定精度取决于单片机 A/D 和 PWM 的精度,该 AT89C51 单片机基本能够满足气体泄漏报警器的性能需求。图3-3 传感器加热电源原理图 3.1.4.2 74LS164移位寄存器介绍74LS164 8 位移位寄存器(串行输入,并行输出) 简要说明 164 为 8 位移位寄存器,其主要电特性的典型值如下:当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B 任意一个为低电平,则禁
40、 止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平。当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态。 引出端符号 CLOCK 时钟输入端 CLEAR 同步清除输入端(低电平有效) A,B 串行数据输入端 QAQH 输出端逻辑及封装图双列直插封装极限值 电源电压7V 输入电压 5.5V 工作环境温度 54164 -070 储存温度 -65150真值表H高电平 L低电平 X任意电平 低到高电平跳变 QA0,QB0,QH0 规定的稳态条件建立前的电平 QAn,QGn 时钟最近的前的电平时序图下面再介绍一下74LS164驱动数码
41、管:在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,这里以常用的串并转换电路74LS164为例,介绍一种常用静态显示电路,以使大家对静态显示有一定的了解。 MCS-51单片机串行口方式0为移位寄存器方式,外接6片74LS164作为6位LED显示器的静态显示接口,把8031的RXD作为数据输出线,TXD作为移位
42、时钟脉冲。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hga各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲
43、会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三、四、五片74LS164中。硬件电路的调试本设计的元器件较少,所以采用万用板手工焊接。焊接完成后,检查有无可能出现的虚焊、漏焊,检查电源线和接地线。确定无问题后将电路板通电
44、。首先用示波器观察单片机AT89C51的18、19管脚有无频率为10MHZ的三角波。若有,表示晶振正常工作,单片机能保证正常工作。若无,检查晶振电路,排除故障。接着用单片机仿真器向P1口送数值,检查LED数码管能否正常显示,若不能,检查译码器7448是否工作,有无电压输出,检查LED是否损坏。最后检查ADC0809在有电压15V接入的情况下,有无电压输出。若无问题,硬件调试完毕。软件部分的设计及调试软件部分的设计本设计的主要功能实现在于程序的编写,流程图如图4-1: 图4-1 软件流程图如图所示,整个报警器程序上分成中断取值转换、调零、报警、显示四大模块主程序整个程序一共使用了两个中断,一个外
45、部中断即INT0中断,一个定时/计数器中断即IT0中断.这两个中断各有其作用,INT0中断是用来判断A/D转换器ADC0809对模拟信号的转换是否完成,当A/D转换结束后,ADC0809发出结束EOC(高电平)信号,该信号可供单片机查询,也可反相后作为向单片机发出中断信号,而本设计正是用的这个方法,使得程序进入中断取值程序.而程序中所用到的IT0中断,是为产生一个周期为2S的方波而设计的,其作用是为看门狗产生喂狗子信号.具体程序如下: ORG 00H JMP START ;主程序入口地址 ORG 03H JMP INTO ;外中断INTO入口 ORG 0BH JMP ITOP ; 定时器0中断
46、入口 ORG 0100HSTART: MOV IE,#10000001B ;INT0中断使能 MOV IP,#00000001B ;INT0中断优先 MOV TCON,#00000000B ;设置INT0为电平触发 MOV SCON,#00000000B ;串行口发送,接收标志位请0 MOV SP,#60H ;设堆栈指针 MOV TMOD,#01H ;设置T0为方式1 CALL PT0M0HERE: AJMP HERE ;自身跳转PT0M0: MOV TL0,#0CH ;T0中断服务程序,T0重新置初值 MOV TH0,#0FEH SETB TR0 ;启动T0 SETB ET0 ;允许T0中断
47、 SETB EA ;CPU开中断 RETITOP: MOV TL0,#0CH ;T0中断服务程序,T0置初值 MOV TH0,0FEH状态取反 RETI ACALL LED ;调用LED自检子程序 MOV 33H,#00H ;设置中断完成标志为0 MOV DPTR,#0FEFFH ;ADC0809的端口地址 MOVX DPTR,A ;使BUS为高阻抗,令ADC0809开始转换WAIT:MOV A,33H ;等待A/D转换完成信号 JNZ INTOK JMP WAIT ;未完成则跳回等待INTOK: MOV A,32H ;将最新的浓度值存入累加器中,(若A/D未工作,则A=0) JNZ L1 M
48、OV A,30H JMP L2L1: MOV 30H,31H MOV A,31H ;将新浓度载入累加器L2: CALL BCD ;调用BCD码调整程序 CALL DISP ;显示当前浓度 CALL ADZERO ;调用零点调整子程序 CALL ALARM ;调用判断报警程序 CALL BCD CALL DISP ;调用显示子程序 CLR A ;清除累加器值 JMP START ;返回在主程序通过对33H中数值的判断断定A/D是否转换完成,当33H中为1时,转换完成,程序调用调零、报警、显示模块对输入数据进行处理。调零子程序:由于未知问题,可能造成送入单片机中显示的模拟电压量与真实电压存在区别,
49、这种误差可以通过在中断处理中对A/D转换的数值加上一个调整值来解决。这样,我们就能根据实际情况来对报警器输出的数值进行控制,使其记数更加精确,使用更方便。我们可以利用对端口的电平高低来判断是否需要进行调零处理,故可将按键开关接于端口P2.2.若开关按下,则说明有调零需要,于是进入调零处理程序;若开关没有按下,则说明没有调零需要,系统进入下一步.通过设置一个按键,既可保证程序顺利进行,又方便用户使用.具体程序如下:ADZERO:CALL DELAYJB P2.2,JMP1 ;判断调零按钮是否按下,没按则跳JMP1.JMP1:RET通过对位的判断来分辨是否有调零请求,若有则跳入调零模式,调零模式中
50、程序如下:LOOP1:CALL DELAY JNB P2.2,$ ;消除抖动延时 MOV A,40H ;将调零预设值40H送入 CLR C ;清除进位标志 SUBB A,#01H ;调零值减1 JNC LOOP2 ;未借位则跳LOOP2 MOV A,#05H ;有借位则重设调零值为5LOOP2:MOV 40H,A ;将调零值送回40H保存 MOV A,R3 ;将当前浓度值送入A JZ XEND DEC A ;当前浓度值减1(响应调整变化)XEND1 :MOV 30H,A ;送回30H保存 MOV 31H,A ;送回31H保存 CALL BCD ;调用BCD码调整 CALL DISP ;调用显示
51、子程序JMP LOOPXEND: MOV A,#63H JMP XEND1进入调零模式后,若有按键则,LED数码管示数响应按键变化。若3秒无任何按键,则退出调零模式返回主程序。显示子程序因为通过A/D转换进入单片机8051的浓度值以十六进制存在,为了让LED显示需要转换为BCD码,其BCD码转换程序如下:BCD:MOV 55H,#00H ;存放BCD转换中的百位数MOV 56H,#00H ;存放BCD转换中的十位数CLR C ;清除进位标志为下面的SUBB准备 MOV R2,#00H ;清除R2CHAN:SUBB A,#64H ;减100JC CHAN1 ;不能减,转INC R1 ;百位值JM
52、P CHAN ;循环判断百位CHAN1: ADD A,#64H ;还原百位数 CLR C ;清除进位标志为下面的SUBB准备CHAN2: SUBB A,#0AH ;减10JC CHAN3 ;不够减,跳INC R2 ;够减十位加1JMP CHAN2 ;重复减10CHAN3: ADD A,#0AH ;还原十位数MOV 60H,R2 ;把十位数放60H中MOV 61H,A ;把个位数放61H中RET这样把转换成的BCD码,个位存于61H中,十位存入60H中,再编写显示模块如下:DISP: MOV R7,#03H MOV R0,#60HLED1: MOV A,R0 MOV DPTR,#TABLELED
53、2: MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,LED1 RET将数值送入到LED显示74LS164驱动数码管的过程:在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,这里以常用的串并转换电路74LS164为例,介绍一种常用静态显示电路,以使
54、大家对静态显示有一定的了解。 MCS-51单片机串行口方式0为移位寄存器方式,外接3片74LS164作为3位LED显示器的静态显示接口,把8031的RXD作为数据输出线,TXD作为移位时钟脉冲。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲
55、才起作用。Q1Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hga各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,3片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在
56、第一、二、三片74LS164中。由于本设计采用的是机械按键,与地线想连,按键按下,输入为低电平,释放按键则输入为高电平。实际上,机械式按键的落片存在着轻微的弹跳现象其时间由操作员按键的动作所确定,为了确保CPU对按键的一次闭合仅做一次处理,必须去除抖动,一般通过调用子程序延时来解决,在键的稳定闭合或释放时才读出键的状态,具体程序如下:DELAY: MOVR 5,#60 设定30毫秒D1: MOV R6,#248 ;设定毫秒DJNZ R6,$ DJNZ R5,D1 RET因为石英晶体为12MHZ,一个机器周期为1微秒,这样如上程序可达到延时30毫秒的目的。报警子程序本设计采用了声光报警,当探测器
57、探测的浓度超过报警设定值时就会同时产生音乐报警和灯光报警,此时红灯亮启,喇叭发出音乐,而正常时,喇叭关闭,红灯关闭,而显示正常的绿色LED亮启,本设计为了安全起见,还设置了事故处理装置,即出现危险使,探测器除了报警外,还会使排气扇的阀门打开,对室内进行排气,以免产生气体爆炸或是中毒.具体程序如下ALARM: MOV A,30H ;将当前浓度值送如累加器 CLR C ;清除进位标志 SUBB A,50H ;与预警值进行判断 JNC GOOD1 ;若无借位,则当前浓度值高于或者等于预警值,跳GOOD1报警 SETB P1.6 ;关闭声光报警 CLR P2.3 ;关闭排气阀门 SETB P1.5 ;
58、关闭黄色LED CLR P1.4 ;打开绿色LED(显示正常) RET GOOD1: CLR P1.6 ;打开声光报警(危险报警) CLR P2.3 ;打开排气阀门 SETB P1.5 ;关闭黄色LED SETB P1.4 ;关闭绿色LED(显示不正常? RET中断取值子程序:从硬件电路图可以看出,A/D0809的INTR端通过反相器与单片机的外部中断INT0相连,由A/D0809的管脚功能可知,当A/D开始转换送入的模拟电压时,INTR端为低电平,转换完成后,INTR端变成高电平,通过反相器变成低电平使单片机89C51产生外部中断,进入中断处理程序:;* * * * * * * * * *
59、* * * * * * *INTO: PUSH ACC ;将累加器值压入堆栈保存 PUSH PSW ;将PSW值压入堆栈保存 MOVX A,DPTR ;将A/D转换好的值送入累加器 MOV 32H,A ;将A/D读得的值存入32H保存 CLR C SUBB A,51H ;判断获得的电压是否小于1V(50) JNC OK1 MOV 32H,#00H ;当前A/D转换的电压小于1V,则A/D转换得的示数为00 JMP EMP1 OK1: MOV A,32H CALL ADJUST ;调用ADJUST将其调整为浓度对应的16进制 CALL ADDD ;调用ADDD将其与调零预设值相加,得到调整后的1
60、6进制 MOV 31H,A ;将调整后的值送入31H保存 EMP1: MOV IE,#10000000B ;关闭INT0中断使能,关闭中断 POP PSW ;至堆栈取回PSW值 POP ACC ;至堆栈取回ACC值 MOV 33H,#01H ;中断完成,设置完成标记33H为1 RETI;* * * * * * * * * * * * * * * * *; 调整相加子程序;* * * * * * * * * * * * * * * * * ADJUST: CLR C SUBB A,#32H ;将A/D转换的值减50再除10乘5可得当前浓度的16进制值 MOV B,#0AH DIV AB MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南通市通州高级中学2024-2025学年高二上学期第二次阶段性检测物理试题(含答案)
- 江苏行政职业能力模拟48
- 2022年湖南省湘西州中考数学试卷 (原卷版)
- 浙江公务员面试模拟113
- 可视化教学在小学音乐课堂中的应用
- 2000年新疆公务员面试真题
- 地方公务员辽宁申论80
- 网络服务器搭建、配置与管理-Linux(麒麟欧拉)(微课版)(第5版)课堂实践任务单2-熟练使用Linux基本命令
- 河南行政职业能力测验模拟61
- 湖南行政职业能力模拟122
- 军品保密协议管理制度
- GB/T 43232-2023紧固件轴向应力超声测量方法
- 环境、社会与公司治理(ESG)
- 2023年湖南长沙环境保护职业技术学院招聘专任教师笔试参考题库(共500题)答案详解版
- 南京玄武区某校2023-2024五年级上册语文期中试卷及答案
- 国企公司经理层年度(任期)经营业绩考核及薪酬办法 附反馈表与评估表
- 中国(教育部)留学服务中心社会招聘笔试试题及答案2022
- 幼儿园优质公开课:中班健康《逃生大闯关》课件
- 白酒基础知识培训课件
- 《牢固树立国家安全观-国家安全教育学习》教案 第11课 科技安全
- 防校园欺凌-课件(共28张PPT)
评论
0/150
提交评论