基于MCS-51单片机的智能客车超载监控系统的设计_第1页
基于MCS-51单片机的智能客车超载监控系统的设计_第2页
基于MCS-51单片机的智能客车超载监控系统的设计_第3页
基于MCS-51单片机的智能客车超载监控系统的设计_第4页
基于MCS-51单片机的智能客车超载监控系统的设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE2基于单片机的客车超载监控系统的设计PAGEIV摘要本文设计了一个客车超载监控系统,以MCS-51单片机为核心,利用反射式红外传感器、方向识别电路、报警电路、锁定电路设计,能够通过键盘手动设置乘客人数的上限值,并用LED显示器显示车内的实时乘客人数。当客车内人数超载时,系统发出声光报警,并通过继电器切断客车的电子启动装置,从而将汽车锁定,使之无法行驶。当超载解除后,声光报警也相应的解除,客车锁定解除,可以正常运行。本设计共分两部分,硬件系统设计和软件系统设计。硬件部分利用红外传感器和方向识别电路将乘客的上、下车情况进行检测和判断并输入单片机系统。经过单片机系统将处理的数据送LED显示,声光报警电路由蜂鸣器和发光二极管组成,用继电器实现对客车启动装置的锁定。软件部分用汇编语言进行编程,采用模块化设计思想。该系统通过调试后,能够较好的完成客车超载的预警提示,并对超载情况进行相关控制。关键词:客车;超载;监控;单片机AbstractThispaperillustratesthedesignofacarriageoverloadmonitoringsysterm.MCS-51MCUascoreisusedtodesignhardwarecircuitandsoftware.Inthissubjectweuseinfraredsensors,identifycircuitandalarmcircuitlatchcircuittodesignacarriageoverloadmonitoringsystermthatenablesthekeyboardtomanuallysetlimitsonthenumberofpassengersandcanuseLEDatthesametimetodisplaythenumberofpassengersinside.Ifthepassengeroverloading,thesoundandlightalarmsystermcutsoffthebusthroughtheelectroniclaunchdevices.Bydoingthis,theoverloadmonitoringsystermcanlockthecar,sothatthecarcan’tbestarted.Whentheoverloadiscanceled,thesoundandlightwarningiscanceled.Thebusisalsounlockedandcanbeoperatednormally.Thedesignisdividedintotwoparts,hardwaresystermdesignandsoftwaresystermdesign.Thehardwaresystermspartusesinfratedsensorsandidentifycircuittodetectandjudgethesituationwhetherthepassengersaregettingonoroffthebus.ThissystermcandisplaythenumberofpassengersonLED.ThesoundandlightalarmcircuitiscomposedofbuzzerandLEDs,thelockfunctionofthebus’slaunchdevicesachievesbyusingtherelayunit.Assemblelanguageisusedinthesoftwaresystemandmodularizationdesignideaisadopted.Themonitorsystemcancompleteanalarmbeforehandforoverload,meanwhilethemutualitycontrolwillbeadopted.Keywords:carriage;overloading;monitoring;SCM(singlechipmicrocomputer)目录TOC\t"标题_谢辞及参考文献,1,标题_附录,1,第2级标题,2,第3级标题,3,第1级标题,1"第1章绪论 11.1立题的意义 11.2课题研究任务及目标 31.3课题主要内容 3第2章客车超载监控系统的方案论证 PAGEREF_Toc265005408\h42.1系统的原理 42.2系统的组成 4第3章客车超载监控系统的硬件设计 63.1客车超载监控系统的检测电路 63.1.1传感器的选择 63.1.2反射式红外传感器检测原理 73.1.3方向识别电路的设计 83.2单片机最小系统的设计 113.2.1单片机的选择 113.2.2单片机外围电路的设计 133.3显示电路的设计 153.4键盘电路的设计 173.5报警电路的设计 183.6客车锁定电路的设计 19第4章客车超载监控系统的软件设计 214.1客车超载监控系统的软件设计方案 214.2T0、T1中断计数程序的设计 PAGEREF_Toc265005425\h234.3按键子程序的设计 244.4报警与锁定子程序的设计 254.5显示子程序的设计 26第5章系统调试与分析 275.1系统的硬件调试 275.2系统的软件调试 285.3调试故障及原因分析 28结论 30社会经济效益分析 31致谢 32参考文献 33附录I客车超载监控系统硬件系统原理图 PAGEREF_Toc265005437\h34附录Ⅱ客车超载监控系统程序清单 35附录III客车超载监控系统硬件实物图 41附录IV客车超载监控系统元器件清单 42沈阳航空工业学院毕业设计(论文)-PAGEI-PAGE44第1章绪论1.1立题的意义随着生活水平的不断提高,人们外出打工、探亲、旅游的人数越来越多,尤其是节假日,而与此相关的公路客运(长途客车,旅游客车等)的运力却没有相应增加,致使超员现象频频出现。目前,它已成为一个严重影响交通运输环境和社会经济可持续发展的社会问题。客车超载对国家的公路设施和客运市场造成了不良的影响,也影响车辆本身和车辆的驾驶、控制,容易引发事故,我们都知道车辆超载运输并且长期处于超负荷状态,就会导致车辆的制动装置和操作系统等安全性能迅速下降,表现为轮胎变形爆胎,刹车失灵,转向器轻飘抖动,钢板弹簧折断,半轴断裂等等。而客车一旦发生事故,给国家和百姓带来重大的经济损失和感情伤害。目前,国家虽然出台了一系列的政策法规来制止客车超载,各地政府也制定了相关的制度来对客车超载进行管理,在一定程度上减少了客车超载现象,但在节假日等客流高峰期,超载现象还是屡禁不止。在采取行政监督管理的同时,通过科学技术的手段来消除客车超载的现象也有着极其重要的意义和实用性。单片机作为微型计算机的一个很重要的分支,是将CPU、存储器、总线、I/O接线口电路集成在一片超大规模集成电路芯片上。自问世以来,以其极高的性价比,受到人们的重视和关注,应用很广,发展也很快。因此它广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。(2)在工业控制中的应用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(4)在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话、集群移动通信、无线电对讲机等。(5)单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等。因此单片机的出现应用于监测系统后,智能化的监测系统的模型也就基本具备了。单片机以其兼容性强,软件、硬件应用设计资源资料丰富,以及极高的性能价格比受到人们的重视和关注。单片机以及外围芯片的不断发展促进了超载、超量监测系统的发展。以单片机为核心的智能监控系统以其体积小,抗干扰能力强,对环境的要求不高,价格低廉,可靠性高,开发较为容易,并可获得较高的经济效益等特点,很快占有了监控器领域的市场,所以其应用很广,发展很快。因此本课题正是基于此点,采用单片机为核心的智能监控系统可以对客车内乘客人数的统计,并通过LED显示器实时显示。当客车出现超载时,系统进行声光报警。同时通过继电器关闭客车的启动装置来阻止超载客车的运行。反之,当超载解除后,声光报警被解除,系统也相应解除对客车的锁定,客车可正常运行,从而达到了智能监控客车超载的要求,大大减少因超载而发生交通事故,使乘客的生命财产安全得到有效的保障。1.2课题研究任务及目标本课题主要任务是以MCS-51单片机为控制核心,能够自动检测车内乘客的人数并用LED即时显示,通过键盘设置超载人数的上限值,一旦客车超载时能进行声光报警,同时锁定客车的启动装置。它的硬件电路部分主要包括检测电路(红外传感器和方向识别电路)、键盘电路、显示电路、控制电路和报警电路五大部分。其中,主要研究内容为:红外检测技术、运动方向识别电路、LED数码管的显示、单片机控制系统等。该设计技术指标如下:(1)能够完成车厢内人数的显示,并用LED即时显示(2)超载人数的上限值可以通过键盘设置(默认人数为30)(3)客车一旦超载时将发出声光报警信号,并关闭汽车的启动装置。(4)光报警信号要实现1S闪烁功能,声音报警电路要产生1kHz音频信号驱动蜂鸣器完成。1.3课题主要内容本文主要介绍了客车超载监控系统的软硬件设计思想、各功能的实现方法、相应的电路原理、以及各元器件性能型号的选择,内容主要分为三部分:第一部分是硬件和软件的设计,包括硬件电路方案的设计、元器件的选择等,具体的硬件电路包括检测电路(传感器和方向识别电路),AT89C51单片机的最小系统电路、键盘输入电路、LED显示电路、声光报警电路、锁定电路等。软件设计采用模块化的思想,逐步完善设计功能,初步绘制出电路图和程序的流程图。第二部分是软、硬件仿真,程序采用汇编语言编写,通过Keil软件进行编译调试,硬件电路用protues软件绘制。程序调好后,利用Keil软件生成单片机能识别的后缀为“.hex”的机器码文件,然后把程序下载到protues电路图中的单片机芯片,运行程序和protues电路(即protues和Keil的联调)来实现设计要求的各功能。第三部分是在实验板上焊接硬件电路的各个模块,每一部分单独调试,在各个部分调试成功后,联调整个硬件电路,全部调通后用烧录器把程序烧到AT89C51单片机里,上电后一切运行正常,系统实现预期的目标。第2章客车超载监控系统的方案论证2.1系统的原理本课题所设计的客车超载监控系统主要是避免因人数超载而引发的交通事故,所以本系统应该具备对乘客上、下车动作的智能检测,通过单片机来处理传感器获取的信息,即自动统计客车内的具体人数,能用LED进行实时显示。当客车内的实际人数超过设置值的上限值时,系统将自动进行声光报警,同时客车的启动装置也被锁定,这样可以有效地阻止超载情况的发生。本系统中智能监控的方法显得尤为重要。其中,智能监控包括两部分:第一是检测模块部分。通过E3F-DS30C4反射式红外传感器和双D触发器对乘客的上、下车动作进行检测和判断。第二是数据统计部分。由单片机对接收的脉冲信号进行相应的加减计数,即完成统计乘客人数的功能。只有对车内人数准确的监控,才能判断出是否超载,来避免交通事故的发生,从而达到防患于未然的现实意义。2.2系统的组成系统结构框图如图2.1所示。主要包括:检测电路(红外传感器和方向识别电路)、键盘电路、单片机系统、LED显示电路、继电器控制电路、报警电路六部分。红外传感器(1)红外传感器(2)红外传感器(1)红外传感器(2)双D触发器组成的互锁电路单片机数码管显示电路继电器控制电路声光报警电路键盘输入 图2.1系统的总体设计框图系统各部分的基本功能简介如下:(1)反射式红外传感器该传感器是一种集发射器和接收器于一体的传感器,当探测器前方有障碍物时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当探测器前方没有障碍物时,探测器输出端输出高电平,当检测到障碍物时,探测器输出端输出低电平。因此,当有乘客经过车门完成一个上车或者下车的动作时就会产生脉冲信号,这样就完成了对乘客上、下车动作的检测,实现了将动作信号转换成电信号的功能。(2)方向识别电路方向识别电路是由双D触发器组成的双稳态电路,它可以通过自身的逻辑电路,来实现辨向的功能。方向识别电路与单片机的T0、T1口相连,当乘客上车时会产生一个相应的负脉冲信号,把其接入T0端作为乘客上车动作信号的输入端,从而实现辨别乘客运动方向的功能。同理,当乘客下车时也会产生一个相应的负脉冲信号,把其接入T1端,即T1端作为乘客下车动作信号的输入端。(3)单片机系统单片机是本系统的核心元件,它实现了对传感器所采集的信号的判断和处理,控制硬件部分的键盘电路、显示电路、报警电路从而完成客车超载的智能监控。(4)键盘键盘采用4个独立式的按键来手动设置客车乘客人数的上限值。(5)LED显示电路该电路用两位共阴极LED数码管来即时显示,其系统开始时显示预置上限人数,当系统进入监控阶段则显示客车内乘客的实际人数。(6)继电器在该系统中用继电器来模拟客车的启动装置。若继电器断开,则代表客车已被锁定无法开启;若继电器闭合则代表客车恢复正常的启动,可以运行。(7)报警电路报警电路由蜂鸣器和发光二极管组成,当接收到单片机的命令时进行相应的声光报警和解除报警。第3章客车超载监控系统的硬件设计系统的硬件设计是该系统设计成功与否的基础。按照系统设计的总体方案,本设计采用模块化的设计思想。硬件设计主要完成:检测电路、单片机最小系统电路、LED显示电路、继电器控制电路、声光报警电路、键盘输入电路。3.1客车超载监控系统的检测电路3.1.1传感器的选择在本系统中传感器的主要作用是完成上、下车乘客动作信号的检测,因而在对传感器选择时应尽量考虑实际需求。其中包括适当的检测范围、灵敏度、调理电路简单、高性价比等。常用的传感器有反射式红外传感器、超声波式传感器、视觉传感器、激光雷达和MMW雷达等。几种传感器的优缺点进行比较如表3.1所示。表3.1传感器性能比较传感器类型优

点缺

点超声波价格合理,夜间不受影响测量范围小,对天气变化敏感红外线能直接测量,价格便宜探测距离较近视觉易于多目标测量和分类,分辨率好算法复杂,处理速度慢激光雷达价格相合理,夜间不受影响对水、灰尘、灯光敏感MMW雷达不受灯光、天气影响价格贵其中超声波传感器的基本原理是超声波的直线传输特性。传感器有一个超声波发射端,上电后发射超声波,另有一个超声波接收端,如果前方有障碍物,超声波反射回来被接收端接收,并在输出端输出一个相应的电平信号。该方法被广泛应用于移动机器人的研究上。其优点是价格合理,易于使用,且在10m以内能给出精确的测量。但是超声波传感器的工作原理基于声,即使可以使之测达100m远,但可能在传输中受到其它信号的干扰,所以不能用于本系统。视觉传感器在CW系统中使用得非常广泛。其优点是尺寸小,价格合理,在一定的宽度和视觉域内可以测量定多个目标,并且可以利用测量的图像根据外形和大小对目标进行分类。但是算法复杂,处理速度慢。雷达传感器在军事和航空领域已经使用了几十年。主要优点是可以鲁棒地探测到障碍而不受天气或灯光条件限制。近十年来随着尺寸及价格的降低,在汽车行业开始被使用,但是仍存在性价比的问题。本设计采用的是一种集发射与接收于一体的光电传感器。检测距离可以根据要求进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等众多场合。如图3.1所示。图3.1红外传感器该漫反射型光电开关检可以检测前方3-80cm(可以调节);工作电压为5V直流电压。工作电流小于10mA;输出驱动电流为100mA;使用温度范围为-40~70;这是一种应用最为广泛的光电开关,它的直径为17mm,固定时只要在设备外壳上打一个17mm的园孔就能轻松固定,长度约45mm,引线长度为45mm。3.1.2反射式红外传感器检测原理漫反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时,漫反射式的光电开关是首选的检测模式。漫反射式光电开关工作示意图如图3.2所示。E3F-DS30C4发射E3F-DS30C4发射返回漫反射光电开关被检测物体图3.2漫反射式光电开关工作示意图测量电路也是传感器组成的一部分。由于传感器由敏感元件和转化元件组成,但转化元件输出的电量常常难以直接进行显示、记录、处理和控制。这时就需要将其进一步变化成可直接利用的电信号,而传感器中完成这一功能的部分称为测量电路。随着集成电路技术的发展,传感器的测量电路也逐渐开始集成芯片化。一般需要辅助电源供电。测量电路的选择视转化元件的类型而定,常采用的有电桥电路、脉宽调制电路、振荡电路、高输入阻抗电路。红外传感器采用E3F-DS30C4型光电开关,该传感器为漫反射式光电开关,漫反射式光电开关发出的光线需要经检测物表面才能反射回漫反射开关的接受器,所以检测距离和被检测物体的表面反射率将决定接受器接收到光线的强度。粗糙的表面反射回的光线强度必将小于光滑表面反射回的强度,而且被检测物体的表面必须垂直于光电开关的发射光线。当无检测物体时,常开型的光电开关所接通的负载由于光电开关内部的输出晶体管的截止而不工作,当检测到物体时晶体管导通,负载得电工作。该传感器探测距离为3-80cm,根据实际需要把车门两个传感器的探测距离调整为40cm。3.1.3方向识别电路的设计在该系统的设计中,传感器单元的功能是检测乘客经过车门的动作信号,但是对乘客的具体上、下车的动作不能作出判断,因而采用方向识别电路对传感器的输出信号进行区分、判断就成为了一个必要的环节。在本课题的设计中,反射式红外传感器安装在客车车门附近,其具体安置方法如图3.3所示。上车方向上车方向车门传感器1传感器2下车方向车厢内车厢外图3.3检测传感器安放图R1/Q1CLK1Q1D1S1D2R1/Q1CLK1Q1D1S1D2S2Q2CLK2/Q2R2传感器1传感器2INT1INT074F0474F0474F0474F04+5V图3.4辨别方向电路图如图3.4所示,将双D触发器的复位端分别与74F04相连。由于双D触发器的置位端为低电平有效,将置位端接+5V电压,从而对置位信号进行屏蔽。将D触发器的端与端连接起来,这样D触发器的特征方程为。当时钟信号CLK=0时,D触发器的端和端保持逻辑状态不变;当CLK=1时,即D触发器时钟信号的上升沿到达时,端和端的状态要进行翻转,转变成相反的逻辑状态。其特性表如表3.2所示。表3.2边沿触发器特性表CRSD×01×0×10×1↓01×↑1100↑1111当没有乘客经过车门时,传感器1、2均输出为高电平,经74F04反相处理后,输出为低电平。触发器的复位端和置位端为低电平有效,在本设计中对触发器的置位端接入+5V进行屏蔽。在没有乘客上车时,两个D触发器的时钟信号CLK1、CLK2均等于0,=0,=0,D1=0,D2=0。如图3.3所示,当有乘客上车时,乘客先经过1号传感器,此时传感器1输出信号为低电平,经第一个74F04后变为高电平,CLK1=0,CLK2=1;D1=0,D2=1;=0,=1,即的状态发生翻转。当乘客离开1号传感器时,由于此时CLK1=0,D1=0,R1=1,D1触发器的和端状态将会保持不变,CLK2=0,R2=1,=1也保持为高电平状态。当乘客进入2号传感器的检测范围时,传感器2输出信号为低电平,这样CLK1=1,CLK2=0;D1=1,D2=1;R1=1,R2=0;和逻辑状态要进行翻转=0,的状态仍保持不变。在上车这一过程中,只有和状态发生了变化,从低电平变为高电平再变为低电平。这样就产生了一个可由单片机T0端识别的脉冲信号。根据本电路的设计,T0端为乘客上车动作信号的输入端,从而实现了辨别乘客运动方向的功能。同理,当乘客下车时也会产生一个相应的脉冲信号接入T1端,在本设计中T1端是乘客下车动作信号的输入端。3.2单片机最小系统的设计3.2.1单片机的选择单片机模块主要用来实现对上、下车人数的加、减计数。单片机模块在设计中,考虑到系统中的程序量和数据量较少,需要I/O口资源也相对较少,AT2MEL公司的AT89C51芯片的资源就能很好的满足系统的需求,所以在系统设计中采用了MCS-51系列单片机AT89C51芯片的最小系统来实现。我们选用ATMEL公司89系类的标准型单片机AT89C51,AT89C51是一种低功耗、高性能的8位单片机,片内带有一个4K字节的FLASH可编程可擦除只读存储器(EPROM),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与MCS-51兼容。另外,AT89C51还具有MCS-51系类单片机的所有优点。128*8位内部RAM,32位双向输入输出线,两个十六位定时/计时器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。片内的FLASH存储器允许在系统内改编程序或用常规的非易失性存储器来编程。因此AT89C51是一种功能强、灵活性高且价格合理的单片机,它可方便地应用在各个领域。89C51引脚图如图3.5所示。AT89C51AT89C51图3.589C51芯片引脚图下面介绍89C51的主要引脚功能如下:(1)VCC(40):电源+5V;(2)VSS(20):接地;(3)P0口(32-39):双向I/O口,既可作低8位地址和8位数据总线使用,也可作普通I/O口;(4)P3口(10-17):多用途端口,既可作普通I/O口,也可按每位定义的第二功能操作;(5)P2口(21-28):既可作高8位地址总线,也可作普通I/O口;(6)P1口(1-8):准双向通用I/O口;(7)PSEN:内外程序存储器选择线;(8)XTAL1(19)和XTAL2(18):外接石英晶体振荡器;(9)RST(9):复位信号输入端,高电平有效;(10)ALE/PROG(30):地址锁存允许信号;(11)(31):内、外程序存储器控制端;由于本系统需要用到单片机内部的计数器,所以在这里有必要介绍定时/计数器的工作原理,定时/计数器的结构图如图3.6所示。图3.6定时/计数器的结构原理图从定时/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。当定时/计数器用作计数器时,计数脉冲来自相应的外部输入引脚T0或T1。当输入信号产生由1到0的负跳变时,计数器的值加1。每个机器周期的S5P2期间,对外部输入引脚进行采样。如在第一个机器周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的再下一个周期S3P1的期间,计数器加1。由于确认一次负跳变要花两个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。本课题选用11.0592MHz频率的晶体,允许输入的脉冲频率为500MHz。由于本课题所利用的是计数器T0、T1,并且是工作在工作方式2。所以以下重点介绍工作方式2的特点。工作方式2是自动恢复初值的8位计数器,可以将计数器的计数初值设为0FFFFH,当计数器加1产生溢出中断后执行中断子程序,TLX作为常数缓冲器,当TLX计数溢出时,在置“1”溢出标志TFX的同时,还自动地将THX中的初值送至TLX,以便TLX从初值重新开始计数。这种工作方式可以省去用户软件中重装初值的程序,所以,工作方式2是一种不需重装初值的计数器,这就给软件系统中T0、T1中断子程序中反复利用计数溢出产生中断带来了方便。3.2.2单片机外围电路的设计由单片机硬件设计原理可知:第一,尽可能采用功能强的芯片,以简化电路;第二,留有余地。在设计硬件电路时,要考虑到将来修改、扩展的方便。(1)晶振电路89C51单片机的时钟可以两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另一种方式为外部方式。本系统采用内部时钟电路。单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。图3.7是89C51片内振荡器电路。89C51虽然有内部振荡电路,但要形成时钟,必须外接元件,图3.8是内部时钟方式的电路。外接晶体(在频率稳定性不高,而尽可能要求廉价时,可选用陶瓷谐振器)以及电容CX1和CX2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,外接陶瓷谐振器时,CX1和CX2的典型值约为47pF。晶体可在1.2MHz~12MHz之间任选,电容CX1和CX2的典型值在20pF~100pF之间选择,在本课题中CX1和CX2选择值为30pF。晶体的振荡频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。在本课题中晶振采用11.0592MHz。图3.789C51片内振荡器电路图图3.8内部时钟方式电路图(2)复位电路89C51的复位输入引脚RST(即RESET)为89C51提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在89C51的时钟电路工作后,只要在RST引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要RST保持高电平,则89C51循环复位。只有当RST由高电平变成低电平以后,89C51才从0000H地址开始执行程序。复位电路如图3.9所示。GNDGND89C51RSTCR1R2VCC图3.9单片机复位电路图当89C51的RST引脚为高电平时,单片机复位。本系统采用的复位电路如图3.9所示,其复位可分为两种方式,即上电复位和手动按键复位。在接通电源时,系统的复位为上电复位方式,复位电路是电容C和电阻组成的微分电路,此时电容C相当于被瞬间短路,RST端输入为高电平,持续时间取决于电容的充电时间,而微分电路的时间常数τ=C,选择=1K,C=22μF可以满足RST引脚持续出现两个机器周期的正脉冲的需要。当按键按下时,复位电路工作在按键复位方式,RST端电压为:(3.1)由于手动按键复位的按键时间,其电平一般都能使脉冲宽度维持10ms以上,所以对单片机的RST端能持续提供高电平以确保单片机可靠的复位。本课题中为单片机提供的复位高电平约为+4.5V,经设计=200,=1K,C=22μF。单片机复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。3.3显示电路的设计显示电路主要由7407集电极开路六正相高压驱动器和两位共阴极LED构成,其中7407主要增加驱动LED的能力,两位LED采用ARK—SR420561K型连体共阴极数码管。本设计以P0作为码段输出口,P2口的前两位作为位选口,以动态方式实时显示数据。LED即发光二极管,它是由某些特殊的半导体材料制作成的PN结,由于参杂浓度很高,当正向偏置时,会产生大量的电子—空穴,把多余的能释放变为光能。LED显示器具有工作电压低、体积小、寿命长(约十万小时)、响应速度快,颜色丰富等特点,是智能仪器最常用的显示器。LED的正向工作压降一般在1.2V-2.6V,发光工作电流在5mA-20mA,发光强度基本上与正向电流成正比,故电路须串联适当的限流电阻。LED显示器的发光管分别为a、b、c、d、e、f、g、dp,通过八个发光段的不同组合,可以显示0—9和A—F等16个字母数字,从而可以实现十六进制整数和小数的显示。控制不同组合的二极管导通,就能显示出各种字符。LED显示器有共阳极和共阴极两种。LED显示器有单个、七段、八段和点阵式等几种类型,本次设计采用八段式共阴极LED,它的结构和外型图如图3.10所示。图3.10结构外形图共阴极LED显示器的发光二极管的阴极连接在一起,通常叫做共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。通常将控制发光二极管发光的8位字节数据编码称为LED显示的段选码,要构成多位LED显示时,除需要段选线外,还需要位选线,以确定段选码对应的显示位,位选线控制第几个LED显示,段选线则控制显示字符。本课题所设计的显示部分电路图如图3.11所示。P1.0VCCP1.0VCCP1.1P0.0P1.2P.0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6P0.7RST/EAALEP3.0/PSENP3.1P2.7P3.2P2.6P3.3P2.5P3.4P2.4P3.5P2.3P3.6P2.2P3.7P2.1XTAL2P2.0XTAL1VSS5VP2.1P2.0AT89C51abcdefgdp74077407图3.11LED显示部分电路图在多位LED显示时,为了简化电路,节省I/O口,降低成本,动态显示方案具备一定的实用性,也是目前单片机数码管显示较为常用的一种显示方法。本设计采用一个两位LED动态显示,在位选线和段选线的共同作用下,可以使各个显示器显示各自的字符,当然这些字符不是同时显示的,但由于人眼存在视觉暂留,加上发光二极管的余辉效应,由于扫描的速度足够快,每位显示的间隔时间足够短,就可以给人同时显示的感觉,而不会有闪烁感,犹如同时显示一样。通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个LED,逐步完成两个LED的显示。3.4键盘电路的设计键盘也是微型机算机系统中最常用的人机对话输入设备。在单片机应用系统中,为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘。常用的键盘接口分为独立式按键接口和矩阵式键盘接口。矩阵式键盘适用按键比较多的场合,它由行线和列线组成,按键位于行、列的交叉点上,它的特点是比较节省I/O端口;独立式按键就是各按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线上的电平状态可以很容易判断哪个键被按下了。键盘也有工作方式之分:分别为程序扫描方式、定时扫描方式和中断扫描方式。本设计键盘电路如3.12所示:5V5V10KAT89C51P1.3P1.4P1.5人数加S1人数减确定人数S2S310K10K图3.12键盘电路原理图在本系统程序设计时,从按键被识别按下之后,通过延时避开干扰信号,由于系统要求按键每按下一次,命令被执行一次,直到下一次再按下的时候,再执行一次命令,从而按键被识别出来之后,我们就可以执行这次的命令,所以要有一个等待按键释放的过程,而这个释放的过程,就是使其恢复为高电平的状态。对于按键识别的指令,本设计选择指令JB来检测按键是否为高电平,若为高电平,则按键抬起,否则继续执行程序。采用指令JNB来检测按键是否为低电平,若为低电平,则执行相应程序。考虑到客车的实际要求,客车的实际装载乘客的人数默认值设置为30人。所以本设计采用比较简单的独立式按键接口电路,用两个按键设置上限值,一个为人数加设置,一个为人数减设置,按键线路如图所示。无键按下时,P1.3为高电平,有键按下时变为低电平,设置值加1,同理P1.4口作为减操作,P1.5为高电平,有键按下时变为低电平,确定设置人数。3.5报警电路的设计当客车内乘客人数超过预置数值时,超载监测系统将会发出声光报警。本课题采用蜂鸣器作为声报警的发生元件,采用红色发光二极管作为光报警的发生元件。其具体的电路图如图3.13所示。SPEAKERSPEAKERA1Y1A2Y27406RP1.0P1.1+5V图3.13蜂鸣器报警电路当超载现象发生时,由单片机向P1.0、P1.1口发出高电平指令,经六向反相器7406后,驱动蜂鸣器、发光二极管工作,调用延时子程序使蜂鸣器发出1KHZ的音频信号,发光二极管实现一秒闪烁功能。当P1.0、P1.1口为低电平时,蜂鸣器不工作发光二极管不发光,即声光报警取消。3.6客车锁定电路的设计当客车超载时,为了阻止客车超载行驶,常常采用切断客车发动机的电子点火装置的方法。本课题中采用继电器元件,通过继电器的内部开关在常闭触点和常开触点之间的切换来实现这一功能。继电器电路图如图3.14所示。P2.6P2.6+5V4.7K图3.14继电器电路图本系统所采用的继电器为五脚,工作电压为+5V直流电压,将单片机89C51的P2.6口接继电器的控制端,继电器常开触点的输出端接红色发光二极管。发光二极管是用来识别继电器是否动作的光指示信号,当继电器内部开关吸合至常闭触点时红色二极管不发光,表示客车的启动装置可以正常运行;当客车超载时由单片机控制继电器动作,使内部开关置于常开触点,此时红色发光二极管亮,红色发光二极管点亮表示客车已被锁定无法正常运行。第4章客车超载监控系统的软件设计研制一台智能仪器是一个复杂的过程,这一过程包括分析仪表的功能要求和拟定总体设计方案,确定硬件结构和软件算法,研制逻辑电路和编制程序,以及仪表的调试和性能的测试等等。软件的设计应遵循模块化设计原则,在总体概况设计的基础上进行具体的子程序设计,功能分解,模块划分,细化软件层次,优化软件结构,以达到模块功能的独立性,执行的高效性。总之,设计的程序应该达到可读性,可理解性,可维护性,有效性。4.1客车超载监控系统的软件设计方案在单片机系统程序的设计开发中,单片机是整个系统的核心部分,各个部分模块化的程序就是整个系统的组成成份。软件编写的好坏,语句运用的是否简洁直接关系单片机的工作效率。在各个模块化的程序中尽量用最少的语句做最多的事情,不让语句出现歧义,这样就可以使整个程序可以在系统中更好的运行,使单片机工作效率大大的提高。下面就对本次毕业设计的软件部分作些介绍,如图4.1所示为软件总体流程图。首先是对系统的初始化,包括通过键盘手动设置乘客上限值,各个寄存器、计数器的工作方式等。子程序包括:T0、T1计数中断程序的设计、按键处理子程序、报警子程序,显示子程序。下面就其主要部分进行分析。(1)T0、T1计数中断程序是将传感器产生的脉冲信号接入计数器的T0、T1口,首先把计数的初始值设为0FFFFH,然后计数器开始计数,当T0、T1口有高低电平变化时,计数器就产生溢出中断。(2)按键处理子程序用来实现手动设置上限值。(3)显示子程序是将数据处理的结果送显示器实时显示。(4)报警子程序是将统计脉冲信号的数目与所设预置数进行比较,若大于预置数则进行报警,若小于或等于预置数则解除报警。本系统软件总体流程图如图4.1所示。T0产生溢出中断?T0产生溢出中断?计数器人数加1T1产生溢出中断?计数器人数减1调用显示子程序是否大于超载人数?声光报警启动继电器锁定装置YNYNYN初始化键盘设置超载人数开始解除报警解除报警解除继电器锁定图4.1系统软件总流程图程序的初始化是对AT89C51的初始化,包括对中断计数器工作方式和计数初值的初始化,对堆栈的初始化,以及对暂存地址的分配等。在初始化结束以后,程序进入循环等待中断的环节。当发生中断时,单片机转入中断子程序进行相应的数据处理,同时还对显示子程序和报警子程序进行了调用,完成实时显示和实时监控的功能。当统计数值大于预置数值时,程序执行报警和锁定指令;当统计数值小于或等于预置数值,程序解除报警、锁定指令。4.2T0、T1中断计数程序的设计T0、T1中断程序的流程图如图4.2所示。EA=0EA=0累加器A、寄存器内容入栈开中断中断处理R1+1或R1-1现场恢复开始中断返回图4.2中断程序流程图本设计采用T0、T1计数器对外部脉冲进行计数。T1、T0均设为计数器工作模式,工作方式为方式2,即8位的常数自动重新装载的计数器。其计数初值均设为0FFFFH,当单片机外部输入一个脉冲信号时,计数器计数溢出产生溢出中断,计数器T0、T1的溢出中断标志位TF0、TF1作为外部中断请求的标志位被置1,CPU经查询后便暂时终止当前的工作,转去执行中断服务程序。所不同的是:T0计数器用做统计上车的人数,所以T0每中断一次数据寄存器内容加1;T1计数器累计的是下车的人数,所以T1每中断一次数据寄存器内容减1。在每次溢出中断子程序中都调用了显示子程序和报警子程序,这样就实现了实时显示和实时监控。进入中断子程序后,硬件会自动把断点地址(16位程序计数器PC的值)压入堆栈,保护有关工作寄存器、累加器、标志位等信息,在完成中断服务程序后,恢复有关的工作寄存器、累加器、标志位内容,最后执行中断返回指令,从堆栈中自动弹出断点地址到PC,继续执行被中断的程序。4.3按键子程序的设计开始按键电路在本设计采用独立式接口电路,由于所用按键不多,不会占用大量I/O口线,所以采用设计和结构简单的独立式按键。考虑到客车的实际要求,客车的实际装载乘客的人数应小于100,所以只用键盘设置上限值。为了确保CPU对一次按开始按键DEC_SET=0?返回N超载人数减1超载人数加1按键ADD_SET=0?有键闭合吗?延时10ms有键闭合吗?YNYNYYN按键DEC_SET=0?返回N超载人数减1超载人数加1按键ADD_SET=0?有键闭合吗?延时10ms有键闭合吗?YNYNYYN图4.3按键子程序流程图键动作只确认一次按键,必须消除抖动的影响,本设计采用软件延时的方法来消除按键的抖动。按键子程序流程图见图4.3所示。4.4报警与锁定子程序的设计报警与锁定子程序流程图如图4.4。该模块的主要功能是实现客车是否超载的判断,若检测值大于设置的上限值时,则进行报警,通过软件程序控制继电器动作,切断客车的电子启动装置。报警时的现象为:红色发光二极管进行闪烁,蜂鸣器发出蜂鸣声,由继电器控制的红色指示灯亮起。若检测值等于或低于所设阈值则解除报警,现象为:声光报警消失,由继电器控制的红色指示灯熄灭。其中P2.6为继电器控制端口,P1.0为红色二极管报警控制端口,P1.1为蜂鸣器报警控制端口。P1.0=1,P1.1=1P1.0=1,P1.1=1P2.6=1返回YNP1.0=0,P1.1=0,P2.6=0调用延时子程序开始车内人数值大于超载人数?车内人数值大于超载人数?图4.4报警与锁定子程序流程图报警与锁定子程序是一个实时比较程序,实现对超值报警与锁定的控制。将数据处理后的实时检测值与预置上限值进行比较,报警子程序用SUBB语句进行判断,即预置值减测量值,若后者大于前者则进行报警,否则消除报警。在主程序的执行过程中,每次显示乘客人数值时都对报警子程序进行了调用,从而完成了实时监控的要求。4.5显示子程序的设计显示子程序流程图如图4.5所示。返回返回个位、十位分离存入30HBCD转换01H送P2口取个位段码送P0口延时02H送P2口取十位段码送P0口延时开始图4.5显示子程序流程图数据处理完后,显示子程序开始工作,由于LED显示为段码的显示,所以处理后的十进制数要首先将个位十位分离再将数据存入显缓单元30H,然后位选数据送P2口,取个位段码送P0口,调用延时子程序。再将位选数据送P2口,取十位段码送P0口,再调用延时子程序。在发生中断和等待中断时,都对显示子程序进行了调用,完成了实时显示的要求。两位位选码由P2.0-P2.1控制。第5章系统调试与分析调试与分析的过程一般包括所有硬件电路的调试、程序的调试及它们的联合调试过程。一旦系统的工作总框图确定之后,电路原理图和程序的设计工作就可以迅速展开了。系统的硬件、软件的单独调试和软、硬联调是系统最后的步骤是系统特别重要的环节,因为设计和开发出的系统是否成功,功能是否完善只有在这里才能体现出来。所以为了保证设计系统能够正常工作,必须对软件和硬件部分的每一个部分进行调试和分析。本章详细的介绍了基于单片机的客车超载监控系统的硬件调试、软件调试和软、硬联调的过程,并对调试结果进行了介绍和分析。5.1系统的硬件调试本课题的硬件电路是系统的核心部分。它包括单片机的外围电路、传感器电路、方向识别电路、显示电路、报警电路和继电器锁定电路等,下面主要介绍单片机最小系统电路、方向识别电路在本次设计调试的方法与过程。(1)单片机小系统的调试:按照设计好的电路图焊接好单片机的小系统,主要包括晶振电路、复位电路。上电后用万用表测量各个端口的电压情况,查看18、19晶振引脚的电压是否在2.0V左右,用示波器检测ALE口是否有固定的方波信号输出。当复位键按下时,查看RST9引脚是否能达到3.5V以上的高电平,一切都正常后,编制一段延时亮灭的小程序,然后烧到单片机中,再重新验证一下最小系统是否全部正常工作。(2)方向识别电路的调试:按照设计好的方向识别电路图,把74LS04反相器和74LS74双D触发器安插在面包上,用两个按键一端接地,另外两端代替传感器产生对应的脉冲信号,连接在方向识别电路的输入端。然后用万用表测试触发器Q1、Q2端的电平情况,调整相应的电路设计,直到实现辨向功能。此外,在硬件的焊接过程中,需要十分的仔细和认真,尽量避免虚焊、漏焊现象,并且在焊接管脚时,应把芯片取下来,再进行焊接,防止因芯片过热而烧坏。每焊接完一根导线,都使用万用表进行检查,查看是否构成通路。对焊点较近的点位也用万用表进行检测,查看焊点是否焊接在一起,以免出现混连的现象。这样逐一检查,容易发现问题排查故障,很有针对性。更重要的一点就是硬件系统必须要一部分一部分的焊接,即

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论