基于单片机的交警用酒精测试仪设计和制作本科毕业论文.doc
摘要随着社会的发展,从工厂企业到居民家庭,酒精泄露的检测、监控以及对酒后驾车的监测对居民的人身和财产安全都是十分重要且必不可少的。同时,随着人民生活水平的迅速提高,越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频繁发生,为此,我国将酒驾列入刑法范围内。由于人们的安全意识增强,以及对环境安全性和生活舒适性要求的提高,为了防止机动车辆驾驶人员酒后驾车,现场实时对人体呼气中酒精含量的检测已日益受到重视,酒精浓度测试仪逐渐得到广泛应用。此外,酒精测试仪也可应用于食品加工、酿酒等需要监控空气中酒精浓度的场合。如今,气体传感器向低功耗、多功能、集成化方向的发展,因此,酒精浓度检测仪具有十分广阔的现实市场和潜在的市场要求。 本文研究设计了一种基于单片机的酒精浓度测试仪。它采用MQ-3乙醇气体传感器对酒精浓度进行检测,利用单片机STC12C5A16AD对检测信号进行模数转换和处理,再通过液晶屏对信号进行输出显示。此酒精浓度测试仪还具有醉酒阈值设定功能,可以根据法律法规或用户需要设定修改醉酒阈值,当乙醇浓度超过设定的阈值,系统就会使红灯闪烁进行报警。关键词: MQ-3气体传感器;单片机;模数转换;液晶显示;可擦除只读存储器ABSTRACT With the development of society, from the factories and enterprises to households, the alcohol leak detection,monitoring, and monitoring of drunk driving is very important and essential to personal and property safety of the residents. Meanwhile, with the rapid improvement of people's living standard, more and more people have their own private car, and traffic accidents occur by drunk driving also frequently, to this end, the wine driving are included in the criminal law in China. As the peoples security consciousness enhancement and the people to the environment safety and life comfort requirements increase , in order to prevent the motor vehicle drivers drunk driving, detection of human breath alcohol content on the spot has received increasing attention, alcohol concentration tester is gradually widely used. In addition, alcohol tester can also be used in food processing, brewing and other occasions who need to monitor the alcohol concentration in the air. Today, the development of the gas sensor to the low-power, multi-functional, integrated direction, therefore, the alcohol concentration detector has a very broad market and potential of the market requirements. I design a alcohol concentration tester based on MCU in this paper. It uses the MQ-3 ethanol gas sensor to detect the alcohol concentration, and analog to digital conversion and processing of signal detection with the microcontroller STC12C5A16AD, through the LCD screen display the signal. The alcohol concentration tester also has drunken threshold setting function, we can according to the laws and regulations or the user needs to modify the drunken threshold setting , when the ethanol concentration exceeds a set threshold, the system will make the red light flashes.Keywords:MQ-3 gas sensor;Microcomputer;A/D conversion;LCD;EEPROM目录1 绪论11.1 设计背景11.2 气体传感器国内外发展现状21.2.1 气体传感器在国外发展现状21.2.2 气体传感器在国内发展现状21.2.3 气体传感器国内外发展状况对比31.3 酒精浓度测试仪现状及发展趋势31.3.1 目前酒精浓度测试仪普遍缺点31.3.2 酒精测试仪的应用41.4 设计酒精浓度测试仪的意义42 硬件电路设计与实现52.1 单片机开发流程52.2 硬件系统框图52.3 气体传感器62.3.1 气敏传感器的分类62.3.2 气体传感器的选择72.3.3 气体传感器模块电路102.4 单片机系统102.4.1 STC12C5A60S2/AD/PWM系列单片机简介112.4.2 单片机的选择122.4.3 单片机系统电路152.5 晶振电路152.5.1单片机晶振的应用162.5.2晶振模块电路162.6 LCD显示电路162.6.1液晶显示模块172.6.2 液晶屏接口电路192.7 阀值存储系统192.7.1 I2C总线简介192.7.2 AT24C04简介202.7.3 EEPROM存储电路222.8供电及程序下载电路223 系统软件的设计233.1 编程语言的选择233.2 软件流程图243.3 阀值读写软件设计253.3.1 SDA和SCL信号253.3.2 阀值的读写操作263.4 数据转换流程图273.5 按键程序流程图283.6 液晶显示程序流程图284 下载与调试304.1 驱动安装304.2 下载程序305 结论336分析和总结36参考文献37附录1:电路图38附录2:主程序39致 谢44 1 绪论 测试仪向更迅速更快捷发展,方便携带等要求发展。传统的机械测试仪或酒精计一般灵敏度和准确度也比较低或者检测方法难,同时单片机既有通用计算机的基本部件,又不同于计算机。有体积小,实时快速的对外部事件做出响应,迅速采集大量数据,做出逻辑判断与推理后实现被控对象的参数调整与控制,且能满足测试仪的设计要求,所以基于单片机的酒精浓度测试仪的开发有很大意义。1.1 设计背景传感器是人类探知自然界信息的触角。在人类文明的发展历史中,感受处理外部信息的传感技术一直扮演着一个重要的角色。在古代,传感技术由人的感官来实现,人观天象而仕农耕,察火色而冶铜铁。从18世纪产业革命以来,特别是在20世纪信息革命中,传感技术越来越多的由人造感官,即传感器来实现。目前,传感器的应用如此广泛,可以说任何机械电气系统都离不开它。人们常常将传感器称之为电五官,这是说如果将计算机比作人的大脑而称为电脑的话,那么传感器的地位和功能就相当于人的眼,耳,鼻,舌,身五官。 近年来,传感器正处于传统型向新型传感器转型的发展阶段,新型传感器的特点是微型化、数字化、智能化、多功能化、系统化、网络化,它将不仅促进系统产业的改造,而且可导致建立新型工业和军事变革,是21世纪新的经济增长点。由于气体与人类的日常生活密切相关,对气体的检测已经是保护和改善生态居住环境不可缺少的手段,气体传感器发挥着极其重要的作用。气体传感器是把气体中的特定成分检测出来,并转化为电信号的一类器件,用来对有害气体,易燃易爆气体等进行安全检测和报警,对生产生活中需要了解的气体进行检测,分析,研究等。对气体中酒精含量进行检测的设备有五种基本类型,即:燃料电池型(电化学)、半导体型、红外线型、气体色谱分析型、比色型。但由于价格和使用方便的原因,常用的只有燃料电池型(电化学型)和半导体型两种。燃料电池可以直接把可燃气体转变成电能,而不产生污染,酒精传感器只是燃料电池的一个分支。燃料电池酒精传感器采用贵金属白金作为电极,在燃烧室内充满特种催化剂,使进入燃烧室内的酒精充分燃烧转变为电能,也就是在两个电极上产生电压,电能消耗在外接负载上,此电压与进入燃烧室内气体的酒精浓度成正比。与半导体型相比,燃料电池型呼气酒精测试仪具有稳定性好,精度高,抗干扰性好的优点。但是由于燃料电池酒精传感器的结构要求非常精密,制造难度相当大。从传感器技术发展的角度看,根据使用传感器原理的不同,常见的气体检测仪器仪表各自有适用气体及应用领域,新技术新产品正在成为未来气体检测仪器仪表的主流,现在的酒精浓度检测仪都是采用可替代吹管,酒精仪从传统的机械检测或酒精计到现在的利用传感器和单片机位核心技术的酒精浓度检测仪式在技术上是一大突破,大大提高了检测酒精的精确度。1.2 气体传感器国内外发展现状 对于气体传感器的发展现状来说:一是气体传感器向低功耗、多功能、集成化方向发展。二是增强可靠性,实现元件和应用电路集成化,多功能化,发展MEMS技术,发展现场适用的变送器和智能型传感器。1.2.1 气体传感器在国外发展现状 国外气体传感器发展很快,一方面是由于人们安全意识增强,对环境安全性和生活舒适性要求提高;另一方面是由于传感器市场增长受到政府安全法规的推动。因此,国外气体传感器技术得到了较快发展,据有关统计猜测,美国1996年2002年气体传感器年均增长率为(2730)%。目前,气体传感器的发展趋势集中表现为:一是提高灵敏度和工作性能,降低功耗和成本,缩小尺寸,简化电路,与应用整机相结合,这也是气体传感器一直追求的目标。如日本费加罗公司推出了检测(0.110)×106硫化氢低功耗气体传感器,美国IST提供了寿命达10年以上的气体传感器,美国FirstAlert公司推出了生物模拟型(光化反应型)低功耗CO气体传感器等。二是增强可靠性,实现元件和应用电路集成化,多功能化,发展MEMS技术,发展现场适用的变送器和智能型传感器。如美国GeneralMonitors公司在传感器中嵌入微处理器,使气体传感器具有控制校准和监视故障状况功能,实现了智能化;还有前已涉及的美国IST公司的具有微处理器的“MegaGas”传感器实现了智能化、多功能化。1.2.2 气体传感器在国内发展现状 气敏元件传感器作为新型敏感元件传感器在国家列为重点支持发展的情况下,国内已有一定的基础。其现状是: (1)烧结型气敏元件仍是生产的主流,占总量90%以上;接触燃绕式气敏元件已具备了生产基础和能力;电化学气体传感器有了试制产品。 (2)在工艺方面引入了表面掺杂、表面覆膜以及制作表面催化反应层和修隔离层等工艺,使烧结型元件由广谱性气敏发展成选择性气敏;在结构方面研制了补偿复合结构、组合差动结构以及集成化阵列结构;在气敏材料方面SnO2和Fe2O3材料已用于批量生产气敏元件,新研究开发的Al2O3气敏材料、石英晶体和有机半导体等也开始用于气敏材料。 (3)低功耗气敏元件(如一氧化碳,甲烷等气敏元件)已从产品研究进入中试。 (4)国内气敏元件传感器产量已超过“九五”初期的400万支。产量超过20万支的主要厂家有5家,黑龙江敏感集团、太原电子厂、云南春光器材厂、天津费加罗公司(合资)、北京电子管厂(特种电器厂),其中前四家都超过100万支,据行业协会统计,1998年全国气敏元件总产量已超过600万支。1.2.3 气体传感器国内外发展状况对比总的看来,我国气敏元件传感器及其应用技术有了较快进展,但与国外先进水平仍有较大的差距,主要是产品制造技术、产业化及应用等方面的差距,与日本比较仍要落后10年。早在1968年,半导体气敏元件传感器就在日本实现商品化。现今在工业发达国家,如美国、日本、英国、德国已经发展成品种规格齐全、技术综合发展的新兴产业,实现了生产规模化、产业化、应用技术系统工程化。1.3 酒精浓度测试仪现状及发展趋势根据使用传感器原理的不同,常见的气体检测仪器仪表各自有适用气体及应用领域,新技术新产品正在成为未来气体检测仪器仪表的主流,如今的酒精浓度检测仪都是采用可替代吹管,酒精仪从传统的机械检测或酒精计到现在的利用传感器和单片机位核心技术的酒精浓度检测仪式在技术上是一大突破,大大提高了检测酒精的精确度,更能满足市场的需求。1.3.1 目前酒精浓度测试仪普遍缺点但是当前大部分一般的酒精浓度检测仪价格较低的灵敏度并不是很强,准确度高的一般售价也比较昂贵,并且大多只是对结果进行预警、低报、高报三限报警点设置,所以在LED显示酒精浓度数值上应实现普及,得到准确的浓度数值。同时很多其他气体会可能会对其影响,从而影响准确度。所以在传感器的腐蚀性以及排除其他干扰的能力值得提升。现在大多都是检测气体浓度或液体浓度的检测,最好是能解决一个检测仪同时检测气体和液体两种不同状态的酒精浓度。1.3.2 酒精测试仪的应用目前英国内政部已推出一种超级酒精呼吸检测仪,能根据体温、呼吸频率等情况,当场判断出驾驶者体内的酒精含量。奔驰、大众、宝马等厂家也研制出一些预防酒后驾车的车内设备,其中包括“酒精锁”。驾驶者在发动引擎前,须向车内一种小型酒精检测装置吹气,如果酒精浓度超过标准值,引擎将无法启动。另外一种酒精锁则是一种情景对话设备。这种设备会询问驾驶者的家庭地址等问题,如果驾驶者在酒后意识不清醒,不能正确答对所的问题,就无法启动汽车。一些新的光学手段也可应用于对付醉驾。俄罗斯圣彼得堡一家激光公司发明了激光酒精检测仪,可对驾驶员是否饮酒进行远距离探测。检测时,检测仪发射一束激光透过挡风玻璃对车内空气进行检测,如果空气中酒精含量超过百万分之一,仪器就会报警。1.4 设计酒精浓度测试仪的意义 本设计基于STC12C5A16AD单片机设计的酒精气体浓度探测仪,可用来检测酒精气体浓度,最主要的用途是检测司机的酒精含量。酒后驾车发生事故的机率高达27%。随着摄入酒精量的增加,选择反应错误率显著增加,当血液中酒精含量由0.5%增至1%,发生车祸的可能性便增加5倍,如果增至1.5%,可能性再增加6倍。机动车驾驶人员“酒后驾车” 及“醉酒驾车”极易发生道路交通事故, 严重危害了道路交通安全和人民生命财产安全。人饮酒后, 酒精通过消化系统被人体吸收, 经过血液循环, 约有90%的酒精通过肺部呼气排出, 因此测量呼气中的酒精含量, 就可判断其醉酒程度。开车司机只要将嘴对着传感头使劲吹气,仪器就能发上显示出酒精浓度的高低,从而判断该司机是否酒后驾车,避免事故的发生。当然,最好的办法是在车内安装这种测试仪,司机一进入车内检测仪就检测司机的酒精含量,如果超出允许值,系统控制引擎无法启动,这样就可从根本上解决酒后驾车问题。 酒精气体浓度探测仪在生产生活中也有重要的应用,比如,在一些环境要求严格的生产车间,用这种酒精浓度探测仪,可随时检测车间内的酒精气体浓度,当酒精气体浓度高于允许限定值时,发出警报,提醒人们及时通风换气,做到安全生产。 2 硬件电路设计与实现2.1 单片机开发流程 (1)可行性调研。可行性调研的目的,是分析完成这个项目的可能性。进行这方面的工作,可参考国内外有关资料,看是否有人进行过类似的工作。如果有,则可分析他人是如何进行这方面工作的,有什么有点和缺点,有什么值得借鉴的;如果没有,则需要作进一步的调研,此时的重点应放在能否实现这个环节,首先从理论上进行分析,探讨实现的可能性,所需求的客观条件是否具备,然后结合实际情况,再决定能否立项的问题。 (2)系统总体方案的设计。在进行可行性调研后,如果可以立项,下一步工作就是系统总体方案的设计。工作的重点应放在该项目的技术难度上,此时可参考这一方面更详细、更具体的资料,根据系统的不同部分和要实现的功能,参考国内外同类产品的性能,提出合理而可行的技术指标,编写出设计任务书,从而完成系统总体方案设计。 (3)设计方案细化,确定软硬件功能。一旦总体方案确定下来,下一步的工作就是将该项目细化,即需明确哪些部分用硬件来完成,哪些部分用软件来完成。由于硬件结构与软件方案会相互影响,因此,从简化电路结构、降低成本、减少故障率、提高系统的灵活性与通用性方面考虑,提倡软件能实现的功能尽可能由软件来完成;但也应考虑软件代硬件的实质是以降低系统的实时性、增加处理进行为代价的,而且软件设计费用、研制周期也将增加,因此系统的软硬件功能分配应根据系统的要求及实际情况而合理安排,统一考虑。在确定软硬件功能的基础上,设计者的工作就开始涉及到具体的问题,如仪器的体积及与具体技术指标相对应的硬件实现方案,软件的总体规划等。在确定人员分工、安排工作进度、规定接口参数后,就比须考虑硬件软件的具体问题了。 (4)一个单片机应用系统经过调研、总体设计、硬件软件设计、制版、元件安装后,在系统的程序存储器中放入编制好的应用程序,系统即可运行。但一次性成功的几乎是不是不可能的。由于单片机在执行程序时人工是无法控制的,为了能够调试程序,检查硬件、软件运行情况,这就需要借助某种开发工具模拟用户实际的单片机,并且能随时观察运行的中间过程而不改变运行中有的数据性能和结果,从而进行模拟现场的真实调试。2.2 硬件系统框图 本研究设计的酒精浓度测试仪框图如图2.1所示。MQ-3乙醇气体传感器输出信号经信号调理电路处理,输出随乙醇浓度变化的电压信号,该电压信号送入单片机系统,经AD转换,与设定的醉酒阈值进行比较,并显示或报警。 图 2.1 系统总框图2.3 气体传感器2.3.1 气敏传感器的分类根据被检测气体的不同,气敏传感器可分为以下三类: (1)可燃性气体气敏传感器。目前该类气敏传感器需求量最大,包含各种无机和有机类气体检测,主要用于抽油烟机、泄露报警器和空气清新剂等方面,并已经形成生产规模,在油田、矿区、化工、企业及家庭等生产和生活领域广泛用作气体泄露报普,特别是用于家庭气体泄露报警,需求量不断增加,使该类传感器有着广泛的发展空间。 (2)CO和H2气敏传感器。CO气敏元件可用于工业生产、环保、汽车、家庭等CO泄露和不完全燃烧检测报警;H2气敏元件除应用于工业等领域外,主要用于家庭管道煤气泄露报警。由于我国管道煤气中H2含量很高,而氢敏元件较氧化碳元件价格低,灵敏度高,因此,用氢敏元件做城市管道煤气泄露报警更为适宜。 (3)毒性气体传感器。毒性气体传感器又称为环境有毒有害气体传感器,主要用于检测烟气、尾气、废气等环境污染气体,虽然SnO2气敏传感器对CO,H2S等有毒有害气体敏感,但应用最多的仍是电解式化学传感器。传感器的分类方式有很多种,以上是根据被检测气体的性质进行的分类,也有根据元件的物理特性进行分类的。一个新型的气体检测系统应该包括:(1)基于一种或几种传感技术的气体传感器。(2)组合了气体传感器和采样调理电路的探头。(3)配有人机接口软件的中心监测和控制系统。(4)在一些应用中,与其它安全系统和仪器的接口。2.3.2 气体传感器的选择本设计中的酒精气体传感器采用ZYMQ-3型,它属于MQ系列气敏元件的一种。如图 2.2所示: 图2.2 ZYMQ-3气体传感器 特点: (1)对乙醇蒸汽有很高的灵敏度和良好的选择性 (2)快速的响应恢复特性 (3)长期的寿命和可靠的稳定性 (4)简单的驱动回路ZYMQ系列气体传感器的敏感材料是活性很高的金属氧化物半导体,最常用的如SnO2。金属氧化物半导体在空气中被加热到一定温度时,氧原子被吸附在带负电荷的半导体表面,半导体表面的电子会被转移到吸附氧上,氧原子就变成了氧负离子,同时在半导体表面形成一个正的空间电荷层,导致表面势垒升高,从而阻碍电子流动。 ZYMQ-3乙醇气体传感器灵敏度曲线如图2.3所示,其传感原理为气敏电阻的输出阻值随乙醇气体等浓度变化而变化。 图2.3 ZYMQ-3乙醇气体传感器灵敏度曲线ZYMQ-3 型气敏传感器由微型Al2O3、陶瓷管和SnO2 敏感层、测量电极和加热器构成的敏感元件固定在塑料或者不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成:其一为加热回路;其二为信号输出回路,它可以准确反映传感器表面电阻的变化。传感器表面电阻RS 的变化,是通过与其串联的负载电阻RL 上的有效电压信号VRL 输出面获得的。二者之间的关系表述为:RS/RL=(VCVRL)/VRL,其中VC为回路电压10V。负载电阻RL可调为0.5200K,加热电压Uh为5V。上述这些参数使得传感器输出电压为05V。MQ-3 型气敏传感器的结构和外形如图2.4所示,标准回路如图2.5所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需要将传感器预热20s。图2.4 ZYMQ-3的结构和外形 图2.5 ZYMQ-3标准回路检测电路如图2.6所示,当电源开关S断开时,传感器加热电流为零,实测A,B之间电阻大于20M。S接通,则f,f之间电流由开始时155mA降至153mA而稳定。加热开始几秒钟后A,B之间电阻迅速下降至10K以下,然后又逐渐上升至120K以上后并保持着。此时如果将酒精溶液样品靠近MQ-3传感器,我们立即可以看到数字万用表显示值马上由原来大于120K降至10K以下。移开小瓶过1分钟左右后,A,B之间电阻恢复至大于120K。这种反应可以重复试验,但要注意使空气恢复到洁净状态。经实验的反复检测,MQ-3传感器可以正常工作使用,对不同浓度的酒精溶液有不同的变化,响应时间和恢复时间都正常,可以开始作信号采样模块电路的设计。 图2.6 ZYMQ-3检测电路 ZYMQ-3乙醇气体传感器及其调理电路原理如图2.7所示。经过调理,检测信号由电阻值转变成电压值,便于后续电路进行A/D转换和处理。 图2.7 传感器及调理模块原理图 该传感器模块具有如下特点,方便与单片机系统接口组成检测仪器。 (1)具有信号输出指示。 (2)双路信号输出(模拟量输出及TTL电平输出)。 (3)TTL输出有效信号为低电平。(输出低电平时信号灯亮,可直接单片机) 。 (4)模拟量输出05V电压,浓度越高电压越高。2.3.3 气体传感器模块电路 综上制出传感器与单片机接口原理图,如图2.8所示。他是本次设计中的识别酒精气体的一个重要的模块。 图2.8 传感器与单片机接口电路2.4 单片机系统单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个虽小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。2.4.1 STC12C5A60S2/AD/PWM系列单片机简介STC12C5A60S2/AD/PWM系列单片机是单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制、强干扰场合。 下面是此类单片机的功能特点介绍: 1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。 2.工作电压: STC12C5A60S2系列工作电压:3.3V - 5.5V(5V单片机) STC12LE5A60S2系列工作电压:2.2V - 3.6V(3V单片机) 3.工作频率范围:0-35MHz,相当于普通8051的0-420MHz。 4.用户应用程序空间:8K/16K/20K/32K/40K/48K/52K/60K/62K字节等。 5.片上集成1280字节RAM。 6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051 传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/弱上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20mA,但整个芯片最大不超过55mA。 7.ISP/IAP无需专用编程器,无需专用仿真器。可通过串口(P3.0/P3.1)直接下载用户序,数秒即可完成一片。 8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)。 9.看门狗。 10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)。 11.外部掉电检测电路P4.6口有一个低压门槛比较器。5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%。 12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%内)。用户在下载用户程序时,可选择内部R/C振荡器还是外部晶体/时钟。常温下内部R/C振荡器频率为:5.0V单片机为:11MHz-15.5MHz 3.3V单片机为:8MHz-12MHz精度要求不高时可选择用内部时钟,但因为有制造误差和温漂,以实际测试为准。 13.共4个16位定时器。两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,无定时器T2,但有独立波特率发生器做串行通信的波特率发生器。再加上2路PCA模块可再实现2个16位定时器。 14.有2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟。 15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒。 16.PWM(2路)/PCA(可编程计数器阵列,2路) -也可以用来当2路D/A使用 -也可用来再实现2个定时器 -也可用来再实现2个外部中断 17.A/D转换,10位精度ADC共8路,转换速度达250K/S(每秒25万次)。 18.通用全双工异步串行口,由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。 19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RXD2/P1.2(可通过寄存器设计到P4.2),TXD2/P1.3(可通过寄存器设计到P4.3)。 20.工作温度范围:-40 - +85(工业级)/0 - 75(商业级)。 21.封装:PDIP-40,LQFP-44,LQFP-48。I/O口不够时,可用2到3跟I/O口线外接,74HC164/165/595(均可级联)来扩展I/O口,还可以用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。2.4.2 单片机的选择 本设计选宏晶公司高性能单片机STC12C5A16AD,其管脚如图2.9所示。 图2.9 STC12C2052AD单片机管脚图该单片机为DIP40封装,外型管脚与AT89S52等完全相同,内置8位A/D转换器,可将酒精传感器输出电压转变成数字量处理。其中各个管脚的功能如下: VCC:运行和程序校验时接电源正端。 GND:电源负极,接地。 XTAL1:内部时钟电路反相放大器输入端,接外部晶振的一个引脚。当直接使用外部时钟源时,此引脚是外部时钟源的输入端。 XTAL2:内部时钟电路反相放大器输出端,接外部晶振的另一端。当直接使用外部时钟源时,此引脚可浮空,此时XTAL2实际将XTAL1输入的时钟进行输出。 P0口:既可作为输入/输出口,也可作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0口作为地址/数据复用总线使用时,是低8位地址线(A0A7),数据线的(D0D7)。P1口:8位准双向I/O口。并且具有A/D转换功能。P1.0ADC0/CLKOUT2,ADC输入通道-0,CLKOUT2是独立波特率发生器的时钟输出,可通过设置WAKE_CLKO2位/BRT-CLKO将该管脚配置为CLKOUT2。P1.1ADC1,ADC输入通道-1。P1.2ADC2/ECI/RxD2,ADC输入通道-2,ECI是PCA计数器的外部脉冲输入脚,RxD2是第二串口数据接收端。P1.3ADC3/CCP0/TxD2,ADC输入通道-3,CCP0是外部信号捕获(频率测量或当外部中断使用)、高速脉冲输出及脉冲调制输出,TxD2是第二串口数据发送端。P1.4ADC4/CCP1/,ADC输入通道-4,CCP1是外部信号捕获(频率测量或当外部中断使用)、高速脉冲输出及脉冲调制输出,是SPI同步串行接口的从机选择信号。P1.5ADC5/MOSI,ADC输入通道-5,MOSI是SPI同步串行接口的主出从入(主器件的输出和从器件的输入)。P1.6ADC6/MISO,ADC输入通道-6,MISO是SPI同步串行接口的主入从出(主器件的输入和从器件的输出)。P1.7ADC7/SCLK,ADC输入通道-7,SCLK是SPI同步串行接口的时钟信号。 P2口:内部有上拉电阻,既可作为输入/输出口,也可作为高8位地址总线使用(A8A15)。当P2口作为输入/输出口时,P2是一个8位准双向口。 P3口:8位、准双向I/O口,具有内部上拉电路,提供各种替代功能。P3.0RxD,串口1数据接收端。P3.1TxD,串行口1数据发送端。P3.2,外部中断0请求输入端,下降沿中断或低电平中断。P3.3,外部中断1请求输入端,下降沿中断或低电平中断。P3.4T0/CLKOUT0,T0是定时器/计数器0的外部输入,是定时器0下降沿中断,CLKOUT0是定时器/计数器0的时钟输出,可通过设置WAKE_CLKO1位/T0CLKO将该管脚配置为CLKOUT0。P3.5T1/CLKOUT1,T1是定时器/计数器1的外部输入,是定时器1下降沿中断,CLKOUT1是定时器/计数器1的时钟输出,可通过设置WAKE_CLKO1位/T1CLKO将该管脚配置为CLKOUT1。P3.6,低电平有效,输出,外部数据存储器写脉冲,P3.7,低电平有效,输出,外部数据存储器读脉冲。 RST:复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。 EA/VCC:片外程序存储器访问允许信号,低电平有效。高电平时选择片内程序存储器,低电平时程序存储器全部在片外而不管片内是否有程序存储器。 ALE/PROG:地址锁存允许信号,输出。ALE以1/6的振荡频率固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。 STC12C5A16AD单片机的内部结构框图如图2.10所示。其中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。它几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。 图2.10 STC12C5A16AD系统内部框图2.4.3 单片机系统电路由STC12C5A16AD组成的单片机系统原理图如图2.11所示。图中AOUT为MQ-3传感器模块输出的检测电压信号,送入ADC7端口进行处理,DOUT为传感器模块输出的数字电平信号,该信号可以根据乙醇气体浓度直接输出报警信号,报警阈值通过模块上的电位器进行调节。 图 2.11 单片机系统原理图 图2.11中,按键K2和K3为醉酒阈值调整键,其中K2为“增加”,K3为“减小”按键。L2和L3为报警指示灯,分别可以进行酒后和醉酒报警。2.5 晶振电路 单片机晶振是单片机内部电路产生单片机所需的时钟频率的部件,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。