车流量检测系统设计_第1页
车流量检测系统设计_第2页
车流量检测系统设计_第3页
车流量检测系统设计_第4页
车流量检测系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、车流量检测系统设计随着我国经济的快速发展交通安全的有效保障显得尤其重要,并且对交通管理的要求越来越高。与此同时各种各样的道路监控设备也应运而生。雷达监控系统视频监控系统地表传感系统激光检测系统等相继应用。由此计算机科学与现代通信等高新技术运用于交通监控管理与车辆控制以保障交通顺畅及行车安全。而实时获取交通车流量的车辆检测技术是是进行交通管理必不可少的一个步骤。随着我国城市车辆使用的增多道路状况同时也变得复杂如何对道路车流量进行实时监控对统计、预测道路交通状况十分重要并且同时这也是对道路车辆运行情况高效调度的一项十分的重要参考依据。而且当前对道路监测多使用视频方法有事还可能采用人工计数方法此方法

2、对每条公路在某个时间段车辆行驶情况不容易做到长时间、高效的统计。因此我们需要进行一种低成本、高准确率的智能识别装系统的设计由此促进对高速路口交通情况的检测水准。 本文设计了一种基于AT89C51单片机的车速检测系统。其主要原理是将红外传感器测得的电平信号传递到单片机中通过单片机判断处理、计数等功能实现车流量的检测。本系统传感电路采用的的是红外传感矩阵利用单片机实时对传感器的输出数据进行连续读取通过特定的算法处理数据然后送显示或者发出报警信号。本系统致力于为路口车流量的监控服务从而形成对路口行车的科学管理减少交通事故的发生。1、工作原理及总体方案选择1.1车流量监测系统的工作原理 红外线矩阵法是

3、一种利用红外传感器组成的红外线矩阵检测设备检测道路上机动车流量和车速的方法。它是利用红外线发射和接收方向较强的特点在车辆经过的路面上安装密度适当的几排红外线发射接收电路由此组成红外线矩阵红外线检测矩阵由两排嵌入路面内的接收器和安装在其上方几米处的发射器组成两排接收器之间的距离为0.5到2米每排接收器由若干间隔0.2到0.9米的接收管和接收电路组成。接收管在没有遮挡的情况下可以接收发射器发出的信号接收电路中产生低电平接收管在受到遮蔽的状况下下收不到发射器发出的信号接收电路中出现高电平信号。因此根据车辆驶入、通过、驶出检测区域以及车辆行驶方向并排行驶车辆的流量等情况引起的矩阵内部各测试点高低电平信

4、号的变化经过硬件电路设计和软件编程计算方法,最终统计计算出经过该测量区域内双向并排经过的多辆车的车流量测量。1.1.1系统总体模块设计 本系统是利用单片机并且采用模块化设计来设计车流量检测系统只要有车辆经过就会挡住两个发射和接收红外线传感器之间的传感信号这样就能根据车量的流动情况对车流量进行检测。当然对于正常的情况下还会有并行的车量经过本系统也做了设计。系统的总体模块图如下图1 单片机控制器 红外线传感器 滤波放大 LCD显示A/D转换 键盘电源电路报警器 图1 系统总体模块图本系统采用红外线传感器组成的矩阵作为采集信号对车流量进行检测红外线传感器采集到信号之后经电源电路和以及滤波放大电路之后

5、再传送到单片机进行处理单片机再将处理结果由LCD显示.系统会通过出现低电平的次数来统计车流量。1.2系统总体硬件方案选择1.2.1核心控制器 对于该系统控制部分无疑是整个系统的最核心部分其功能可以实现与上位机通信并且接收上位机发送的数据和控制指令经处理过后控制显示屏显示内容。我们这次选取51系列单片机作为控制部分的核心器件。 单片机是内部集成了CPU、ROM、RAM和I/ O口等的微型计算机。它本身具有很强的接口性能非常适合于应用在工业控制因此又叫微控制器(MCU)。单片机品种十分齐全型号多样 CPU从8、16、32到64位其中多采用RISC 技术片上I/O非常丰富有的单片机内部集成有A/ D

6、“看门狗”PWM显示驱动、波形发生器、键盘电路等。它们具有高低不等的价格因此极大地促进了开发者的选择应用自由。除此之外单片机还具有低电压和低功耗的特点。伴随着超大规模集成电路的快速发展单片机在便携式电子产品中已被广泛使用。 1.2.2电源电路 经过分析决定选取LM7805三端稳压器稳压器件作为系统供电电源。采用一块LM7805三端集成稳压器。把市电经变压器降压输入电路而后经过整流送到LM7805三端稳压器稳压输出作为工作电压。不仅功率上可以满足系统需要不需要更换电源并且比较轻便便利使用更加安全可靠。1.2.3 IO口扩展芯片 我决定选取74LS574作为列线驱动IO口扩展芯片。采用边沿触发 D

7、型触发器74LS574、74LS574是三态总线驱动输出器件可以缓冲控制输入置数并行存取并且有改善抗扰度的滞后作用。输出控制不影响触发器的内部工作既老数据可以保持甚至当输出被关闭新的数据依旧可以置入。时钟上升沿输入有效8块74LS574共用16个I/O口数据可以并行写入芯片延迟时间较少满足设计要求。1.2.4串口通讯芯片的选择 我决定选取MAX232作为串行通信芯片。采用单电源电平转换芯片MAX232这种器件电源与单片机供电相同外围电路简单、可靠使用十分广泛。采用RS-232接口与上位机通信方便后来设计的软件调试和程序烧录。 1.2.5显示器件 基于分析流量及其它数据显示部分采用1602液晶显

8、示。1602液晶也叫1602字符型液晶模块其是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成每个点阵字符位都可以显示一个字符每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用正因为如此所以它不能很好地显示图形。1602LCD是指显示的内容为16X2,即可以显示两行每行16个字符液晶模块显示字符和数字。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的控制原理也基本完全相同因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 1.2.6硬件电路绘图软件 Proteus 是英国Labcente公司开

9、发研制的电路分析与实物仿真软件。它运行于Windows操作系统上可以仿真、分析各种模拟器件和集成电路该软件具有如下特点: 1、可以单片机仿真与SPICE电路设计仿真结合。可以数字电路仿真、模拟电路仿真、单片机和其外围电路组成的电路系统的仿真、I2C测试器、RS232动态仿真、SPI检测器、键盘和LCD系统仿真的功能各种各样的虚拟仪器设备如逻辑分析仪、示波器、信号产生器等。 2、可以主流单片机的仿真。目前可以使用的单片机类型有ARM7、PIC10/12/16/18系列、AVR、80C51/51系列、HC11系列和多种外围接口芯片。 3、支持软件测试功能。硬件电路仿真系统中支持单步、全速、设置断点

10、等检测功能同时可以观察各个变量、寄存器等的当前状态因此在该软件仿真系统中也必须具有这些功能同时支持第三方的软件编译和测试环境如KeilC51 uVision2、WAVE伟福等软件。 4、具有强大的原理图绘制功能。 总之,该软件是一款集单片机和SPICE分析于一身的仿真软件功能极其强大。基于以上分析本次设计决定选取Proteus软件进行仿真。1.3系统总体软件方案选择 软件的设计除了满足设计功能外还必须要满足易读写方便下载和编译。设计目标和硬件总体结构确定的情况下可以把软件可以分为主程序显示子程序各种延时子程序按键扫描程序四个主要部分组成。软件的编写需要借助软件编辑器和编译软件编译完成后还需要程

11、序烧录器下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。1.3.1单片机编程语言 现在主要运用的单片机编程语言为汇编语言和C语言。C语言是一种结构化语言可产生压缩代码。与汇编相比C语言有如下特点。(1)C语言简洁、紧凑使用方便、灵活。(2)C语言具备高级语言和低级语言的特征。(3)C语言是结构化语言具有结构化的控制语句.(4)C语言具有各种各样的数据类型。(5)C语言具有强大的图形功能支持多种显示器和驱动器而且计算功能、逻辑判断功能也比较强大可实现决策目的。(6)C语言适用范围大

12、。(7)C语言生成目标代码质量高程序执行效率高。基于以上分析结果本次设计决定选取编程语言为C语言。1.3.2系统软件编译器keil介绍 keilKeil C51是美国Keil Software公司推出的51系列兼容各种单片机C语言软件开发环境与汇编语言相比C语言在可读性、结构性、功能上、可维护性上具有很大的优势因此很容易学习。Keil中包括C语言编译器、宏汇编、库管理、连接器和一个具有强大功能的仿真调试器等在内的一体开发方案通过一个集成环境将这些部分有机的组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程那么Keil几乎就是你的不二之选

13、即使不使用C语言而仅用汇编语言编程其方便易用的集成环境、强大的软件仿真调试工具会使我们的设计事倍功半。 2、系统硬件总体设计 2.1系统总体模块 系统的总功能模块设计如图所示整个装置可划分为三部分分别为采集部分信号调理部分和识别处理部分。在应用中由于本次设计的是没有返程的,所以在需要的路段可以将多个装置分别安装在各个路段两侧以采集到有效的数据再经过信号的调理、信号判断处理等过程最后将处理结果汇集到最近的上位机节点接着将各地方节点集总到中心工作站由此对数据进行分析、存储、统计从而达到道路车流量检测目的。为了解各路段车辆通行情况估测车流高峰以及堵车高峰制定出科学管理和措施提供重要依据。但本设计没涉

14、及到这一点。上位机判断处理部分信号调理部分采集部分 处理信号 结果信号 指令 指令图2系统总框图设计2.1.1信号采集部分和信号处理部分 信号采集部分主要采用矩阵理念应用红外线发射和接收管形成检测区域矩阵电路如果有车辆通过检测区就会遮挡部分发射与接收管由此引起电路中电平的相应变化。从而对通行车行驶状况的作出充分分析构建识别算法微处理器就能按照算法将车辆的行驶状况识别出来。本文将以实验模型说明设计思路。矩阵采集区由发射电路和对应在其下方的接收电路两部分组成发射部分采用两排红外线发射管每排分别8个组成。正对着每个发射管的接收管组成接收电路一样是两个测量层次和对应的每排八个单元的测量密度。在信号测量

15、应用中为提升辨别的准确性和匹配道路状况可以灵活的增加矩阵中的测量层次和采集点密度同时还需要根据具体环境对识别算法简要改变。 信号处理部分主要作用是将采样的信号进行放大、调整使微处理器能够处理然后根据处理单元的需要选通矩阵中的测量排。2.2系统总体电路图 信号判断处理部分也就是系统的重要部分它采用的是非曲直片AT89C51芯片作为单片机P1口来控制选通两片74HC244芯片中的一个即分别选通两个接收排中的一排将接收到的数据用的P2口接收通过仿真可检测算法在运行中的正确性。另外微处理器的P1口用于与外部进行通信如果检测到有信号的变化将识别结果发送到上位机。2.3电源供电系统设计 电路能够正常工作电

16、源是必不可少的。单片机属于数字电路中的器件所以这里需要选择+5V的直流电源。所以这先将220V交流市电经过电源变压器转换成交流低压然后经过桥式整流电路与滤波电容整流和滤波一个并不十分稳定的直流电压便会在固定式三端稳压器LM7805的输入端和地端两端形成。此直流电压在经过LM7805的稳压和电容的滤波作用便可在稳压电源的输出端产生一个稳定度好、精度高的直流输出电压。此稳压电源可作为TTL电路或者单片机应用电路的电源。三端稳压器是一种系列化、标准化的主流线性稳压电源集成电路。这种稳压器以其成本低、体积小、性能高、工作可靠性好、使用十分简捷方便等特点成为当前稳压电源中应用十分广泛的一种单片式集成稳压

17、器。在TTL器件电路广泛采用LM7805三端稳压器作为供电电源的控制器。 2.4系列单片机简介 单片机Microcontroller又称微处理器是在一块硅基片上集成了各种小器件的的微型处理器这些器件包括数据存储器RAM、中央处理器CPU、程序存储器ROM、定时器/计数器和I/O接口电路。单片机最小系统由时钟电路和复位电路组成。时钟电路用于产AT89C51单片机工作时必需的控制信号。单片机的内部电路正是在时钟信号的控制下严格地按照时序执行指令进行工作。复位电路是为单片机初始化操作准备的。只要单片机的复位引脚RST上的复位信号要持续两个机器周期24个时钟周期以上就可以使AT89C51单片机复位。单

18、片机最小系统电路图如图3所示。图3单片机最小系统电路图 2.5时钟电路设计 AT89C51单片机各功能部件的运行都以时钟信号为基准有条不紊、一拍一拍地工作。因此时钟频率直接影响单片机的处理速度时钟电路的质量也是直接影响单片机系统的稳定性。常用的时钟电路有两种方式一种是内部时钟方式另一种是外部时钟方式。本次采用外部时钟方式。AT89C51单片机芯片内部设有一个由反向放大器构成的振荡器XTAL1和XTAL2分别为振荡电路的的输入端和输出端时钟可有内部或外部生成在XTAL1和XTAL2引脚上外接定时元件内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。时钟频率fos

19、c采用12MHZC1、C2的电容值取30pF电容的大小起频率微测的作用。时钟电路如图4所示图4时钟电路图2.6复位电路设计 AT89C51单片机在启动运行时或者出现死机时需要复位使CPU以及其他功能部件处于一个确定的初始状态PC初始化为0000H。单片机从这个状态开始执行程序。除了进入系统的正常初始化之外当程序行出错(如程序“跑飞”)或操作错误使系统处于 “死锁”状态时也需要按复位键即RST脚为高电平使AT89C51摆脱“跑飞”“死锁”状态而重新启动程序。单片机有多种复位方式常用的复位操作有上电复位和手动按键电平复位方式。本设计采用手动按键电平复位方式电路搭建。上电复位是通过外部复位电路的电容

20、充电来实现的复位电路产生的复位信号高电平有效由RST通过一个施密特触发器与复位电路相连施密特触发器用来抑制噪声干扰在每一个机器周期的S5P2施密特触发器的输出电平由复位电路采样一次然后才能得到内部复位操作所需要的信号对AT89C51单片机进行复位。2.7通信系统硬件设计 两个计算机或一个计算机与终端之间的数据传输可以使用并行通讯和二串行通讯种方式。由于串行通讯方式有使用成本低、线路少的特点特别是在远程通讯时避免了多条线路特征的不一致而被广泛使用。RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s范围内的通

21、信。这个标准对串行通信接口的有关问题如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备因此它作为一种标准目前已在微机通信接口中广泛采用。AT89C51单片机具有全双工串行UART通道支持单片机进行数据的串行通信传输。除了单片机要与PC机制定通信协议确定发送速率外还需要解决的问题就是信号电平问题。RS-232C标准规定了PC机发送数据总线TXD和接收数据总线RXD采用EIA电平即传送数字“1”时传输线上的电平在3至15V之间传送数字“0”时传输线上的电平在3至15之间。但单片机串行口采用正逻辑TTL电平即数字“1”时为5V数字“0”时为-5V所以单片机

22、与计算机不能直接相连进行通信必须将RS-232C与TTL电平进行通过芯片转换。串口通信系统电平转换电路图如图5所示。在通用的电平转换芯片中MAX232系列的芯片以集成度高单5V电源工作只需外接5个小电容即可完成RS-232C与TTL电平之间的转换而成为单片机系统中的常用芯片。该电路用于测试程序以及系统软件的修改。本系统软件编写的程序可直接通过PC机的串行口再经过MAX232电平转换下载到单片机中从而去执行相应的功能。在该显示系统中MAX232为通信系统中最重要的硬件组成部分。图5串口通信系统下载电路图2.8红外线传感器 红外线传感器是使用红外线的物理特性来进行测量的传感器。红外线具有散射、吸收

23、、反射、干涉、折射等性质。任何物体只要它本身能够产生一定的温度高于绝对零度都会辐射红外线。红外线传感器测量时可以不与被测目标直接接触因此不会产生摩擦并且有灵敏度高响应快等优点。红外线传感器有转换电路、检测元件和光学系统组成。光学系统按结构不同可划分为反射式和透射式两类。检测元件按工作原理有热敏检测元件和光电检测元件两种。热敏元件是应用最多的热敏电阻。热敏电阻受到红外线辐射时温度会升高电阻也会发生微小的变化在经过转换模块变成电信号输出。光电检测元件中最流行的是光敏器件大多数情况下是由硒化铅、砷化锑、砷化铟、硫化铅、碲镉汞三元合金、锗及硅掺杂等材料制作而成。红外线传感器主要应用于无接触式温度测量无

24、损探伤和气体的成分分析。另外在空间技术、军事、医学和环境工程等领域也得到了大规模应用。例如使用红外线传感器从远距离测量人体表面的温度的热像图还能够发现温度异常部位及时对有疾病的患者进行诊断治疗采用人造地球卫星上的红外线传感器能够对地球云层进行实时监控能够实现大范围的天气预测正在运行的飞机上正在运行的发动机的过热情况等可以采用红外线传感器检测。红外线又被叫做红外光其实频带在700纳米以上的不可见光波长处于可见光与无线电电波之间具有折射、反射、吸收、干涉、散射等性质。复杂环境中的可见光不会影响红外线因此可在昼夜间进行检测。采用红外线原理制造的传感器又被称为红外传感器它是一种应用光电效应原理的的接近

25、觉传感器。红外线传感器在进行测量时不与被测目标直接接触因此不会产生摩擦同时有灵敏度好响应较快等特点。常用基于红外光电式的传感器选择靠近红外区即760至2500nm频率段常用的发光器件由880nm和930nm两个系列组成。红外线传感器由检测元件、光学元件和转换模块组成。光学元件按硬件构成不同可分为透射式和反射式两类。检测元件按工作方式可分为热敏检测元件和光电检测元件。光敏元件是光电检测常用的元件其元件构成一般为砷化钾(GaAS等半导体材料具有吸收光并能将之转换成电能当在不同距离测量时变化的光的强度将会导致电流的缓慢变化再把电流信号通过放大和相关处理就能够达到检测距离的目的。红外线通讯时将发射红外

26、线的发光二极管和接受红外线二极管组合在一起实现。本次设计所用红外传感器的工作原理图如图所示。如果有车量经过时单片机输出的电平信号为“1”如图3.9(a)所示没有车量经过装置时红外传感器的发射端发射出的信号到达了接收端单片机检测到的电平信号就为“1”单片机通过计数功能计算出现“1”的次数来统计车流量。反之如图6所示装置分别装有发射的接收两个红外传感器。当有车量经过时车量挡住了发射端发出的信号到接收端这样检测到的电平信号就是低电平单片机会根据检测到的“0”的次数通过单片机计数功能统计车流量。 接收端发射端 a接收端发射端 b图6红外线传感器工作示意图 红外传感器有三条引线分别是电源线、接地线、控制

27、线。其内部集成了高频的滤波器件主要用来滤除红外线合成信号中的载波信号(38KH)并且同时将接收到的信号送出。在红外线合成信号被红外接收模块接受在其输出信号端就可得到前发射器发出的数字代码再由中央控制器做出对应的处理。红外是经过发射端产生红外信号接收端主要接收障碍物反射回来的反映环境的信号来判断是否有障碍物。 3、系统软件方案设计3.1识别算法的设计过程 识别的效果直接由算法的设计决定甚至还能决定系统的成本。算法中最主要的问题是怎样判断有车辆驶入检测区间、推断车辆行驶方向、并行驶多辆车的判别、车的型号和及车流量的检测。采用单片机语言对本系统进行编程软件调试主要采用硬件检测、单排车辆判别测试、稳定

28、双排车辆判别测试和用外部通信技术的测试四个阶段分层设计、修改、优化算法和程序最后达到一个比较好的识别效果。 (1)在硬件检测中接收电路中所使用的电阻和三极管的型号主要采用程序检测是否科学这将对采集灵敏性和采集效果产生直接影响。 (2)完成硬件检测后经过单排车辆检测测试第一需要解决判断是否有车驶入检测区的标准此步骤最重要一点是检测两个接收点的距离w首先要确保最小的车型宽度能够挡住n个检测接收点同时并排行驶的车辆间最小间距也应该大于一个接收间距这样对检测是否一辆车通过还是多辆车在设计算法中提供了很大的可行性。能根据测试环境中接收点密度确定n的取值本检测模型中选择n为3。所以在判断一排的接收信号中挡

29、住了连续3个以上的接收点,即表明有车辆通过。编号一排接收点从r0至r7如果首次检测到ri到 rj接连被挡将j和i的差值送存变量i,如果i的值大于3即确定有车辆并且l*w即可以判断车辆宽度比对车宽标准可以确定车型。此外取出第j位以后的每一位如果7-j大于3则有可能有并行过车依照第一次的判断标准计算出是否有车辆并行通过以及车型号。 (3) 并排识别的作用是稳定的确定出车辆驶入的方向同时读取经过检测区车流量信息。这就要依据车辆顺序经过并排检测并排时产生的信号的依次变化和对车经过检测区域的分解时序建立模型设计判断车流量的方法。在这个过程新的干扰问题又会出现就是车辆依次经过两个测试点的过程中刚要通过每个

30、测试排时就会产生提取信息的变化造成最后判别的严重错误所以在这一环节中要加入防抖和抗干扰措施在一定时段内对每一排信号进行多次信息采取设置信息采取变量将多次采取的标准变量进行综合分配分配后结果在置信区域内则判断采样信息属实。然而太多采样就会影响系统的运行速度通过实验采用两次采样间隔时间1ms就可达到满意的效果。比如第一排假如第一次采取信息中识别的车辆标志变量为a1(是0表明无车是1表明有车)并行行车标志变量b1(为0表明无车为1表明有并行车)同样道理设第二次采取到的对应变量为a2和b2则第一排真实行车情况标志变量a和b。使用相似方式获取第二排的置信信息分析两排车辆行驶情况采用设计的判断车辆通过、驶

31、入、驶出和驶离状态模型使用算法就可以完成这一套动作以此判定车行驶方向以及车辆真正经过检测区完成一次计数的标准。综上各步骤程序和采取到的数据信息完成双向并排车流量的判别。 3.2系统设计流程图在实现车流量检测中最核心的部分主要采用单片机语言设计实现采取车流量信息的算法。怎样判断通车状态判定有无并行车辆通过怎样确定车辆已经驶入、经过、驶离和离开测试区的状态信息由此达到计数这些问题要有算法解决。软件设计最重要的部分要可划分为以下三个过称如图所示。依次对第一排车辆行驶状态进行有效采取、第二排通车情况有效采取、记过检测区域车流量采取对每一个过程全设计了一些对应的功能模块。拿第一步举例子有采取提取模块与防

32、抖抗干扰两个模块组成。此部分的工作流程如下第一进行首次采集由此判断是否有车辆经过检测区第二判断是否通过并排的车辆。因为在实验室的实验中使用的是每排8个感应传感器但所假设的车的宽度都在3个感应传感器的距离之上并且在这个模型中检测的两排驶过的车辆最多只有2辆所以只要在算法中进行一排接收点的最多两次信息采样。并且在现实使用中只要采用合适的修改算法结构并且增加对应的感应传感器的数量来实现多辆车的多排检测。因为当车辆驶入检测装置排的一刹那该排信息提取部分的引脚电位将发生剧烈变化可能得到不正确 结果所以要在采取中加入防抖措施即在首次提取信息后等待一定的时间然后开始第二次信息采取由此重复下去将多次采集的数据

33、比对分析。假如在置信区间范围内就表明是有效信息采取。数次信息提取的确能提升判断的准确率然而太多的信息采样可能会降低装置处理数据的速度。通过数据的分析通过两次信息等待1毫秒已经可以达到实际应用要求准确度同时也有相当快的处理速度。软件流程图如图7所示 开始第一排车辆状态提取第二排车辆状态提取通过测试区车流量提取单片机计数输出图7系统软件流程图状态变量a置1第一排第二次采集延时1ms第一排第一次采集 初始化 判断状态标志否 a1和a2是否同时非0 状态变量a置0 是 判断状态标志 否 b1和b2是否同时非0是状态变量b置1状态变量b置0上位机计数图8 系统设计软件流程图以系统信息采取模块为例如果首次

34、信息提取模块部分为第1模块流程图如上图8。其中将信息提取到的数据依次用状态变量a1首排首次采样到的车辆状态为0排车辆通过为0表明无并行车为1表明监测到有并行车表明。由此能够得到首排第二次采样到的结果。将结果赋予状态变量a2首排第二次信息采样到的车辆情况为0表明无车为1表明检测到车和b2首排第二次信息采样到的并排行车情况为0表明无并行车为1表明监测到并行车表明。根据两次采样后用第一排防抖采集模块处理判断出第一排准确的行车结果分别用状态标志变量a第一排测试到的车辆状态和b第一排测试到的并排过车状态表示。当a1和a2同时不为零时a=1否则a=0为0表示无车为1表明监测到有车在b1 和b2同时不为零时

35、b=1否则b=0为0表明没有并行车通过为1表明监测到并行车。使用同样方法对第二排信息接收点进行监测。综合第二排首次检测的结果即2a1、2b1的状态与第二排第二次监测的结果即2a2、2b2的状态使用第二排采样的抗干扰防抖部分推算出出第二排信号采样的准确结果依次使用状态标志变量2a第二排监测到的车辆状态和2b第二排监测到的并排通车状态表示。通过以上两排监测中所得到的中间环节的信息数据经过设计合适的算法同时可以及时判断车辆的宽度并且当考虑到车辆经过前后两排监测排时一定偏差可能随之产生所以还加入了中点校准模糊的算法基本消除车辆偏差的影响。其中最主要的部分是使用车辆在驶入、经过、驶出 和离开监测区时可能

36、会引发两个测量排所获得数据信息的不同变化使用第一步、第二步对各排状态位的结果分析经过算法的设计可以将车辆的行驶情况逐步提取出来,而且可以完成这一套四个动作由此确定车真正驶过监测区的标准由此作为计数依据同时还能实现对车驶进方向的判断。所以综合分析以上采样到的的各种数据信息最后可以实现双向的并排经过的多辆车的车流量监测。系统检测结果输到上位机之后又会再返回第一次采集时接着开始下一次的计数。4.3系统相关程序4.3.1主程序设计 系统软件采用C语言编写按照模块化的设计思路设计程序。首先分析程序所要实现的功能程序要实现液晶显示、蜂鸣器报警显示、车速计算车流量计算超标报警LED闪烁。通过按键控对部分数值

37、标准进行设定与模式切换。主程序的工作流程如图4.2所示。程序开始时首先必须对单片机进行初始化设置其中初始化设置的内容包括中断优先级的设定中断初始化定时器初始化串行通信时通信方式的选择和波特率的设定各IO口功能的设定等。把各子程序写为一个可单独执行的完整子程序段。各子程序编译没有错误后再下载到单片机进行仿真验证这两项都通过后再将所有的程序整合到一起形成一个完整的程序再进行编译和仿真验证。4.3.2 1602显示程序的设计 显示采用1602液晶显示显示内容包括通道1车速、通道1车流量、通道1计时时间、通道1车速标准,、通道2车速、通道2车流量、通道2计时时间、通道2车速标准。显示子程序有写数据、写

38、命令、测忙、延时、初始化等组成。显示程序流程如图所示。 4.3.3软件中防止程序出错ERR处理 CPU受到干扰后,则CPU就不能按正常状态执行程序往往将一些操作数当作指令码来执行造成程序执行混乱。这就是经常所说的程序“跑飞”现象。“跑飞”程序后使其回到正常的一个最普遍的方法是使CPU复位使程序从头开始重新运行。大多数单片机控制设备中都有设置的人工复位电路。人工复位大多数是在整个装置都已经完全瘫痪没有办法的情况下才不得已而为之的。所以在进行软件设计时就要考虑到万一程序“跑飞”怎么应让它能够自动恢复到正常状态下运行。使用“指令冗余”是使“跑飞”的程序回到正常的一种方法。所说的“指令冗余”是指在一些

39、比较重要的地方人为地插入几个单字节的空操作指令NOP。使程序“跑飞”到某一条单字节指令上时就不会出现将操作数当成指令来执行的错误。应该注意的是在一个程序中“指令冗余”不能使用过多否则会降低程序的执行效率。这时可以采用另一种软件抗干扰措施即设置“软件陷阱”。“软件陷阱”是一条引导指令将采样到的程序强行的引导到一个特定的地址有一段特定的处理错误的程序。如果这段处理错误的程序入口地址为ERR所以下面三条指令便可以组成一个“软件陷阱”NOP NOP LJMP ERR 开始子程序返回显示完成后选通列,送锁存器输出显示数据送P0程序初始化送下一列数据,选通信号左移 左移次数>8图9显示程序流程图“软件陷阱”一般安排在下列四种地方。L、未使用的中断向量区。51 单片机的中断向量区为0003H至002FH在剩余的中断向量区

温馨提示

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

评论

0/150

提交评论