1、目 录摘要I第1章 前言11.1 研究目的和意义11.2 研究内容和方法1第2章 系统的介绍2第3章 硬件的选择介绍33.1硬件系统框图33.2传感器的选择43.3 LCD显示器的的选择5第4章 酒精浓度检测的硬件电路设计84.1 89C51单片机系统84.2 A/D转换电路124.3 LED显示电路14第5章 酒精浓度监测的软件设计195.1 开发环境195.2 程序流程195.3 程序代码编写21第6章 系统调试与测试结果276.1 电路的调试276.2浓度与显示之间的关系28第7章 结论与建议31致谢33参考文献33附录34摘要本设计实现了对不同浓度酒精的检测和显示,通过适当改进可以用于
2、检测酒后驾车。本文用AT89C51单片机与MQ-3型气体传感器实现了对酒精浓度的测量,并对测量数据进行显示,同时利用二极管简单显示浓度的高低,在设计允许值时发出报警。论文主要研究了(1)硬件方面,MQ-3气体传感器技术参数的检测和将它接入到酒精浓度检测模块中;将模拟电压信号放大驱动发光二极管点亮报警;将采集到的模拟电压信号通过单片机控制经A/D转换,得到数字电压信号;用于显示浓度的数码管显示模块。(2)软件方面,主要研究了电压到浓度的线性转换和最终浓度值的数码管显示。(3)对设计的传感器进行了标定。设计的传感器对酒精气体反应灵敏,能在有效范围内测量它的浓度值。并且在检测低浓度酒精时误差较小,最
3、大误差为8.2%满足设计要求。本文的特色在于标准的确定。对于流动空气,样品的稳定性和水蒸气的影响,提出了解决方案和验证方法。对不同的区间浓度和电压转换关系做线性化处理,简化了硬件电路的设计。设计的传感器可以检测不同浓度的酒精气体,改进之后对解决酒后驾车事故和特殊场合酒精检测都可以使用。关键词:单片机;A/D转换;酒精传感器Abstract Different concentrations of alcohol solution are detected and showed in the design. The design can be used to the detection of dr
4、unk driving through improvement. In this thesis, the concentration of alcohol can be measured and displayed by using the gas sensor based on AT89C51 MCU and MQ-3. At the same time the concentration is displayed by LED, and the system allow to alarm in the certain value. In the thesis Major researche
5、s are three points. (1) In the hardware, detecting the technology parameters MQ-3 gas sensor, and connecting it to a testing part of the alcohol gas concentration; Analog voltage signal amplification to drive light-emitting diode light to alarm; conversing the voltage signal through the A/D conversi
6、on at the control of the single-chip, obtaining the digital voltage signal; displaying the concentration in the digital tube display module.(2)In the Software, linear conversion between the concentration of the alcohol and the voltage and the digital display of the final concentration value.(3) The
7、designed sensor is calibrated. The design of gas sensor is responsive to the alcohol, can measure concentration in the effective range of its concentration. And in the low concentration of alcohol in the test the error is small with the maximum error 8.2%, meeting requirements of the design. The cha
8、racteristics of the thesis are to determine the standard. The solutions and verification methods are proposed about the flow of air samples, the sample stability and water vapor. The conversion between voltage and concentration in different range is treated as linear relationship. The design of sens
9、or can detect different the alcohol gas with different concentration. It plays an important role to solve the drunk-driving accidents and alcohol testing for special occasions after improvement.Keyword: Single Chip Computer; A/D Transformer; Alcohol Sensor1大连海洋大学本科毕业设计 第1章 前言第1章 前言1.1 研究目的和意义近年来,随着我
10、国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频频发生。酒后驾车引起的交通事故是由于司机的过量饮酒造成人体内酒精浓度过高,麻痹神经,造成大脑反应迟缓,肢体不受控制等症状。少量饮酒并不会有上述症状,即人体内酒精浓度比较低时,而人体内酒精超过某一个值时就会引起危险。为此,需要设计一智能仪器能够监测驾驶员体内酒精含量。目前全世界绝大多数国家都采用呼气酒精测试仪对驾驶人员进行现场检测,以确定被测量者体内酒精含量的多少,以确保驾驶员的生命财产安全。此外,空气酒精浓度监测仪还能监测某一特定环境的酒精浓度如酒精生产车间可避免发生起火、爆炸及工业场地酒精中毒
11、等恶性事故,确保环境安全。本课题研究的是一种以气敏传感器和单片机为主,监测空气酒精浓度,并具有声光报警功能及LCD显示功能的空气酒精浓度监测仪。其可监测出空气环境中酒精浓度值,并根据不同的环境设定不同的阈值,对超过的阈值进行声光报警来提示危害。1.2 研究内容和方法本课题研究的是一种以气敏传感器和单片机为主,监测空气酒精浓度,并具有声光报警功能及LCD显示功能的空气酒精浓度监测仪。其可监测出空气环境中酒精浓度值,并根据不同的环境设定不同的阈值,对超过的阈值进行声光报警来提示危害。分为两部分:硬件设计部分和软件设计部分。硬件部分为利用MQ3气敏传感器测量空气中酒精浓度,并转换为电压信号经A/D转
12、换后传给单片机系统,由单片机及其外围电路进行信号的处理,显示浓度值以及超阈值声光报警。软件部分用汇编语言进行编程,程序采用模块化设计思想。各个子程序的功能相对独立,便于调试和修改。而硬件电路又大体可分为单片机小系统电路、A/D转换电路、声光报警电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程。大连海洋大学本科毕业设计 第2章 系统的介绍第2章 系统的介绍单片机酒精测试仪采用燃料电池酒精传感器作为气敏元件,它属于电化学类型,因此又称为电化学型。 它能使进入燃烧室内的酒精充分燃烧转变为电能,也就是在二个电极上产生电压,电能消耗在外接负载上。此电
13、压与进入燃烧室内气体的酒精浓度成正比,这就是单片机 酒精测试仪的基本工作原理。本设计方案采用功能很强的大规模数字频率合成器MC145151和多波形宽频率范围信号发生器MAX038 等新器件产生波形和频率,控制与管理电路部分使用SPCE061A单片机以及键盘显示电路。MAX038是一个精密高频波形产生器。它能产生频率高达20MHz的正弦波、三角波、方波等脉冲信号,其压控振荡器的频率分粗调和细调两层控制。在本电路中,用于粗调的控制电压(电流)由一个12位的DAC产生,使输出频率近似等于N倍基准频率。而细调电压则由数字锁相电路MC145151和环路滤波器MAX427产生,由锁相反馈环将频率fo =
14、Nfr锁定。这种方案的优点是频率合成器工作更可靠,锁定更迅速。另外MAX038还包括占空比调整电路、波形同步电路、相位检测电路、波形切换开关和电压基准源等电路,所需外部元件少,使用很方便。控制和管理电路由SPCE061A单片机及外围电路组成。其主要用于对键盘输入的波形和频率选择等数据进行译码,计算出相应的控制参数,控制频率合成器输出正确的信号,并将其频率和波形参数用LED显示出来。对于小型通用信号产生器而言,这是一个比较理的设计方案。图2.1酒精浓度检测仪的原理框图 2大连海洋大学本科毕业设计 第3章 硬件的选择介绍第3章 硬件的选择介绍3.1硬件系统框图基于AT89C51单片机用MQ-3型气
15、体传感器实现酒精气体浓度的检测,需要信号采集模块用于对酒精浓度信号的采集,该信号是通过MQ-3气体传感器和负载电压得到分压电信号。信号转换模块用来把采集到得模拟电压信号转换位可以用单片机处理的数字信号。数码管显示模块是对单片机处理后的数字信号的显示,用来显示酒精的浓度。报警模块是对设定值提供报警功能,该功能用发光二极管显示。根据各功能模块的设计,可得到它的系统总框图,如图3.1.1所示。酒精气敏传感器LM3914发光二极管ADC0809单片机数码管图3.1.1 系统总框图42大连海洋大学本科毕业设计 第3章 硬件的选择介绍3.2传感器的选择本课题选用的是MQ3型气敏传感器。其有很高的灵敏度、良
16、好的选择性、长期的使用寿命和可靠的稳定性。MQ3型气敏传感器由微型Al2O3,陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成。其一为加热回路,其二为信号输出回路,它可以准确反映传感器表面电阻值的变化。传感器的表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的。二者之间的关系表述为:RSRL=(VC-VRL)VRL,其中VC为回路电压为10V。负载电阻RL可调为05-200K。加热电压Uh为5v。上述这些参数使得传感器输出电压为0-5V。MQ3型气敏传感器的
17、结构和外形如图3所示,标准回路如图4所示,传感器阻值变化率与酒精浓度、外界温度的关系图如下图所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需将传感器预热5分钟。 MQ-3型气敏传感器的敏感部分是由金属氧化物(二氧化锡)的N型半导体微晶烧结层构成。当其表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电阻会随着被测气体浓度的变化而变化。由于这种变化是可逆的,所以能重复使用。MQ-3的灵敏度特性曲线如 图3.2.3所示图3.2.1传感器结构和外形图图3.2.2传感器标准回路图图3.2.3传感器阻值变化率与酒精浓度、外界温度之间的关系3.3 LCD显示
18、器的的选择LCD显示的中文名称是液晶显示,LM-420带显示屏的网络型温度湿度采集独立报警模块(自带传感器,可独立控制声光报警器)。LM-420是一种新型的温度或温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RS485总线串行通信接口可以方便地和机房监控主机或其他工控主机进行联网。工作于-4085工业级温湿度采集模块,采集温度范围为4085,精度0.1;相对湿度范围0100%,精度0.5% 。LM-420温湿度采集模块可通过隔离的485通讯接口与RS485局域控制网组网连接,RS485最多允许32个温湿度采集模块挂在同一总线上,但如采用Link-Max的RS485
19、中继器,则可将多达256个温湿度采集模块连到同一网络,且最大通信距离为1200m。在将温湿度采集模块安装入网前,应对其进行配置,并首先应将模块的波特率与网络的波特率设为一致,同时应分别设置温湿度采集模块为不同的地址,防止各温湿度采集模块的地址冲突。将温湿度采集模块正确连接后,主机发出读数据命令即可使温湿度采集模块将数据送回主机。温湿度采集模块内的数据每秒钟更新一次,并周期性地更新LCD显示屏的显示数据。LM-420是功能最多的型号,除可完成温度采集、湿度采集外,还可以预先设置温度、湿度的上下限报警值,当环境参数超过该设定值时,机内蜂鸣器立即响起报警声,同时LM-420机内的继电器吸合,可以用来
20、控制一个声光报警器(警号),不用主机也可实现自主报警,让现场管理人员第一时间地作出应对措施。LM-420智能温湿度采集模块是一种具有广泛应用前景的全数字化温湿度采集模块,使用该模块可使计算机房的环境监控变得十分容易,监控主机可方便地进行机房的各重要区块的温湿度数据采集,同时简化了整个机房监控系统,而机房监控系统的可靠性也得到了提高。因此,该模块在机房监控系统、电力系统和工业自动化等领域获得广泛的应用,具有极优的性价比。性能参数 输入响应时间(模块内数据更新率)为1秒同步测量 1路隔离的485, MODBUS RTU通讯协议 采用RS485二线制输出接口时,具有15kV的ESD保护功能 速率(b
21、ps)可在1200、38400、57600、115200中选择 可选的双协议通讯功能,客户可要求具有ASCII码格式或十六进制格式通讯协议 当指令为ASCII码格式时,适合于微机编程接口;指令为十六进制格式时,适合于单片机编程接口 可设置的温度湿度上下限报警功能(仅LM-420) 可设置的的时间:月、日、时、分、秒、24小时或AM/PM(仅LM-420) 可存储并显示曾经最大最小的温度湿度值,断电保持(仅LM-420) 精度等级:温度为0.2级;湿度为0.5级 供电电源:7.530V 功耗小于01W 工作温度范围为4085 存贮条件为4085(RH:595不结露) 体积为106mm98mm22
22、mm 安装方式:壁挂式安装孔;内置斜撑支架也可桌面摆放 图3.3.1 LCD显示器和单片机连接原理图图3.3.2 声光报警电路连接 大连海洋大学本科毕业设计 第4章 酒精浓度监测的硬件电路设计第4章 酒精浓度检测的硬件电路设计硬件设计时,考虑酒精浓度是由传感器把非电量转换为电量,传感器输出的是0-5伏的电压值并且电压值稳定,外部干扰小等。因此,可以直接把传感器输出电压值经过ADC0809采集数据送入单片机进行处理。酒精浓度监测仪的硬件电路设计主要包括:传感器测量电路、89C51单片机系统、A/D转换电路、声光报警电路、LED显示电路。酒精浓度监测仪硬件设计电路框图如图4.1。被测环境气敏传感器
23、A/D转换电路单片机声光报警电路LED显示键盘图4.1硬件方案总体框图4.1 89C51单片机系统单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个虽小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。4.1.1 单片机片内结
24、构51单片机的片内结构如图4.2所示。它把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。按功能划分,它有如下功能部件组成: 微处理器(CPU)。 数据存储器(RAM)。 程序存储器(ROM/EPROM)。 4个8位并行I/O口(P0口、P1口、P2口、P3口)。 一个串行口。 2个16位定时器、计数器。 2个16位定时器、计数器。 中断系统。 特殊功能寄存器(SER)。PSEN88EOCXTAL1CPU(运算器)(控制器)数据存储器RAMP0P2程序存储器ROM/EPROMP1串行口定时器/计数器中断系 统特殊功能寄存器(SFR)P3ALEEAIN7.I0XTAL288
25、RESET图4。2 51单片机片内结构上述功能部件都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但CPU对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。下面对框图4.1中各功能部件作一简单介绍:1、中央处理器CPUCPU是单片机的核心部件,它通常由运算器、控制器和中断电路等器件组成。CPU进行算术运算和逻辑操作的字长有4位、8位、16位和32位之分,字长越长运算速度越快,数据处理能力也越强。2、存储器在单片机内部,ROM和RAM存储器是分开制造的。通常,ROM存储器容量较大,RAM存储器的容量较小,这是单片机用于控制的一大特点。(1) ROM存储器RO
26、M存储器一般为1-64K字节,用于存放应用程序,故又称为程序存储器。(2) RAM 存储器通常,单片机片内RAM存储器容量为64-256字节,最多可达48K字节。RAM存储器主要用来存放实时数据或作为通用寄存器、数据堆栈和数据缓冲器之用。3、中断系统 具有5个中断源,2级中断优先权。4、定时器/计数器 片内有2个16位的定时器/计数器,具有4种工作方式。在应用中,往往需要精确的定时,或对外部事件进行计数,因而需在单片机内部设置定时器/计数器部件。 5、I/O接口和特殊功能部件I/O接口电路有串行和并行两种。串行I/O用于串行通信,它可以把单片机内部的并行8位数据(8位机)变成串行数据向外传送,
27、也可以串行接收外部送来的数据并把它们变成并行数据送给CPU处理。并行I/O口电路可以使单片机和存储器或外设之间并行地传送8位数据(8位机)。通常,特殊功能部件包括:定时器、计数器、A/D、 D/A、 DMA通道和系统时钟等电路。定时器、计数器用于产生定时脉冲,以实现单片机的定时控制;A/D和D/A转换器用于模拟量和数字量之间的相互转换,以完成实时数据的采集和控制,DMA通道可以使单片机和外设之间实现数据的快速传送。总之,某一单片机内部究竟包括哪些特殊功能部件以及特殊功能部件的数量是和它的型号有关的。单片机是整个系统的核心,对系统起监督、管理、控制作用,并进行复杂的信号处理,产生测试信号及控制整
28、个检测过程。所以在选择单片机时,参考了以下标准。(1) 运行速度。单片机运行速度一般和系统匹配即可。(2) 存储空间。单片机内部存储器容量,外部可以扩展的存储器(包括I/0 Fl)空间(3) 单片机内部资源。单片机内部存储资源越多,系统外接的部件就越少,这可提高系统的许多技术指标。(4) 可用性。指单片机是否能很容易地开发和利用,具体包括是否有合适的开发工具,是否适合于大批量生产、性能价格比,是否有充足的资源,是否有现成的技术资源等。(5) 特殊功能。一般指可靠性、功耗、掉电保护、故障监视等。从硬件角度来看,与MCS-51指令完全兼容的新一代AT89CXX系列机,比在片外加EPROM才能相当的
29、8031单片机抗干扰性能强,与87C51单片机技能相当,但功耗小。程序修改直接用+5V或+12V电源擦除,更显方便、而且其工作电压放宽至2.7V-6V,因而受电压波动的影响更小,而且4K的程序存储器完全能满足单片机系统的软件要求,故AT89C51单片机是构造本检测系统的更理想的选择。4.1.2 89C51芯片介绍掌握MCS-51单片机,应首先了解MCS-51的引脚,熟悉并牢记各引脚的功能,MCS-51系列中各种型号芯片的引脚是互相兼容的。制作工艺为HMOS的MCS-51的单片机都采用40只引脚的双列直插封装方式,如图2-3所示。图4.3 AT89C51芯片管脚图40只引脚按其功能来分,可分为如
30、下3类: 电源及时钟引脚:Vcc、Vss、XTAL1、XTAL2。电源引脚接入单片机的工作电源。Vcc接+5V电源,Vss接地。时钟引脚XTAL1、XTAL2外接晶体与片内的反相放大器构成了1个晶体振荡器,它为单片机提供了时钟控制信号。2个时钟引脚也可外接独立的晶体振荡器。XTAL1接外部的一个引脚。该引脚内部是一个反相放大器的输入端。这个反相放大器构成了片内振荡器。如果采用外接晶体振荡器时,此引脚接地。XTAL2接外部晶体的另一端,在该引脚内部接至内部反相放大器的输出端。若采用外部时钟振荡器时,该引脚接受时钟振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。 控制引脚:、ALE、RES
31、ET(RST)。此类引脚提供控制信号,有的还具有复用功能。 RST/VPD引脚:RESET(RST)是复位信号输入端,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期(24个振荡周期)的高电平时,就可以完成复位操作。在单片机工作时,此引脚应为0.5V低电平。VPD为本引脚的第二功能,即备用电源的输入。当主电源发生故障,降低到某一规定值的低电平时,将+5V电源自动接入RST端,为内部RAM提供备用电源,以保证片内RAM的信息不丢失,从而使单片机在复位后能正常进行。 ALE/ 引脚:ALE引脚输出为地址锁存允许信号,当单片机上电正常工作后ALE引脚不断输出正脉冲信号。当单片机访问外
32、部存储器时,ALE输出信号的负跳沿用于单片机发出的低8位地址经外部锁存器锁存的锁存控制信号。即使不访问外部锁存器,ALE端仍有正脉冲信号输出,此频率为时钟振荡器频率的1/6。 为该引脚的第二功能。在对片内EPROM型单片机编程写入时,此引脚作为编程脉冲输入端。 引脚:程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。此引脚接外部程序存储器的OE(输出允许端)。 /VPP引脚:功能为片内程序存储器选择控制端。当引脚为高电平时,单片机访问片内程序存储器,但在PC值超过0FFFH时,即超出片内程序存储器的4KB地址范围时将自动转向执行外部程序
33、存储器内的程序。当引脚为低时,单片机只访问外部程序存储器,不论是否有内部程序存储器。 I/O口引脚:P0、P1、P2、P3,为四个8位I/O口的外部引脚。P0口、P1口、P2口、P3口是3个8位准双向的I/O口,各口线在片内均有固定的上拉电阻。当这3个准双向I/O口作输入口使用时,要向该口先写1,另外准双向口I/O口无高阻的“浮空”状态。由于单片机具有体积小、质量轻、价格便宜、耗电少等突出特点,所以本系统采用89C51单片机,硬件设计电路图如图1所示。89C51内部有4KB的EPROM,128字节的RAM,所以一般都要根据所需存储容量的大小来扩展ROM和RAM。本电路接高电平,没有扩展片外RO
34、M和RAM。4.2 A/D转换电路在单片机应用系统中,被测量对象的有关变化量,如温度、压力、流量、速度等非电物理量,须经传感器转换成连续变化的模拟电信号(电压或电流),这些模拟电信号必须转换成数字量后才能在单片机中用软件进行处理。实现模拟量转换成数字量的器件称为A/D转换器(ADC)。A/D转换器大致分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。该设计中选用的是ADC0809属第二类,是8位A/D转换器。每采集一次需100s。0809具有8路模拟信号输入端口,地址线(2
35、3-25脚)可决定那一路模拟信号进行A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2s的高电平脉冲时,就开始A/D转换。7引脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许端,当OE脚为高电平时,A/D转换数据输出。10脚为0809的时钟输入端。 4.2.1 ADC0809的引脚及功能根据A/D转换器的转换原理可将A/D转换器分为两大类。一类是直接型A/D转换器,另一类是间接型A/D转换器。该设计中的ADC0809属于直接A/D转换器中的逐次比较型A/D转换器。逐次比较型A/D转换器在精度、速度、和价格
36、上都适中,是最常用的A/D转换器件。芯片采用的是ADC0809,以下介绍ADC0809的引脚及功能。芯片如图4.4所示。图4.4 ADC0809的引脚ADC0809是一种逐次比较式8路模拟输入、8位数字量输出的A/D转换器。由图可见,ADC0809共有28个引脚,采用双列直插式封装。主要引脚功能如下: IN0-IN7是8路模拟信号输入端。 D0-D7是8位数字量输入端。 A、B、C与ALE控制8路模拟通道的切换,A、B、C分别与3根地址线或数据线相连,3位编码对应8个通道地址端口。C、A、B = 000-111分别对应IN0-IN7通道的地址。需要注意的是:ADC0809虽然有8路模拟通道可以
37、同时输入8路模拟信号,但每个瞬间只能换1路,各路之间的切换由软件改变C、A、B引脚上的代码来实现。 OE、START、CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。 VR(+)和VR(-)为参考电压输入端。4.2.2 ADC0809的结构及转换原理ADC0809的结构框图如图2-5。ADC0809采用逐次比较的方法完成A/D转换的,由单一的+5V电源供电。片内有锁存功能的8路选1的模拟开关,由C、B、A引脚的功能来决定所选的通道。0809完成一次转换需100s左右,输出具有TTL三态锁存缓冲器,可直接连接到MCS-51的数据总线上。通过适当的外接电路
38、,0809可对0-5V的模拟信号进行转换。4.3 LED显示电路89C51的P3.0-P3.3端口作为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作0809的A/D转换数据读入用,P2端口用作0809的A/D转换控制。4.3.1 LED显示器的结构LED显示器是由发光二极管构成的,常用的LED显示器为8段(或7段,8段比7段多了1个小数点“dp”段),每一个段对应1个发光二极管。为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不
39、同字型,因此该代码称之为段码(或称之为字型码)。7段发光二极管,再加上1个小数点位,共计8段。因此提供给LED显示器的段码正好是1B。表1 各段与字节中各位对应个关系代码位D7D6D5D4D3D2D1D0显示段dpgfedcba由N个LED显示块可拼成N位的LED显示器。图4.5 是4位的LED显示器的结构原理图位选线dp g b adp g b adp g b adp g b a段码线图4.5位LED显示器的构成N个LED显示块由N位位选线和8N根段码线。段码线控制显示字符的字型,而位选线为各个LED显示块中各段的公共端,它控制该LED显示位的亮或暗。4.3.2 LED显示器的工作原理LED
40、显示器有静态显示和动态显示2种显示方式。静态显示电路中,各位可独立显示,只要在该位的段码线上保持段码电平,该位就能保持相应的显示字符。由于各位分别由1个8位的数据输出口控制段码线,故在同一时间里,每一位显示的字符可以不相同。这种显示方式虽然接口编程容易,但付出的代价是占用口线较多。若用I/O口线接口,则要占用4个8位I/O口,若用锁存器接口,则要用4片74L373芯片。如果显示的位数增多,则需要增加锁存器。因此在显示位较多的情况下,一般都采用动态显示方式。该设计中采用的就是LED动态显示方式,原理如下。在多位LED显示时,为简化硬件电路,通常将所有位的段码线相应段并联在一起,由1个8位I/O口
41、控制,形成段码线的多路复用,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说是相同的。因此,在同一时刻,如果各位位选线都处于选通状态的话,4位LED将显示相同的字符。若要各位LED能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。这样,在同一时刻4位LED中只有选通的那一位显示出字符,而其他3位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态
42、,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多为同时亮的假象,达到同时显示的效果。设计选用3个单位8段共阴数码管来显示输出的数据,因为电路硬件相对较简单,所以选择静态显示方法。选用3个移位寄存器74LS164驱动数码管发光点亮。电路连接如图4.7所示。移位寄存器在电路中一是驱动数码管点亮,二是对输入的串行数据并行输出,起到串并转换的作用。移位
43、寄存器74LS164串行数据输入端与前一位的并行输出最高位相连,第一位移位寄存器的数据输入端与单片机的数据输出端P1.7连接。单片机引脚P1.6用于给移位寄存器提供移位的时钟脉冲,该引脚与三个移位寄存器的时钟输入端CLK相连。因为每位数据串行输出先输出的是低位,所以数码管引脚a、b、c、d、e、f、g、dg应顺序与对应位的移位寄存器并行输出端的Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0连接。4位8 段LED动态显示电路如图4.6所示。 8888a-dpa-dp段码线8位I/O位选线4位I/O(a-dp图4.6 4位8 段LED动态显示发光二极管一般是砷化镓半导体二极管,在发放光二极管两端加
44、上正向电压,则发光二极管发光。数码管是由若干发光二极管组合而成的,有共阴极和共阳极两种结构形。8段共阴数码管由abcdefg、dg这8个发光二极管组成。把8个发光二极管的阴极连接在一起构成共阴极端,接进电路时,共阴极端接地,给要发光显示的二极管的阳极端接高电平可使该发光二极管导通点亮。如图4.8所示。图4.8 8段共阴数码管结构图该设计中采用了4位LED显示,如图2-1数字电压表硬件设计电路图所示,第一个显示通道位,第二个显示所测电压的个位数值,第二和第三个显示小数位数值,精确度为0.01V。大连海洋大学本科毕业设计 第5章 酒精浓度监测的软件设计第5章 酒精浓度监测的软件设计5.1 开发环境
45、选用的开发平台为MedWin单片机集成开发环境,只需在PC机上安装MedWin软件,然后在MedWin软件代码编辑器编辑程序代码,经汇编,修改,产生代码,形成输入输出口实验十六进制.HEX文件。打开Microcontrmller ISP Software,在菜单options选项中选择select device,在弹出的窗口中选择器件AT89C51,并选Byte Mode点击OK。初始化器件后,将经过编译生成的.HEX十六进制文件下载到单片机。对于8051系列单片机,本设计软件编程部分选用汇编语言来写程序代码。5.2 程序流程检测到酒精气味时,气体传感器MQ-3两个电极端A-B间电阻将变小,对应与气体传感器负载电阻的分压将变大。因为ADC0809的模拟输入端IN0与负载电阻的一端用导线连在了一起。所以单片机在启动测试模数转换芯片之前要选择通道0,写入模数转换芯片,并将用作查询的单片机引脚P3.3置位,然后启动对通道IN0端输入的采集电压信号作模数转换,等待转换的结束。利用单片机丰富的I/O口可以采用查询方式来检