您好,欢迎来到星星旅游。
搜索
您的当前位置:首页汽车尾气检测仪的设计

汽车尾气检测仪的设计

来源:星星旅游
汽车尾气检测仪的设计汽车尾气检测仪的设计摘要本系统是一个简单的汽车尾气检测仪,系统以ATS52、8155、ADC0809等芯片为基础,结合相应的程序构成了这个汽车尾气的检测仪。本文论述了该检测系统的基本工作原理、硬件选择、软件设计。其中硬件电路部分包括主控电路、芯片扩展电路、A/D转换电路、显示电路。软件设计使用汇编编程,采用模块化设计,对每一软件模块进行单独设计、编程,然后对整个软件进行调试,从而完成了完整的软件系统。本系统结构简单,容易实现,具有一定的教学价值。关键词:汽车尾气检测、单片机、硬件、软件。汽车尾气检测仪的设计THEDESIGNOFAUTOMOTIVEEXHAUSTDETECTORABSTRACTThissystemisasimpleautomobileexhaustdetector,ATS52chipsystemcontrolchip,8155fortheexpansionofthechip,ADC0809,asthesignalconversionchipandotherchip-based,Supplementedbythecorrespondingprogramtocompletethedesignoftheexhaustgasdetector.Thisarticlediscussesthebasicprincipleofdetectionsystems,hardwareselection,softwaredesign.Thehardwarepartofthecircuitincludingthemaincontrolcircuit,chipexpansioncircuit,A/Dconvertercircuit,displaycircuit.Softwaredesigninassemblyprogramming,modulardesign.Separatelyforeachsoftwaremoduledesign,programming,anddebuggingofthesoftware,thuscompletingthecompletesoftwaresystem.Thesystemissimple,easytoimplement,hasateachingvalue.Keywords:exhaustbodydetection、Microcontroller、hardware、software.汽车尾气检测仪的设计目录1绪论·····················································11.1课题的背景与目的·····································11.2气体传感器的发展·····································22系统硬件选择·············································42.1系统工作原理及硬件框图·······························42.2系统元器件选择及介绍·································42.2.13NFF氮氧化物传感和电化学系列CO气体传感器·······42.2.2ATS52单片机···································42.2.3I/O扩展芯片8155·································72.2.4LED数码显示管···································82.2.5ADC0809··········································93系统电路设计·············································112.3.1系统总电路图·······································112.3.2系统单片机主控电路的设计···························112.3.3A/D转换电路的设计·································122.3.4显示电路的设计·····································132.3.5复位电路设置·······································144系统软件设计·············································1.1软件总体规划·········································1.1信号转换程序设计·····································1.2检测程序设计·········································194.3LED显示程序设计·····································215抗干扰设计···············································256结论·····················································277参考文献·················································288致谢·····················································299附录·····················································30汽车尾气检测仪的设计附录A系统总电路图·····································30附录B程序清单·········································31汽车尾气检测仪的设计1绪论1.1课题的背景与目的从世界范围看,空气污染的一重大因素是汽车尾气。当你置身在川流不息的车流中时,你可能会闻到一股刺鼻的气味,这就是汽车废气所发出的气味。目前,人们已从汽车尾气中分离出80多种有害物质,其中以一氧化碳、氮氧化物、碳氢化合物、铅尘为主。在大中城市中,汽车尾气的污染占整个大气污染的【1】60%以上。汽车尾气中含有一氧化碳、氧化氮以及对人体产生不良影响的其他一些固体颗粒,尤其是含铅汽油,对人体的危害更大。1943年,在美国加利福尼亚州的洛杉矶市,250万辆汽车每天燃烧掉1100吨汽油。汽油燃烧后产生的碳氢化合物等在太阳紫外光线照射下发生化学反应,形成浅蓝色烟雾,使该市大多市民患了眼红、头疼病。后来人们称这种污染为光化学烟雾。1955年和1970年洛杉矶又两度发生光化学烟雾事件,前者有400多人因五官中毒、呼吸衰竭而死亡,后者使全市四分之三的人患病。这就是在历史上被称为“世界公害”和“20世纪十大环境公害”之一的洛杉矶光化学烟雾事件。也正是这些事件使人们深刻认识到了汽车尾气的危害性。我国制定的《大气污染防治法》中规定:机动车船向大气排放污染物不得超过规定的排放标准,对超过规定的排放标准的机动车船,应当采取治理措施,污染物排放超过【9】国家规定的排放标准的汽车,不得制造、销售或者进口。国外成功经验表明,有效控制汽车污染需作好两方面的工作。一是实施新车排放法规,从新车开始就控制好污染物的排放水平;二是对在用车搞好监管,实行车辆排放的检测/维护制度(I/M制度)。前者是机动车低污染的前提条件,后者是为了保证车辆排放处于正常状态。由于以下原因,对在用车的排放检测成为十分重要:a.大部分新车使用一段时间后,排放量会增高。这既有正常的劣化,也有新车本身的质量、可靠性就存在问题。b.一些地方汽油、柴油质量混乱。特别是一些加油站假冒伪劣、以次充好,车主对劣质燃油防不胜防,致使发动机工作异常,排放增多。c.相当一部分车主、司机缺少必要的汽车维护知识,没有定期检查保养的习惯,汽第1页共36页汽车尾气检测仪的设计车常带“病”行驶,尾气为高排放状态。为保证在用车处于良好的技术状态,把那些高排放“病”车抓出来,我国强制实行尾气年检,不合格者进行调修、保养,达标后方可行驶。因此设计出稳定、精确的尾气检测分析仪的需求就显得非常迫切。1.2气体传感器的发展近年来,由于在工业生产、家庭安全、环境监测和医疗等领域对气体传感器的精度、性能、稳定性方面的要求越来越高,因此对气体传感器的研究和开发也越来越重要。随着先进科学技术的应用,气体传感器发展的趋势是微型化、智能化和多功能化。深入研究和掌握有机、无机、生物和各种材料的特性及相互作用,理解各类气体传感器的工作原理和作用机理,正确选择各类传感器的敏感材料,灵活运用微机械加工技术、敏感薄膜形成技术、微电子技术、光纤技术等,使传感器性能最优化是气体传感器的发展方向。【2】1.2.1新气敏材料与制作工艺的研究开发对气体传感器材料的研究表明,金属氧化物半导体材料等已趋于成熟,特别是在一氧化碳、碳氢化合物、氮氧化物等气体检测方面。现在这方面的工作主要有两个方向:一是利用化学修饰改性方法,对现有气体敏感膜材料进行掺杂、改性和表面修饰等处理,并对成膜工艺进行改进和优化,提高气体传感器的稳定性和选择性;二是研制开发新的气体敏感膜材料,如复合型和混合型半导体气敏材料、高分子气敏材料,使得这些新材料对不同气体具有高灵敏度、高选择性、高稳定性。由于有机高分子敏感材料具有材料丰富、成本低、制膜工艺简单、易于与其它技术兼容、在常温下工作等优点,已成为研究的热点。1.2.2气体传感器的智能化随着人们生活水平的不断提高和对环保的日益重视,对各种有毒、有害气体的探测,对大气污染、工业废气的监测以及对食品和居住环境质量的检测都对气体传感器提出了更高的要求。纳米、薄膜技术等新材料研制技术的成功应用为气体传感器集成化和智能化提供了很好的前提条件。气体传感器将在充分利用微机械与微电子技术、计算机技术、信号处理技术、传感技术、故障诊断技术、智能技术等多学科综合技术的基础上得到发展。研制能够同时监测多种气体的全自动数字式的智能气体传感器将是该领域的重要研究方向。【6】【3】第2页共36页汽车尾气检测仪的设计1.2.3气体传感器的一体化和图像化借助于半导体技术,现已可以使传感器从单元件、单功能到多元件、多功能,即将多个传感器与信息处理和转换电路集成在一块芯片上,与计算机技术结合,制成智能气体传感器系统一电子鼻,用于自动识别气体种类、自动寻找气源等。电子鼻是由多个性能彼此重叠的气体传感器和适当的模式分类方法组成的具有识别单一和复杂气味能力的仪器,它融合了传感器技术、信息处理技术、计算机技术和计算数学理论,是一门综合性极强的技术。电子鼻从19年首次提出以来,到1984年,美国的Zaromb和Stetter提出将多个气体传感器组成传感器阵列,测量气体种类和组成,这一思想被广泛接受,并迅速在多个领域成功应用。美、英、德、法等国都已研制成不同种类的商品化电子鼻,美国传感技术有限公司IST生产的IQ1000型万能气体探测器可检测超过100种的有毒或可燃性气体。我国的电子鼻技术还处在实验室阶段。李权龙等(1996)使用十一个不同型号的金属氧化物气体传感器组成气体传感器阵列,采用主成份分析法(PCA)和偏最小二乘回归方法(PLS),可以识别甲烷、乙烷、丙烷和丙烯四种气体;余皓等(2002)通过ATMELc51单片机及外围检测电路研制成新型多路可燃气体检测电子鼻;现在传感器的研究也由一点参数测量发展到从一维、二维、三维甚至四维来考虑,成功地研制出二维图像传感器。ThomasJ.Kulp利用红外气流成像显示气流空间分布,采用CO激光器的扫描成像仪能探测在9~11m的范围内产生吸收的7O多种不同气体(Tatsuhiro,【4】eta1.,2001)。第3页共36页汽车尾气检测仪的设计2系统硬件选择2.1系统工作原理及硬件框图如系统框图2.1所示,包括3NFF氮氧化物传感和OSTD-C100型电化学系列CO气体传感器,ATS52单片机,I/O扩展芯片8155,A/D转换芯片ADC0809,LED数码管,按键等。随着被检气体浓度的变化,传感器气敏元件的电阻值发生改变,从而引起输出电压发生变化,输出电压信号通过信号调理电路,滤掉杂峰,再经量程变换后输入微处理器中进行A/D转换,而后进行适当的软件处理便可得到气敏元件的阻值。当被测气体浓度超过警戒线时发出声光报警,提示用户做出相应的处理。3NFF氮氧化物传感器A/D转换通道选择开关芯片ADC0809OSTD-C100型电化学系列CO气体传感器信号调理电路1LED数码显示管单片机ATS52信号调理路2时钟电路I/O扩展按键芯片8155图2.1系统框图2.2系统元器件选择及介绍2.2.13NFF氮氧化物传感和电化学系列CO气体传感器3NFF氮氧化物传感器:量程:0-1000PPM使用寿命:3年空气中输出信号:0mA到30mA分辨率:1PPM工作温度:-20到40℃响应时间:<25S长期漂移:<2%重复性:2%输出线性:是OSTD-C100型电化学系列CO气体传感:第4页共36页汽车尾气检测仪的设计量程:0-1000PPM使用寿命:3年空气中输出信号:0mA到30mA分辨率:1PPM工作温度:-20到50℃响应时间:<20S重复性:1%输出线性:线性2.2.2ATS52单片机ATS52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得ATS52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。ATS52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线。定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,ATS52可降至0Hz静态逻辑操作,支持种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。引脚如图2.1,其主要引脚功能介绍:a电源线引脚VCC和GNDVCC为+5V电源线,GND接地线b端口线引脚包括P0.P1.P2.P3共4x8=32个(1)P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。第5页共36页图2.1ATS52引脚图汽车尾气检测仪的设计(2)P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。(3)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。(4)P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。【5】P3口亦作为ATS52特殊功能(第二功能)使用,如表2.1所示。引脚口第二功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD(串行输入)TXD(串行输入)INT0(外部中断0输入)INT1(外部中断1输入)T0(定时器0外部输入)T1(定时器1外部输入)WR(外部数据储存器写选通)RD(外部数据储存器读选通)表2.1ATS52引脚功能表3控制信号引脚RST.ALE/PROG.PSEN.EA/VPPRST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO第6页共36页汽车尾气检测仪的设计位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当ATS52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。智能气体检测仪的设计。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。4时钟电路引脚XTAL1和XTAL2XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。如图2.2为它的内部振荡连接图:2.2时钟电路图2.2.3I/O扩展芯片81558155中文名为2048位静态内存与I/O端口和定时器,是Intel公司研制的通用I/O接口芯片。MCS-51和8155相连不仅可为外设提供两个8位I/O端口(A口和B口)和第7页共36页汽车尾气检测仪的设计一个6位I/O端口(C口),也可为CPU提供一个256字节的RAM和一个14定时器/计数器。因此,8155广泛应用于MCS-51系统中。其引脚图如图2.3所示:图2.38155引脚图8155各引脚功能说明如下:RST:复位信号输入端,高电平有效。复位后,3个I/O口均为输入方式。AD0~AD7:三态的地址/数据总线。与单片机的低8位地址/数据总线(P0口)相连。单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。号,控制对8155的读操作,低电平有效。WR:写选通信号,控制对8155的写操作,低电平有效。CE:片选信号线,低电平有效。IO/M:8155的RAM存储器或I/O口选择线。当IO/M=0时,则选择8155的片内RAM,AD0~AD7上地址为8155中RAM单元的地址(00H~FFH);当IO/M=1时,选择8155的I/O口,AD0~AD7上的地址为8155I/O口的地址。ALE:地址锁存信号。8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及,IO/的状态都锁存到8155内部锁存器。因此,P0口输出的低8位地址信号不需外接锁存器。PA0~PA7:8位通用I/O口,其输入、输出的流向可由程序控制。PB0~PB7:8位通用I/O口,功能同A口。PC0~PC5:有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。TIMERIN:定时/计数器脉冲输入端。第8页共36页RD:读选通信汽车尾气检测仪的设计TIMEROUT:定时/计数器输出端。VCC:+5V电源。2.2.4LED数码显示管LED管的显示可以分为静态和动态两种。静态显示的特点是各LED管能稳定地同时显示各自字形;动态显示是指各LED轮流地一遍一遍地显示各自字符。本系统采用了动态扫描显示。图2-5(b)为共阴极接法,公共阴极接地。当各段阳极上的电平为“1”时,该段点亮;电平为“0”时,段就熄灭。图(b)为共阳极接法,公共阳极接+5V电【6】源。R为限流电阻。图(c)为7段LED数码显示器内部段的排列。图2.4八段LED数码管的结构和原理图2.2.5ADC0809芯片ADC0809是通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路、A/D转换的数据由三态锁存器输出,其转换时间为100μs左右,由于片内没有时钟需外接时钟信号,引脚结构如图2.5所示:第9页共36页汽车尾气检测仪的设计图2.5ADC0809引脚结构图第10页共36页汽车尾气检测仪的设计3系统电路设计3.3.1系统总电路图硬件电路部分包括主控电路、芯片扩展电路、A/D转换电路、显示电路等如图3.1所示。2.6系统电路图图3.1系统硬件电路3.3.2系统单片机主控电路的设计ATS52单片机的4个I/O口中,通常情况下,只有P1口作为I/O口使用,实际使用中经常需要扩展I/O口,扩展I/O口方法之一就是采用专用的I/O接口芯片如8155,8255等。本系统采用8155扩展了两个输出口、一个输入口以实现键盘输入和数码管输出。可编程并行接口芯片8155内部含有256字节的静态RAM,两个并行8位口PA、PB,一个并行的6位口PC,以及一个14位的定时/计数器,是单片机系统最常用的接口芯片之一。8155可直接与CPU接口,8155的RAM和I/O编址由IO/M和ALE锁存的地址来控制,IO/M=0选择RAM编址为00-FFH;IO/M=1对8155的I/O口进行读写。系统使用了74LS373作为ATS52的地址锁存器芯片。其中输入端1D-8D接至单片机的PO口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。电路图如图3.2所示:第11页共36页汽车尾气检测仪的设计图3.2扩展电路图3.3.3A/D转换电路的设计本系统采用ADC0809A/D转换芯片与ATS52单片机连接。单片机的最小应用系统1的P0口接A/D转换的msb2-1-lsb2-8口,单片机的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、P2.0、CLOCK、INT1,A/D转换的IN接入+5V。对ADC0809的控制过程是:①首先确定ADDA、ADDB、ADDC三位地址,决定选择哪一路模拟信号。②使ALE端接受一正脉冲信号,使该路模拟信号经选择开关到达比较器的输入端。③使START端接受一正脉冲信号,START的上升沿将逐次逼近寄存器复位,下降沿启动A/D转换。④EOC输出信号变低,指示转换正在进行。⑤A/D转换结束,EOC变为高电平,指示A/D转换结束。此时,数据已保存到8位三态输出锁存器中。此时CPU就可以通过使OE信号为高电平,打开ADC0809三态输出,由ADC0809输出的数字量传送到CPU。接线图如图3.3所示:第12页共36页汽车尾气检测仪的设计图3.3A/D转换电路图3.3.4显示电路的设计图2.2.3为用8155扩展的8位LED动态显示器,显示扫描由程控实现。其中PA口输出字型码,PB口输出位选信号即扫描信号。系统使用74LS245驱动LED设备。接线如图3.4所示:图3.4显示电路图3.3.5复位电路设计第13页共36页汽车尾气检测仪的设计单片机在开机时都需要复位,以便处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始。ATS52的RST引脚是复位信号的输入端。复位信号是高电平有效,持续时间要有24个时钟周期以上。当单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。设计如图2-10,图中电容C和电阻R对电源十5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R,也能达到上电复位的操作功能。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路。上电后,由于电容C的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。设计电路如图3.5所示。图3.5复位电路图第14页共36页汽车尾气检测仪的设计4系统软件设计4.1软件总体规划本程序设计的思路是模块化编程,这样不仅思路清晰容易调试,而且软件执行效率会更高。软件分为主程序和各子程序模块,其中主程序模块是控制系统的初始化(设置定时器/计数器工作方式的控制字,中断允许寄存器,定时器/计数器启停控制寄存器等),查询各种状态标志(断电标志、A/D转换标志、复电标志),并控制相应的操作功能。设计时将程序分成几个主要的功能模块,包括主程序和各个模块子程序。其菜单流程图如图4.1所示。开机按键选择按键1按键2按键扫描信号采集参数设置数据处理显示图4.1菜单流程图开机后,系统即进入单片机的主程序。以对单片机、显示器等硬件资源进行初始化,然后进入主菜单界面(即第一级菜单),以等待键盘的输入操作从而确定下一步操作。当第15页共36页汽车尾气检测仪的设计检测到有按键输入时,系统便读出键值并判断出需要的操作.然后调用相应的程序模块,子程序模块的主要功能有系统参数设置、气体检测。其中系统参数设置模块主要用于设定浓度报警值、对传感器进行信号采集及处理等,气体检测模块是仪器系统的关键部分,包括传感器响应信号的采集、A/D转换、数据处理(包括滤波、模式识别等以及数据处理后的显示等)。4.2信号转换程序设计4.2.1程序设计思路系统启动后,首先进行初始化,后启动A/D转换,转换结束后数据输出到锁存器中,等待延时。由于ADC0809的时钟频率范围要求在10-1280kHz,ATS52单片机的ALE脚的频率是单片机的1/6。单片机时钟频率采用6MHz,则ADC0809输入时钟频率为500kHz和1000KHz,均符合要求。当CLK=500kHz时,ADC0809的转换速度为128μs,采取等待延时方式,延时时间须大于ADC0809完成A/D转换所需的时间100μs,即发生启动脉冲后至少延时100μs才可读取A/D转换数据。A/D转换完成?启动A/D转换初始化开始数据输出延时结束图4.3A/D转换流程图信号转换程序:第16页共36页汽车尾气检测仪的设计DBUF0EQUTEMPDINCLKORG30HEQUBITBIT0000H40H0B0H0B1HSTART:MOVMOVINCMOVINCMOVINCMOVMOVMOVJNBMOVXMOVMOVSWAPANLXCHDINCMOVANLXCHDACALLACALLAJMPDISP1:R0,#DBUF0;显示缓冲器存放0AH,0DH,—,0XH,0XH@R0,#0AH;串行静态显示“ADXX”XX表示0—FR0@R0,#0DHR0@R0,#10HR0DPTR,#0FEF3H;A/D地址A,#0;清零@DPTR,A;启动A/DP3.3,$;等待转换结束A,@DPTR;读入结果P1,A;转换结果送入发光二极管显示B,A;累加器内容存入B中A;A的内容高四位与低四位交换A,#0FH;A的内容高四位清零A,@R0;A/D转换结果高四位送入DBUF3中R0A,B;取出A/D转换后的结果A,#0FH;取出A/D转换后的结果A,@R0;结果低位送入DBF4中DISP1;串行静态显示“ADXX”DELAY;延时START;静态显示子程序第17页共36页汽车尾气检测仪的设计MOVMOVMOVR0,#DBUF0R1,#TEMPR2,#5DP10:MOVMOVMOVCMOVINCINCDJNZMOVMOVDP12:MOVMOVDP13:RLCMOVCLRSETBDJNZINCDJNZINCDJNZRETSEGTAB:DBDBDBDELAY:MOVDPTR,#SEGTAB;表头地址A,@R0A,@A+DPTR;取段码@R1,A;到TEMP中R0R1R2,DP10R0,#TEMP;段码地址指针R1,#5;段码字节数R2,#8;移位次数A,@R0;取段码A;段码左移DIN,C;输出一位段码CLK;发送一个位移脉冲CLKR2,DP13R0R1,DP12R0R1,DP123FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,57DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,b58H,5EH,79H,71H,0,40H;C,d,E,F,(空格),;延时R4,#08H第18页共36页汽车尾气检测仪的设计AA1:MOVAA:NOPNOPNOPDJNZDJNZRETENDR4,#08HR5,AAR4,AA14.3检测程序设计检测程序包括ATS52芯片本身的初始化、并行接口8155初始化等等。大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、LED显示和键盘扫描等程序。T0中断服务程序是控制系统的主体程序,用于启动数/模转换器、读入采样数据、数字滤波、越限浓度报警和越限处理、PID计算等。P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,单片机利用等待T1溢出中断的空闲时间(形成P1.3输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。ATS52从T1中断服务程序返回后即可恢复现场和返回主程序,流程图如图4.2。第19页共36页汽车尾气检测仪的设计开始设定堆栈指针清标志和暂存单元清显示缓冲区设定参数初值T0初始化CPU开中断扫描键盘LED显示图4.2检测程序流程图检测程序a初始化程序:INIT:MOVMOVMOVXMOVMOVSETBDPTR,#7FFFHA,#0D1H@DPTR,AA,#00HMOVX@DPTR,AA,#2AHMOVX@DPTR,AEASETBEX1;清8155堆栈和显示RAM;设置编码扫描,显示;设置扫描频率;允许外部中断请求中断b键输入中断服务程序:KINT:PUSHPUSHPUSHPUSHPSWDPHDPLACC第20页共36页;显示保护汽车尾气检测仪的设计MOVMOVMOVXMOVMOVXMOVPOPPOPPOPPOPc显示子程序:DISPL:MOVMOVMOVMOVMOVDISPL1:MOVADDMOVMOVXINCDJNZRETSEGPT:DBDPTR,#7FFFHA,#40H@DPTR,ADPTR,#7FFEHA,@DPTRB,AACCDPLDPHPSW;恢复现场RETI;读键输入值;读FIFO堆栈命令DPTR,#7FFFHA,#90HMOVX@DPTR,AR0,#78HR7,#08HDPTR,#7FFEHA,@R0A,#05HA,@A+PC@DPTR,AR0R7,DISPL1;取7段码;写入显示RAM;写显示RAM命令;置显示数据指针;置长度计数器初值3FH,06H,5BH,4FB,66H……4.4LED显示器程序设计用8155扩展I/O口的6位接LED动态显示器,显示扫描由程序控制实现。其中PA口输出字型码,PB口输出位选信号即扫描信号。设PA口工作地址为0F9H,PB口工作地址为0FAH,内部命令/状态寄存器地址为0F8H,工作命令字设为0F3H。具体显示时,采用逐位扫描方法控制哪一位LED被点亮。在本系统中,先从最后一位LED开始,逐个左移,直至最后一个LED显示完毕,然后重复上述过程。由于人眼的视觉暂留,看起来不第21页共36页汽车尾气检测仪的设计会有闪动感觉。在接口电路中,用可编程并行接口芯片8155的PB口作为LED的字形输出口,PA口作为LED的字形控制口。开始设置8155工作方式置8155PB、PA口数据左移延时扫描结束?结束图4.4LED显示器程序流程图LED显示器程序DISP:ORLP1,#80H;选择8155为I/O口MOVR1,#0F8H;置8155命令/状态寄存器地址MOVA,#0F3HMOVX@R1,A;送8155工作方式命令START:MOVDPTR,#TABMOVR0,#00H;字型码地址偏移量MOVR2,#80H;选择第一位显示第22页共36页汽车尾气检测仪的设计SCANMOVR1,#0FAH;置8155PB口地址MOVA,#00HMOVX@R1,A;熄灭显示器MOVA,R0MOVCA,@A+DPTR;取字型码DECR1;置8155PA口地址MOVX@R1,A;送字型码MOVA,R2INCR1MOVX@R1,A;送位选码ACALLDL1ms;延时1msINCR0;指向下一位字型码MOVA,R2CLRCRRCA;指向下一位MOVR2,AXRLA,#00H;6位未完,扫描显示下一位JNZSCANAJMPSTART;开始下一轮扫描SETBD3HDL1msMOVR2,#83HLL0:NOPNOPDJNZR2,LL0CLRD3HRETTAB:DB0C6H,8CH,0C1H,0CEH,86H,88H第23页共36页汽车尾气检测仪的设计5抗干扰技术在理想情况下,一个电路和系统的性能仅有该电路或系统的结构及所用元器件的性能指标来决定。然而在许多场合,用优质元件构成的电路或系统却达不到额定的性能指标,有的甚至不能正常工作。究其原因,常常是噪声干扰造成的。所谓噪声是指电路或系统中出现的非期望的电信号。下面介绍当今常使用的技术“看门狗技术”。看门狗技术是一种计算机程序监视技术,防止程序由于干扰等原因而进入死循环,用于监控计算机控制系统。其原理是不断监测程序循环运行的时间,一旦发现程序运行时间超过循环设定的时间,就认为系统已陷入死循环,然后强迫程序返回到已安排了出错处理程序的入口地处,使系统回到正常运行。它可用软件或硬件方法实现,这里使用软件来实现。晶振频率为12MHz,定时器T0工作在方式1,定时时间为20ms,则定时器T0的初值应设为TH0=B1H、TL0=E0H,程序如下:ORGAJMPORGSERVT0:AJMPORGINIT:MOVMOVMOVSETBSETBMOVPUSHMOVPUSHRETIORG0200H第24页共36页0000HINIT000BHINIT;定时器T0溢出中断服务0100HTMOD,#01H;定时器T0工作在方式1TH0,#0B1HTL0,#0E0H;设置定时器T0的初值ET0;定时器T0中断允许SETBEA;CPU开中断TR0;启动定时器T0SP,#10H;设置栈底MOVA,#00HAA,#02HA;在堆栈中存放主程序入口地址;PC指向主程序入口并恢复中断设置汽车尾气检测仪的设计MAIN: CLRMOVMOVSETBTROTH0,#0B1HTL0,#0E0HTR0;重置定时器T0的初值并启动当程序正常运行时,定时器不会发生溢出;而程序运行异常时,定时器超时溢出并产生中断,通过中断服务程序强行使PC回到起始位置,从而恢复程序的正常运行。但这里必须注意一点,由于定时器溢出产生中断时,CPU所执行的中断服务程序是一条无条件转移指令,PC被强行从中断服务程序中拉出,而中断服务程序并未真正结束,即未执行中断返回指令RETI。此时片内的中断优先级触发器仍处于置位状态,这将使同级的其他中断请求被屏蔽,为此应在初始化程序结束前放置一条RETI指令,并对堆栈和堆栈指针SP作相应的处理(在堆栈的栈顶预留两个字节单元,用来存放主程序的入口地址),以保证初始化程序结束后,优先级触发器被复位,使中断系统正常工作,并开始顺序执行主程序。第25页共36页汽车尾气检测仪的设计结论毕业设计既是大学所有课程中重要的一课也是我们大学生涯中由理论学习到动手设计的一个环节。从最初的选题,开题到计算、绘图直到完成设计,其间,查找资料,找老师解答疑问,与同学交流,反复修改图纸与程序,每一个过程都是对自己能力的一次淬炼与充实。本设计中系统硬件的部分主要包括主电路模块、芯片扩展电路模块、A/D转换电路模块、LED显示模块。主电路模块使用一种低功耗、高性能CMOS8位微控制器ATS52芯片再加上8155芯片作为扩展芯片,使用ADC0809芯片作为A/D转换芯片,显示的结果在数码管上显示。软件设计采用模块化设计,汇编语言编程,主要分为主程序程序模块、芯片扩展程序模块、ADC0809转换程序模块、以及LED显示器程序模块。另外本设计中还加入了“看门狗”技术来防止单片机进入死循环,提高了系统的抗干扰能力。在完成设计的过程中,也发现了许多不足的地方。由于距离学过的课程时间久了,汇编语言忘得差不多了,《智能仪器仪表》中的内容也变得生疏了,因此在设计的过程中出现了许多麻烦,花费了大量时间去复习学过的知识查阅相关资料。最后,通过本设计,我了解了汽车尾气检测仪的工作原理,熟悉了系统的设计步骤,锻炼了工程设计实践能力,培养了自己设计能力,对以后的发展有着很大的促进作用。第26页共36页汽车尾气检测仪的设计参考文献1.黄征.浅谈汽车检测诊断技术的应用及发展方向[J].中国论文下载中心2.王乐.单片机技术在传感器设计中的应用[J].中国论文下载中心3.刘恋陈玉香褚超群.光电传感器创新应用[J].中国论文下载中心4.付蔷.两电极电化学CO传感器的研制[J].中国论文下载中心5.周科锋.汽车氧传感器的常见故障及检查[J].中国论文下载中心6.孙涵芳.MCS-51/96系列单片机原理及应用[M].北京航空航天大学出版社.7.杨欣荣.现代测控技术与之智能仪器[M].湖南。湖南科技出版社.8.吴兴惠.传感器与信号处理[M].电子工业出版社9.公茂法.单片机人机接口实例集[M].北京航空航天大学出版社.10.江思敏,姚鹏翼,胡荣.PROTEL99[M].北京.清华大学出版社.11.杨欣荣.智能仪器原理设计与发展[M].湖南.中南大学出版社.12.熊友辉,蒋泰毅.电调制非分光红外(NDIR)气体传感器[J]华中科技大学煤燃烧国家重点实验室.13.方杨.基于国Ⅲ标准的汽车尾气检测分析系统[J]浙江大学信息科学与工程学院.14.余倩1副教授陈新汧2余林1麦海燕3成青华1黄应敏1(1广东工业大学轻工化工学院2佛山市环境监测中心站3中山大学附属第三医院).对一氧化碳气体快速检测的方法研究[J]中全科学学报第15卷第6期2005年6月.15.SusanGallardo,TakashiAidaandHirooNiiyama.DEVELOPMENTOFBASEMETALOXIDECATALYSTFORAUTOMOTIVEEMISSIONCONTROL[J].KoreanJ.Chem.Eng.,15(5),480-485(1998).第27页共36页汽车尾气检测仪的设计致谢大学四年的生活即将在这个阳光明媚的季节划上句号,然而对于我的人生来说却只是一个逗号,新的征程就要的开始了。四年的求学生涯充满许多故事,有苦亦有乐。在论文即将付梓之际,思绪万千,心情久久不能平静。感谢我的父母,感谢您们无条件的爱,您们的健康快乐是儿子最大的心愿。感谢母校,给予了我学习知识的殿堂。感谢所有给予我教导的老师,是您们在我的学习过程中给予帮助,是您们为我的成长保驾护航。同时也感谢伴随着我度过这美好四年时光的好兄弟们,因为你们我才远离了孤单。感谢各位良师益友在这四年里一直在生活中、学习上给予我无私的教导和帮助,让我在长沙理工大学这个大舞台上有锻炼的能力、自我完善的平台。在此文即将完成之际,再一次衷心的感谢在毕业设计过程中帮助过我的每个人,在这里请接收我最诚挚的谢意!由于时间仓促、自身等原因,文章错误疏漏之处在所难免,恳请各位老师斧正。第28页共36页汽车尾气检测仪的设计附录附录A系统总电路图:第29页共36页汽车尾气检测仪的设计附录B程序清单:一主控程序a初始化程序:INIT:MOVMOVMOVXMOVMOVSETBDPTR,#7FFFHA,#0D1H@DPTR,AA,#00HMOVX@DPTR,AA,#2AHMOVX@DPTR,AEASETBEX1;清8155堆栈和显示RAM;设置编码扫描,显示;设置扫描频率;允许外部中断请求中断b键输入中断服务程序:KINT:PUSHPUSHPUSHPUSHMOVMOVMOVXMOVMOVXMOVPOPPOPPOPPOPPSWDPHDPLACCDPTR,#7FFFHA,#40H@DPTR,ADPTR,#7FFEHA,@DPTRB,AACCDPLDPHPSW;恢复现场RETI;读键输入值;读FIFO堆栈命令;显示保护c显示子程序:DISPL:MOVDPTR,#7FFFH第30页共36页汽车尾气检测仪的设计MOVMOVMOVMOVDISPL1:MOVADDMOVMOVXINCDJNZRETSEGPT:DBA,#90HMOVX@DPTR,AR0,#78HR7,#08HDPTR,#7FFEHA,@R0A,#05HA,@A+PC@DPTR,AR0R7,DISPL1;写显示RAM命令;置显示数据指针;置长度计数器初值;取7段码;写入显示RAM3FH,06H,5BH,4FB,66H……二信号转换程序:DBUF0EQUTEMPDINCLKORGSTART:MOVMOVINCMOVINCMOVINCMOVMOV30HEQUBITBIT0000HR0,#DBUF0@R0,#0AHR0@R0,#0DHR0@R0,#10HR0DPTR,#0FEF3H;A/D地址A,#0;清零第31页共36页40H0B0H0B1H;显示缓冲器存放0AH,0DH,—,0XH,0XH;串行静态显示“ADXX”XX表示0—F汽车尾气检测仪的设计MOVJNBMOVX@DPTR,A;启动A/DP3.3,$;等待转换结束A,@DPTR;读入结果MOVMOVSWAPANLXCHDINCMOVANLXCHDACALLACALLAJMPDISP1:MOVMOVMOVDP10:MOVMOVMOVCMOVINCINCDJNZMOVMOVDP12:MOVMOVP1,A;转换结果送入发光二极管显示B,A;累加器内容存入B中A;A的内容高四位与低四位交换A,#0FH;A的内容高四位清零A,@R0;A/D转换结果高四位送入DBUF3中R0A,B;取出A/D转换后的结果A,#0FH;取出A/D转换后的结果A,@R0;结果低位送入DBF4中DISP1;串行静态显示“ADXX”DELAY;延时START;静态显示子程序R0,#DBUF0R1,#TEMPR2,#5DPTR,#SEGTAB;表头地址A,@R0A,@A+DPTR;取段码@R1,A;到TEMP中R0R1R2,DP10R0,#TEMP;段码地址指针R1,#5;段码字节数R2,#8;移位次数A,@R0;取段码第32页共36页汽车尾气检测仪的设计DP13:RLCMOVCLRSETBDJNZINCDJNZINCDJNZRETSEGTAB:DBDBDBDELAY:MOVAA1:MOVAA:NOPNOPNOPDJNZDJNZRETENDA;段码左移DIN,C;输出一位段码CLK;发送一个位移脉冲CLKR2,DP13R0R1,DP12R0R1,DP123FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,57DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,b58H,5EH,79H,71H,0,40H;C,d,E,F,(空格),;延时R4,#08HR4,#08HR5,AAR4,AA1三LED显示器程序:DISP:ORLP1,#80H;选择8155为I/O口第33页共36页汽车尾气检测仪的设计MOVR1,#0F8H;置8155命令/状态寄存器地址MOVA,#0F3HMOVX@R1,A;送8155工作方式命令START:MOVDPTR,#TABMOVR0,#00H;字型码地址偏移量MOVR2,#80H;选择第一位显示SCANMOVR1,#0FAH;置8155PB口地址MOVA,#00HMOVX@R1,A;熄灭显示器MOVA,R0MOVCA,@A+DPTR;取字型码DECR1;置8155PA口地址MOVX@R1,A;送字型码MOVA,R2INCR1MOVX@R1,A;送位选码ACALLDL1ms;延时1msINCR0;指向下一位字型码MOVA,R2CLRCRRCA;指向下一位MOVR2,AXRLA,#00H;6位未完,扫描显示下一位JNZSCANAJMPSTART;开始下一轮扫描SETBD3HDL1msMOVR2,#83HLL0:NOPNOPDJNZR2,LL0CLRD3HRETTAB:DB0C6H,8CH,0C1H,0CEH,86H,88H第34页共36页“看门狗”程序:ORGAJMPORGSERVT0:AJMPORGINIT:MOVMOVMOVSETBSETBMOVPUSHMOVPUSHRETIORGMAIN:⋯CLRMOVMOVSETB汽车尾气检测仪的设计0000HINIT000BHINIT;定时器T0溢出中断服务0100HTMOD,#01H;定时器T0工作在方式1TH0,#0B1HTL0,#0E0H;设置定时器T0的初值ET0;定时器T0中断允许SETBEA;CPU开中断TR0;启动定时器T0SP,#10H;设置栈底MOVA,#00HAA,#02HA;在堆栈中存放主程序入口地址;PC指向主程序入口并恢复中断设置0200HTROTH0,#0B1HTL0,#0E0HTR0;重置定时器T0的初值并启动第35页共36页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务