目录引言 (1)1 课题研究的背景及现状 (1)1.1 课题的背景与目的 (1)2 系统硬件选择 (2)2.1 系统工作原理及硬件 (2)2.2 系统元器件选择及介绍 (2)3 系统电路设计 (5)3.1 系统总电路图 (5)3.2 系统单片机主控电路的设计 (5)3.3 A/D 转换电路的设计 (5)3.4 显示电路的设计 (5)4 系统软件设计 (5)4.1 软件总体规划 (5)4.2 信号转换程序设计 (6)4.3 检测程序设计 (7)4.4 LED 显示器程序设计 (8)5 抗干扰技术 (9)总结 (10)参考文献 (10)致谢 (11)附录 (13)汽车尾气检测仪的设计电子系XXXX班姓名XXX指导老师郭红英摘要:本系统是一个简单的汽车尾气检测仪,系统以AT89S52、8155、ADC0809等芯片为基础,结合相应的程序构成了这个汽车尾气的检测仪。
本文论述了该检测系统的基本工作原理、硬件选择、软件设计。
其中硬件电路部分包括主控电路、芯片扩展电路、A/D转换电路、显示电路。
软件设计使用汇编编程,采用模块化设计,对每一软件模块进行单独设计、编程,然后对整个软件进行调试,从而完成了完整的软件系统。
本系统结构简单,容易实现,具有一定的教学价值。
关键词:汽车尾气检测;单片机;硬件;软件引言从世界范围看,空气污染的一重大因素是汽车尾气。
当你置身在川流不息的车流中时,你可能会闻到一股刺鼻的气味,这就是汽车废气所发出的气味。
目前,人们已从汽车尾气中分离出80 多种有害物质,其中以一氧化碳、氮氧化物、碳氢化合物、铅尘为主。
在大中城市中,汽车尾气的污染占整个大气污染的60%以上。
1 课题研究的背景及现状1.1 课题的背景与目的汽车尾气中含有一氧化碳、氧化氮以及对人体产生不良影响的其他一些固体颗粒,尤其是含铅汽油,对人体的危害更大。
1943 年,在美国洛杉矶,250万辆汽车每天消耗1100 吨汽油。
在太阳紫外光线照射下,汽油燃烧后的产物产生化学反应,形成浅蓝色烟雾,使该市大多市民患了头疼病。
后来人们把这种污染称为光化学烟雾。
1955 年和1970 年洛杉矶又发生两起光化学烟雾事件,前者出现400 多人因五官中毒、呼吸道衰竭而死亡状况,后者使全市四分之三的人患病。
通过这些事件,汽车尾气的危害性被人们深刻认识。
[1]我国制定的《大气污染防治法》中规定:机动车船向大气排放污染物不得超过规定的排放标准,汽车排放的污染物超过国家规定的排放标准,这类汽车不得制造、销售或者进口[9]。
国外成功经验告诉我们,作好两方面工作能有效控制汽车污染。
一方面实施新车排放法规,污染物的排放水平要从一开始就控制好;另一方面对在用车实行监管,落实好车辆排放的维护、检测工作。
前者是低污染的前提条件,后者保证车辆排放维持在标准水平。
.为了将车辆的排放控制在标准水平内,需要淘汰高排放的车辆,我国强制实行尾气年检,汽车达到标准后方可行驶。
因此设计出稳定、精确的汽车尾气检测分析仪的需求就显得非常迫切[10]。
2 系统硬件选择2.1系统工作原理及硬件系统硬件包括3NFF 氮氧化物传感和OSTD-C100 型电化学系列CO 气体传感器,AT89S52 单片机,I/O 扩展芯片8155,A/D 转换芯片ADC0809,LED 数码管,按键等。
随着被检气体浓度产生变化,传感器气敏元件其电阻的值相应变化,输出电压从而发生了改变,电路由输出电压信号通过信号调理,再经量程变换后输入微处理器中进行A/D 转换,而后通过适当的软件处理即可得到气敏元件的阻值。
当被测气体浓度超过规定值时,便发出声光报警,提示使用用户采取相应措施[3]。
2.2系统元器件选择及介绍2.2.1 3NFF氮氧化物传感和电化学系列CO气体传感器3NFF氮氧化物传感器:量程:0-1000PPM使用寿命:3 年空气中输出信号:0 mA到30 mA分辨率:1PPM工作温度:-20 到40℃响应时间:<25S长期漂移:<2%重复性:2%输出线性:是OSTD-C100 型电化学系列CO 气体传感:量程:0-1000PPM使用寿命:3 年空气中输出信号:0 mA到30 mA分辨率:1PPM工作温度:-20 到50℃响应时间:<20S重复性:1%输出线性:线性2.2.2 AT89S52单片机AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52 具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线。
定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持种软件可以选择省电模式。
空闲状态下CPU停止工作允许RAM、中断、定时器/计数器继续运行。
掉电保护方式下,会自动保存RAM 内容,振荡器被冻结,单片机也就停止工作了,等到下一个中断来临为止[4]。
图2.1 AT89S52 单片机引脚图2.2.3 I/O 扩展芯片81558155 中文名为2048 位静态内存与I/O端口和定时器,Intel公司研制的通用I/O是接口芯片。
MCS-51和8155相连不仅可为外设提供两个8位I/O 端口(A口和B口)和一个6位I/O 端口(C口)也可为CPU提供一个256字节的RAM 和一个14定时器/计数器。
因此,8155广泛应用于MCS-51系统中。
其引脚图如图2.2所示:图2.2 8155 引脚图2.2.4 LED 数码显示管LED管的显示可以分为静态和动态两种。
静态显示的特点是各LED管能稳定地同时显示各自字形;动态显示是指各LED轮流地一遍一遍地显示各自字符。
本系统采用了动态扫描显示。
图附录A(b)为共阴极接法,公共阴极接地。
当各段阳极上的电平为“1”时,该段点亮;电平为“0”时,段就熄灭。
图(b)为共阳极接法,公共阳极接+5V 电源。
R 为限流电阻。
图(c)为7 段LED 数码显示器内部段的排列。
(图见附录A)2.2.5ADC0809 芯片ADC0809是通道8位CMOS逐次逼近式A/D 转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路、A/D 转换的数据由三态锁存器输出,其转换时间为100μs左右,由于片内没有时钟需外接时钟信号,引脚结构如图 2.3 所示:图2.3 ADC0809 引脚结构图3系统电路设计3.1系统总电路图硬件电路部分包括主控电路、芯片扩展电路、A/D 转换电路、显示电路等如附录B所示。
3.2系统单片机主控电路的设计AT89S52 单片机的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作为AT89S52 的地址锁存器芯片。
其中输入端1D-8D 接至单片机的PO 口,输出端提供的是低8 位地址,端接至单片机的地址锁存允许信号ALE。
G输出允许端OE 接地,表示输出三态门一直打开。
电路图附录C 所示。
3.3 A/D 转换电路的设计本系统采用ADC0809A/D 转换芯片与AT89S52 单片机连接。
单片机的最小应用系统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。
接线图如附录D所示。
3.4 显示电路的设计使用8155扩展的8位LED动态显示器,显示扫描由程控实现。
其中PA口输出字型码,PB 口输出位选信号即扫描信号。
系统使用74LS245驱动LED设备。
接线如附录E所示。
4 系统软件设计4.1 软件总体规划本程序设计的思路是模块化编程,这样不仅思路清晰容易调试,而且软件执行效率会更高。
软件部分由子程序和主程序模块构成,其中系统初始化(设置中断允许寄存器,定时器/计数器工作方式的控制字,定时器/计数器启停控制寄存器等)由主程序模块控制,通过对状态标志(A/D 转换标志、断电标志、复电标志)的查询,以实现对相应操作功能的控制。
设计时将程序分成几个主要的功能模块,包括主程序和各个模块子程序。
其菜单流程图如图 4.1 所示。
开始按键选择键2按键2按键扫描信号采集按键1参数设置数据处理显示图 4.1 菜单流程图开机后,系统即进入单片机的主程序。
以对单片机、显示器等硬件资源进行初始化,然后进入主菜单界面(即第一级菜单),以等待键盘的输入操作从而确定下一步操作。
当检测到有按键输入时,系统便读出键值并判断出需要的操作.然后调用相应的程序模块,子程序模块的主要功能有系统参数设置、气体检测。
其中系统参数设置模块主要用于设定浓度报警值、对传感器进行信号采集及处理等,气体检测模块是仪器系统的关键部分,包括传感器响应信号的采集、A/D转换、数据处理(包括滤波、模式识别等以及数据处理后的显示等)[5]。
4.2信号转换程序设计4.2.1程序设计思路系统启动后,首先进行初始化后启动A/D转换,转换结束后数据输出到锁存器中,等待延时。
由于ADC0809的时钟频率范围要求在10-1280kHz,AT89S52 单片机的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.2 A/D 转换流程图4.2.2 信号转换程序(见附录F 二信号转换程序)4.3检测程序设计检测程序包括AT89S52芯片本身的初始化、并行接口8155初始化等等。