基于单机片的客车超载警报系统的设计与实现

时间:2020-09-01 20:09:09 浏览量:

基于单机片的客车超载警报系统的设计与实现 摘 要 在本文中设计了一种应用于客车中超载报警系统,本系统以单片机为核心,同时摆包含反射式红外传感器、HX711重量检测芯片、报警电路、锁定电路以及键盘模块等等,司机在开车之前可手动设置人数上限以及车辆的最大重量,通过传感器模块可将当前车辆人数以及总重量在显示模块中进行显示。当客车上的人数或总重量超过设定的阈值时则系统发出报警,此时单片机对信息进行处理后会发出信号控制继电器动作,客车电子起动器工作,此时车辆处于制动状态,不能正常发动和行驶。

本文所设计的基于单机片的客车超载警报系统分为两大部分,其一为软件部分,其二为硬件部分。其中硬件部分包含红外传感器、方向识别电路等,可实现对上下车人数的检测和判断、HX711重量检测芯片和AD转换电路把重量变化的模拟量转换为数字信号并输入单片机系统。单片机将传感器检测的数据发送到单片机进行处理后会将当前车辆人数和总重在显示模块中予以显示,若超过设定阈值,则报警模块中蜂鸣器发出报警声且发光二极管发出红光,提示超员或超载。在最后对本文设计的基于单机片的客车超载警报系统进行了调试,调试结果表明本系统可实现预期功能,且具有一定的功能扩展性,本文的设计对相似系统的设计提供了一定理论借鉴。

关键词:客车超载系统检测,单片机,光电传感器,重量传感器 Design and Implementation of Passenger Car Overload Alarm System Based on Single Chip ABSTRACT In this paper, an overload warning system for passenger cars is designed. The system is based on single-chip microcomputer. At the same time, it includes reflective infrared sensor, HX711 weight detection chip, alarm circuit, locking circuit and keyboard module. The driver is driving. The upper limit of the number of people and the maximum amount of the vehicle can be manually set, and the current number of vehicles and the total weight can be displayed in the display module by the sensor module. When the number of people on the bus or the total weight exceeds the set threshold, the system will issue an alarm. At this time, the MCU will send a signal to control the relay action after the information is processed. The bus electronic starter works. At this time, the vehicle is in the braking state and cannot be normal. Start and drive. The single-chip-based passenger car overload warning system designed in this paper is divided into two parts, one is the software part, and the other is the hardware part. The hardware part includes an infrared sensor, a direction recognition circuit, etc., which can realize the detection and judgment of the number of people getting on and off, the HX711 weight detection chip and the AD conversion circuit convert the analog quantity of the weight change into a digital signal and input it into the single chip system. After transmitting the data detected by the sensor to the MCU for processing, the MCU will display the current vehicle number and total weight in the display module. If the set threshold is exceeded, the buzzer in the alarm module will sound an alarm and the LED will emit red light. Prompt over or overloaded. At the end of this paper, the single-chip-based passenger car overload warning system designed in this paper is debugged. The debugging results show that the system can achieve the expected function and has certain function expansion. The design of this paper provides a certain theoretical reference for the design of similar systems. Key words: coachoverload, systemdetection, microcontroller, photoelectricsensorHX711 目 录 摘 要 I ABSTRACT II 第1章 绪论 1 1.1 开发背景与现状 1 1.2 开发设计的意义 2 1.3课题主要内容 3 第2章 客车超载监控系统的方案论证 4 2.1 系统的原理 4 2.2系统的组成 4 第3章 客车超载警报系统的硬件设计 6 3.1 客车超载监控系统的检测电路 6 3.1.1 传感器的选择 6 3.1.2 反射式红外传感器检测原理 7 3.1.3方向识别电路的设计 8 3.2 单片机最小系统的设计 10 3.2.1单片机的选择 10 3.2.2单片机外围电路的设计 12 3.3显示电路的设计 14 3.4键盘电路的设计 16 3.5报警电路的设计 17 3.6客车锁定电路的设计 18 第4章 客车超载监控系统的软件设计 20 4.1 客车超载监控系统的软件设计方案 20 4.2 T0、T1中断计数程序的设计 22 4.3按键子程序的设计 23 4.4报警与锁定子程序的设计 23 4.5显示子程序的设计 25 第5章 系统调试与分析 26 5.1系统的硬件调试 26 5.2系统的软件调试 27 5.3调试故障及原因分析 27 第6章 结论 29 参考文献 30 致 谢 31 第1章 绪论 1.1 开发背景与现状 随着社会经济的发展,人们出行的频率越来越高,尤其是节假日出行更高峰时选择乘坐客车的人数越来越多,但公路交通运力确并未有所提升,因此超载现象频发,由此带来的安全问题屡屡发生,为社会和个人带来了极大的损失。客车超载不仅危害客运市场,同时也影响车辆的驾驶和控制,易引发严重交通事故,客车的超载主要对于我们乘客来说,在乘坐的过程中,拥挤,空气不流通等感官上的不好的影响,直接降低乘客的乘坐体验,和对旅游等事情的热忱。同时,车上密集的人群是在车辆行驶当中很大的安全隐患,车辆的急行与急停都可能造成乘客的受伤,在出现事故时将造成严重的生命财产损失。

当前国家出台了相关法规政策,并且地方政府也制定了管理客车超载的相关政策。

然而,在假期期间的客流高峰期,过载现象仍然存在。在监督和控制管理的同时,通过科学技术手段消除客车超载现象是非常实际和重要的。

基于此,采用单片机对客车人数进行监控不仅节省了大量的人力物力,同时对于提升出行安全具有重要意义。当客车上的人数或总重量超过设定的阈值时则系统发出报警,此时单片机对信息进行处理后会发出信号控制继电器动作,客车电子起动器工作,此时车辆处于制动状态,不能正常发动和行驶。相反,当过载被释放时,声光报警器被释放,系统解锁乘用车,总线可以正常运行,从而智能监控客车的过载,很大的减少因超载发生的事故,使人员的生命和经济得到安全的保护。

1.2 开发设计的意义 设计一种基于单片机的客车超载报警系统有利于防止客车出现超载,减少安全事故的发生,本系统可通过键盘模块实现最大人数的设定,同时通过传感器模块以及报警模块等实现对客车好状态的检测,实现超载报警。

本文技术指标如下:
(1)显示模块可实时显示当前车内人数以及总重。

(2)超载人数最大值可通过键盘予以设置 (3)客车超载后会发出警报,提示灯闪烁。

(4)光报警信具有1S闪烁功能,通过蜂鸣器进行报警。

1.3课题主要内容 在本文中设计了一种应用于客车中超载报警系统,主要介绍了系统模块设计方法、硬件选型以及调试等内容,主要分为下述三部分:
第一部分为硬件系统和软件系统的。硬件设计包含检测电路、显示电路以及报警电路的设计,软件设计采用模块化思想实现,根据系统预期实现的功能绘制电路图和程序流程图。

第二部分是软件和硬件模拟,软件部分采用C语言编写程序,由Keil和protues实现联合调试。

第三部分是在实验板上焊接各个模块,并将其组成一个系统对系统功能进行调试,观察系统是否可实现预期功能。

第2章 客车超载监控系统的方案论证 2.1 系统的原理 本次的课题是客车超载警报系统,在实际生活应用中是在客车运营中避免因为载客人数过多而引起交通事故,在这个前提下,本系统设计了乘客上、下车的动作检测,随后将检测信息传输到单片机中进行处理,简单来说就是当客车内有人上车下车,系统自动统计客车内的具体人数,并且实时的把人数显示在LED显示屏上面。单片机将传感器检测的数据发送到单片机进行处理后会将当前车辆人数和总重在显示模块中予以显示,若超过设定阈值,则报警模块中蜂鸣器发出报警声且发光二极管发出红光,提示超员或超载。

2.2系统的组成 系统结构框图如图2-1所示。主要包括:检测电路(红外传感器和方向识别电路)、键盘电路、单片机系统、LED显示电路、继电器控制电路、报警电路六部分。

红外传感器(1) 红外传感器(2) 双D 触发 器组 成的 互锁 电路 单 片 机 数码管显 示电路 继电器控 制电路 声光报警 电路 键盘输入 图2-1 系统的总体设计框图 系统各部分的基本功能简介如下:
(1)反射式红外传感器 红外传感从漫反射型光电开关发射的光反射在待检测物体的表面上。表面反射率将决定接收器接收的光的强度。由粗糙表面反射回的光强度应小于由光滑表面反射回的强度,并且被检查物体的表面应垂直于光电开关的发射光。当没有检测到物体时,常开型光电开关接通的负载由于内部输出晶体管的截止而不工作,当检测到物体时,晶体管导通以通电工作。该传感器探测距离为3-8 0cm,根据实际需要把车门两个传感器的探测距离调整为40cm。

(2)方向识别电路 方向识别电路的主要功能是实现对乘客上下车的识别。

(3)单片机系统 单片机为系统核心部件,实现对系统其它硬件部分的控制,实现预期的智能监控功能。

(4)键盘 采用独立按键设置乘客上限。

(5)LED显示电路 显示模块的主要功能是实现当前车辆人数以及重量的显示。

(6)继电器 继电器模块的主要功能是实现起动器的控制,继电器动作后车辆不能正常运行。

(7)报警电路 本系统中采用蜂鸣器和LED作为报警提示器件。该电路运行的机理为:IO端口输出经过三极管8550的导通去带动蜂鸣器运行。若是IO口输出为高电压,三极管此时就会处于闭合状态,也就是蜂鸣器不会发生声音。反之则三极管对电流进行放大从而让蜂鸣器顺利发生声音。

第3章 客车超载警报系统的硬件设计 系统硬件电路设计过程中采用模块化设计方式,硬件模块包含显示模块、最小系统、继电器模块、报警模块以及键盘模块等等。

3.1 客车超载监控系统的检测电路 3.1.1 传感器的选择 传感器的主要功能是检测上、下车乘客动作的,所以我们在选择传感器时,要考虑到传感器的检测范围、灵敏度等实际需求。

常用的传感器包含反射式红外传感器、超声波式传感器等。各种传感器优缺点对比如下。

表3-1 传感器性能比较 传感器类型 优 点 缺 点 超声波 价格合理,夜间不受影响 测量范围小,对天气变化敏感 红外线 能直接测量,价格便宜 探测距离较近 视觉 易于多目标测量和分类,分辨率好 算法复杂,处理速度慢 激光雷达 价格相合理,夜间不受影响 对水、灰尘、灯光敏感 MMW雷达 不受灯光、天气影响 价格贵 超声波通过发出声波实现定位,虽然声音可以传很远,但是基于本次的设计是声波环境很复杂的,在使用过程中非常容易受其他信号干扰,因此不予使用。

们这次是用单片机来作为处理器,如果用视觉传感器,就要图形处理,图像识别等很复杂的一些算法,这样就会造成整个系统的响应速度非常慢,性能问题。

总之,本设计使用集成了发送和接收的光电传感器。它通常用于避免机器人障碍和计数装配线。可以根据调整感应距离,该模块具有测距远、成本低,组装简单,使用方便。

3.1.2 反射式红外传感器检测原理 漫反式光电开关是一种集成式发射和信号接收装置,传感器检测到物体时,光电开关产生开关信号,因为检测到的物体将从光电开关的发射器发出的光直接反射到接收器。漫反式光电开关的原理图:
发射 返回 漫反射光电开关 被检测物体 图3-2 漫反射式光电开关工作示意图 测量电路是传感器模块的重要部分,传感器灵敏度较高,测量电路的选择取决于转换部件的类型,但经常使用桥接电路等实现对信号的测量。

3.1.3方向识别电路的设计 传感器单元的主要功能是实现乘客运动检测,但是不能检测上行和下行,因此在本文中设计了方向识别电路对乘客上下车方向进行判别,并为单片机实现计数提供支持。本设计中将反射红外传感器放置在车门上,具体位置如下。

上车方向 车 门 传感器1 传感器2 下车方向 车厢内 车厢外 图3-3 检测传感器安放图 本系统中方向电路中所应用的是双D触发器,其主要功能是实现对乘客上下车方向的识别,电路图如下。

R1 /Q1 CLK1 Q1 D1 S1 D2 S2 Q2 CLK2 Q2 R2 传感器1 传感器2 INT1 INT0 74F04 74F04 74F04 74F04 +5V 图3-4 辨别方向电路图 如图3.4所示,将双D触发器复位端与74F04相连,实现对位置信号的屏蔽,其主要特性如下表。

表3-2 系统管理员 C R S D × 0 1 × 0 × 1 0 × 1 ↓ 0 1 × ↑ 1 1 0 0 ↑ 1 1 1 1 当没有乘客经过车门,则传感器输出高电平,经过反向电路处理后输出为低电平,触发器为低电平有效,在乘客上车过程中只有和状态出现变化,即从低电平转换为高电平最后又变为低电平,由此可产生一个T0端识别的脉冲信号。

3.2 单片机最小系统的设计 3.2.1单片机的选择 系统设计中选用单片机作为系统主控模块。由于系统体积小,系统的可靠性高,系统的成本低的优势它可称为世界上最小的应用系统。但要求程序长度小于4K,共四个I/O接口供使用。可编程为5伏电压,擦除时间仅为10毫秒,只有8751和的分数之一。与器件相比,设备不易损坏,对电源无要求。当芯片被重写时,可以重复在多个控制领域进行使用。运行状态下的电压区间宽泛(一般维持在2.7V~6V范围内)。而主控芯片在静态模式下运行时,其对应的频率区间是。相比之下,使用8751单片机时工作电压范围较窄。该类型单片机数据总线是在P0节点位置处,并且是三态双向数据连接端口,能够实现外接存储单元的读取以及写入。单片机在主控领域具备较强的竞争优势,在正常工作状态下能耗低,运算速度快,运行较为稳定。芯片具备可多次编写多次擦除的储存器,次数可达1000次,程序可存十年。保存时间为十年。可轻松应用于各种领域。图3-5显示了STC89C52的引脚图。

下面详细介绍了该型号单片机的主要特点:
(1)它是8051单片机的升级优化版本,所以拥有更加强劲的CPU; (2)P3.0/P3.1端口负责芯片的程序编任务; (3)单片机的的工作电压分为3和5V两种; (4)存储器通过片上集成最高达到1280字节; (5)设备的输入输出端口众多; (6)设备的时钟输出有3路; (7)互在系统中可以直接编辑联网供应商; (8)由大规模的集成电路实现可编辑技术列阵/PWN; STC89C52 图3-5 89C52芯片引脚图 引脚功能如下:
端口:端口是一个双向I/O端口,8位漏极开路,驱动8个逻辑电平来进行数据输出。这样的工作模式,端口内部会出现上拉的阻力,所以在验证程序的时候就需要外部的上拉电阻。

端口:端口也可以进行输入和输出双向作用,并且位数是8位的,和端口一样存在上拉电阻。根据不同的的工作要求,该端口负责接收字节的功能。

引脚所具有的的另一个功能 定时器/计数器:、 端口:端口也可以进行输入和输出双向作用,并且位数是8位的,和端口一样存在上拉电阻。该端口只能够驱动4个逻辑电平。在用高8位地址来获取16位地址的外部数据存储时,会输出闩锁的内容。在进行其他功能时,该端口也承担着接收外部控制信号的责任。

端口:端口也可以进行输入和输出双向作用,并且位数是8位的,和端口一样存在上拉电阻。该端口只能够驱动4个逻辑电平。该端口作为输入端口时是通过上拉电阻升高端口。端口负责输入时,被外部拉下的针脚会由于内部电阻会有输出。

端口还承担这单片机的其他功能:接收外部的控制信号。

  引脚所具有的的另一种功能   定时器/计数器:、 在进行其他功能时,该端口也承担着接收外部控制信号的责任。

RST:在工作过程中起到对输入进行重置的作用,利用的是两个机器周期内的高电平完成的。

:当系统需要对外部程序器进行访问或者是进行访问数据存储器时,的作用是将地址的低8位脉冲字节索存。因为通常情况下,的输出时间是固定的,是时钟振荡频率的1/6,利用这一特性可以用它来实现计时的功能。但是如果要进行外部数据存储的访问时,系统会自动越过脉冲。

系统编程产生的闪存时,引脚还起到输入输入的作用。

在可能的情况下,禁止操作可以通过在区域的0号位置安装来实现。因为在0号位置之后只有一个固定的指令才能实现的激活。此外,引脚会稍微升高,不执行内部程序时,需要让禁止位无效。

:从外部选取的信号来提供给程序存储器使用。单片机在外部获取指令时,只能产生两次有效的循环,换言之有两个脉冲输出。这时候访问外部数据存储器,系统会自动越过两个信号。

:访问外部的程序内存只能够通过来进行。此时的状态应该是处于接地状态。特别的是,此时编程已经加密了的,则在重置期间,状态将在内部锁定。

定时/计数器的结构图如图所示。

图3-6 定时/计数器的结构原理图 定时器/计数器访问地址按顺序:8AH-8DH。不同寄存器均可实现单独访问,寄存器可用来保存时序以及计数处置,还有8位定时器模式寄存器TMOD和8位定时控制寄存器TCON。寄存器通过总线与控制逻辑以连接,TMOD、TCON的主要公式分别为用于选择定时器的工作模式以及控制定时器的启动和停止。

3.2.2单片机外围电路的设计 根据大年纪设计原理,首先应当采用功能强大的单片机,实现系统预期功能。其次,应当具有一定的可扩展功能,实现其他功能的扩展。

(1)晶振电路 晶振基本上会出现在每一个单片机的系统,它能把电能和机械能相互转化,用于保持稳定,晶振对电路产生的很大的作用影响,单片机所需求的时钟频率是通过内部的晶振电路来说笑呢,单单片机晶体谐震器提供的始终频率在很大程度上与单片机的运行速度相关,时钟频率越高,单片机的运行速度也就相应越快,单片机的一切指令的执行通过该装置来实现。通常而言,普通晶振频率的绝对精度高达50%。内部时钟模式如图3-8所示。在本课题中晶振采用11.0592MHz。

图3-7 89C52片内振荡器电路图 图3-8 内部时钟方式电路图 (2)复位电路 复位电路的设计目的就是为了让单片机经过一系列操作后,又重新回到实现系统的初始化,复位电路的主要功能是为CPU中的部件设定一个初始值,通过初始值的复位之后可从初始点开始进行工作。当单片机复位引脚为高电平时电容C3电压升高则单片机就会发生复位。复位电路如图。

GND 89C51 RST C R1 R2 VCC 图3-9 单片机复位电路图 一般的复位电路都是采用两种不同的形式,其一为手动复位形式,其二为自动复位形式,前者的主要特征是由操作者按下键盘模块中的复位按钮之后自动产生复位信号,单片机在接收到信号之后产生复位;
上电复位是瞬间产生的复位过程,在RES端会先处于一种高电平的一段时间,然后通过电阻与地连接,此时的RES段会逐渐的变为低电平,使复位口从0到1的转化,达到复位的效果。本文所设计的复位电路采用第一种复位方式,其电路原理图如下所示,当电容减小充电电流时,此时RES/VPD端电压为高电平,系统在接收到信号之后自动完成复位。系统在复位过程中,按下图中的复位按钮时,C3上的电压不断升高,这样导致程序从头开始执行 。当按键按下时,复位电路工作在按键复位方式,RST端电压为:
(3.1) 经设计=200,=1K,C=22μF。单片机复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零。

3.3显示电路的设计 数码管价格低廉,且显示效果较好,通过输入电流到对应的管脚控制其发光,可实现温度、日期等多种参数。它广泛用于电器,尤其是家用电器,如显示屏,空调,热水器,冰箱等。

通常使用的LED数码管是7段LED,它是由7个LED和一个小圆点LED组成的。这7个LED的a~b成“日”字形排列,当某一LED导通时,相应地点和笔画就会亮起来,不同的数字,字母和其他符号由LED不同的明暗组合形成。引线内部连接仅需要绘制它们各自的笔划和公共电极。

LED 是对发光二极管的一种统称,发光二极管是一种半导体元件,其工作原理是将固体半导体作为发光裁量,通过载流子的复合效应发出光亮,发光二极管可发出的颜色包含常见的红黄蓝白等多种。LED照明产品即使用半导体发光二极管制造的照明设备,用于生产生活的照明领域之中。

LED数码管中LED有两种接法:①共阳极接法是将所有LED的阳极连接在一起;
②共阴极接法是将所有LED的阴极连接在一起。当公共阳极的发光二极管处于低电平时,相应的段码点亮;
当公共阴极的发光二极管处于高电平时,相应的段码点亮。通常,单个LED的管压降约为1.8V,电流不超过30mA。发光二极管需要对应的驱动电流予以驱动,并通过限流电阻器进行控制。共阴极连接方法可以不具有外部电阻器,但是共阳极连接方法中的LED必须要与外部电阻器相连接。

本文所选用的现实模块外形结构如下。

图3-10 结构外形图 LED数码管要加上对应的驱动电路后才能实现正常显示,根据驱动方式的不同可将其分为两种类型,其一为静态形式,其二为动态显示。

1、静态显示 静态驱动方式也称之为直流驱动。静态驱动指的是数码管每个段码均连接单片机的输入输出接口并进行驱动,或使用BCD码进行驱动,静态驱动具有编程简单、显示效果清晰等诸多优势,但是占用的端口较多,因此会增加硬件电路的复杂性。

2、动态显示 LED数码管动态显示方式是当前应用最为广泛的方式,动态驱动方式相较于静态驱动方式而言具有占用的接口数量少,在进行轮流显示的过程中,每段数码管点亮时间为1~2ms,由于人的视觉存在暂留现象,虽然所有数码管并非同时点亮,但是只要刷新速度够快,在人眼看来就是一组稳定的数据。因此动态显示与静态显示具有相同的效果,但是动态显示功耗更低。

显示模块电路图如下。

P1.0 VCC P1.1 P0.0 P1.2 P.0.1 P1.3 P0.2 P1.4 P0.3 P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 P0.7 RST /EA ALE P3.0 /PSEN P3.1 P2.7 P3.2 P2.6 P3.3 P2.5 P3.4 P2.4 P3.5 P2.3 P3.6 P2.2 P3.7 P2.1 XTAL2 P2.0 XTAL1 VSS 5V P2.1 P2.0 AT89C51 a b c d e f g dp 7407 7407 图3-11 LED显示部分电路图 3.4键盘电路的设计 按键是外部命令的触发点,一个按键从按下到松开是一个外部命令输入的过程,精确完成不同按键动作的实时判别对于系统正常运行而言具有重要作用。

当前大多数开关为机械弹性开关,一次电平变化即一次命令转换,但是在实际工作过程中键盘可能会出现抖动,按键信号有误差,因此在进行按键电路设计时要将干扰信号去除,在本文中通过在按键电路中加上电容来去除干扰信号,通常而言这样做会增加成本,但是可使得电路更快进入稳定状态。本文所设计的键盘电路如下所示。

5V 10K AT89C51 P1.3 P1.4 P1.5 人数加 S1 人数减 确定人数 S2 S3 10K 10K 图3-12 键盘电路原理图 按键按下后存在抖动常用的消除抖动方法包含两种:
软件消抖:此次系统中选择的是独立按键去进行各类参数设置;
主要的工作机理为:一但按键被按下,就开始实施实施首次抖动检测,方法为延时一段时间去判定是不是为有效按键,等待之后依旧有按键按下就说明是,此时赋予其相应的键值。程序中就能够采用键值去判定相应的执行操作。确认按键状态后进入后面的处理程序了。

硬件消抖:利用RC积分电路消除抖动对按键电路造成的影响。

通过按键电路可实现对超载人数的最大报警阈值进行设定。

3.5报警电路的设计 本系统中采用蜂鸣器和LED作为报警提示器件。该电路运行的机理为:IO端口输出经过三极管8550的导通去带动蜂鸣器运行。若是IO口输出为高电压,三极管此时就会处于闭合状态,也就是蜂鸣器不会发生声音。反之则三极管对电流进行放大从而让蜂鸣器顺利发生声音,同时二极管发出红光,提示客车人数超载。报警电路图如下所示。

SPEAKER A1 Y1 A2 Y2 7406 R P1.0 P1.1 +5V 图3-13 蜂鸣器报警电路 当P1.0、P1.1口输出低电平,蜂鸣器不工作,报警取消,提示当前车辆为正常状态。

3.6客车锁定电路的设计 为了防止客车超载,采用切断电子点火装置的方法,在本文中通过继电器触点的开合来实现,其电路图如下所示。

P2.6 +5V 4.7K 图3.14 继电器电路图 本系统采用的继电器主要功能是实现制动器的驱动,当传感器测定的数值超过设定的阈值时单片机P2.6口会发出指令信号,继电器接收到信号后触点连接,报警电路工作,蜂鸣器发出警报,且二极管发光,表示客车处于超员锁定状态,不能正常运行。

第4章 客车超载监控系统的软件设计 在正常情况下,开发智能设备包括:总体方案设计以及不同功能模块的设计、硬件的选型以及程序的编写,同时还包含设备的调试和修改等等。在设计时应当保证系统可满足预期的所有功能,且经济性好,具有良好的稳定性和可维护性。

4.1 客车超载监控系统的软件设计方案 如图4.1所示为软件总体流程图。下面就其主要部分进行分析。

(1)T0,T1计数中断程序:终端程序的主要功能是将传感器产生的脉冲信号传递到计数器,并在计数器开始进行计数之前设置0FFFFH。计数器产生溢出中断。

(2)手动设置报警阈值时通过按键模块实现的。

(3)数据处理后完成后的结果可在显示模块中予以显示。

(4)报警子程序将设定的阈值与当前传感器采集的数据进行比较,若超过设定阈值则进行报警,否则不报警。系统总体流程图如下所示:
T0产生溢出中断? 计数器人数加1 T1产生溢出中断? 计数器人数减1 调用显示子程序 是否大于超载人数? 声光报警 启动继电器锁定装置 Y N Y N Y N 初始化 键盘设置超载人数 开 始 解除报警 解除继电器锁定 图4.1 系统软件总流程图 在系统开始工作之前需要对单片机进行初始化,包含对计时器和堆栈的初始化。初始化完成后系统执行中断子程序,终端发生时会将接收的数据进行处理,调用显示子程序将传感器采集的信息在显示模块中予以显示,报警子程序自动将检测数值与设定的阈值进行比较,实现对客车状态的实时监控。

4.2 T0、T1中断计数程序的设计 T0、T1中断程序的流程图如图4.2所示。

EA=0 累加器A、寄存器内容入栈 开中断 中断处理 R1+1或R1-1 现场恢复 开 始 中断返回 图4.2 中断程序流程图 在中断子程序中,硬件会自动将断点地址压入堆栈,并实现累加器和寄存器信息的保护,中断子程序执行完毕后返回终端指令,并在堆栈中删除点地址,系统继续执行中断之前的程序。

4.3按键子程序的设计 此次系统中选择的是独立按键去进行各类参数设置;
主要的工作机理为:一但按键被按下,就开始实施实施首次抖动检测,方法为延时一段时间去判定是不是为有效按键,等待之后依旧有按键按下就说明是,此时赋予其相应的键值。程序中就能够采用键值去判定相应的执行操作。按键子程序流程图:
开 始 按键DEC_SET=0? 返 回 N 超载人数减1 超载人数加1 按键ADD_SET=0? 有键闭合吗? 延时10ms 有键闭合吗? Y N Y N Y Y N 图4.3 按键子程序流程图 4.4报警与锁定子程序的设计 报警与锁定子程序流程图如图4.4,其主要功能是对客车的状态进行检测。

P1.0=1,P1.1=1 P2.6=1 返 回 Y N P1.0=0,P1.1=0,P2.6=0 调用延时子程序 开 始 车内人数值大于超载人数? 图4.4 报警与锁定子程序流程图 在主程序执行时每次显示乘客数和车辆总重时都会调用报警子程序,进而对车辆当前的状态进行监控,实现安全性目标需求。

4.5显示子程序的设计 显示子程序流程图如图4.5所示。

返 回 个位、十位分离存入30H BCD转换 01H送P2口 取个位段码送P0口 延时 02H送P2口 取十位段码送P0口 延时 开 始 图4.5 显示子程序流程图 在完成数据检测后子程序工作,此时显示程序工作,由于采用LED显示,因此需要将处理的数据信息转换为十进制予以保存和显示,随后调用延时程序,在终端和等待响应的过程中都调用了显示程序,完成了显示要求。

第5章 系统调试与分析 在整体系统焊接完成之后,就到了系统的调试阶段。拟建系统在投入使用之前需要进行调试,系统在设计时可能由于开发者的疏忽产生诸多漏洞,因此需要进行测试来发现这些漏洞并予以完善,验证系统是否可以实现预期的功能需求。不仅如此还要验证系统具有长期运行可靠性和稳定性,这也是调试的重要目的之一,有效防止了系统在使用一段时间后出现问题,若上述测试结果均符合测试标准则说明系统设计较为成功。

5.1系统的硬件调试 下面介绍系统硬件部分的调试,包含最小系统以及方向电路两部分:
(1)单片机小系统的调试:首先将电路连接完毕并将最小系统上电,随后用万用表测量端口电压情况,查看晶振电路引脚电压是否在在2.0V左右,利用示波器检测ALE口是否有方波信号输出,按下复位按键观察复位引脚是否输出高电平,完成调试后将程序烧录至单片机并重建检验最小系统是否正常工作。

(2)方向识别电路的调试:按照设计的电路图完成连接,将74LS04反相器和74LS74双D触发器安装与面板,与模拟传感器连接后产生脉冲信号,连接在十倍方向电路输出端,用万用表测量触发器Q1、Q2端电平,调试直到实现其功能。

在焊接时应当谨慎小心,焊接主要步骤为:第一步开始焊接:开始前需要注意要把焊接的位置清理干净,然后把需要焊接的元器件的两个角调整一下位置,向一定的方向用手掰一下。接下来让电烙铁头碰到需要焊接的元器件脚下,放上焊锡丝。第二步给焊接升温:第二个是步骤加热焊锡丝,将加热的电烙铁放于器件管脚的旁边,轻触焊锡丝并使之慢慢融化。注意电洛铁温度需要保持在400℃左右,加热时间保持在2秒钟左右,时间过长很有可能焊坏面包板焊盘,另外不同类型的器件在具体操作时也是有区别的。第三部清理焊接面:在完成焊接的第二步后,有可能会出现虚焊等问题,此时应当修改,对于焊接不足的地方予以补焊,若焊锡过多,则可通过烙铁头滑动的方式将多余焊锡带走。第四部检查焊点:在完成上述步骤后对焊接结果进行观察,并观察焊点是否紧固,是否与其他管脚相连,当所有点都检查无误之后,焊接完成。

在焊接完成后测试电路是否导通,保证系统可正常工作。

5.2系统的软件调试 ① 首先创建一个工程:创建“工程”,输入“基于单机片的客车超载警报系统”,并保存;
选择“Atmel”中的“AT89C52”。

② 新建一个源文件:输入源代码,将文件重命名“基于单机片的客车超载警报系统.c”。

③ 程序编译和调试:点击“编译”。若提醒error(报错),就应该按照提醒找出error(报错)并修改,直到没有错误为止。

在软件调试时首先对系统进行初始化,若系统未被初始化则说明本文所设计的程序存在错误需要进行调整,在对程序进行重新调整后再进行初始化操作。接着观察数码管上是否正常显示。如果显示正常就表明显示模块程序和总程序正确,反之则说明存在问题。随后对传感器模块进行检测,确认重量达到一定值后报警模块会按照设定正常报警,二极管发光。若在测试的过程中随着重量后报警谋模块正常工作会变化则说明设计的系统可达到预期效果。软件部分采用Keil μVision5编译与Proteus软件联调。调试包含两部分,分别为单元电路调试和整机联调:
1、单元电路调试 在进行单元电路调试时应当明确本部分的调试要求,按照调试顺序和原理图要求进行调试,将前面调试输出信号作为后一级输入信号,保证调试可顺利完成。

单元调试分为两种不同的形式,其一为静态调试,其二为静态调试。后者指的是在没有外加信号的情况下实现电路不同电位的测量,该方法适用于有源器件静态工作点的电位信号调试。通过静态调试可及时发现器件是否存在故障状态或是否存在潜在的故障风险。动态调试则根据前一级别的输出信号对自身信号测试单元进行调试,包含信号幅值,相位关系以及频率等。对信号产生电路而言,通常在动态调试时只要求完成动态指标调试。通过对两者的调试结果进行分析和比较,可对电路参数提出修正,并予以记录。

2、整机联调 在各模块组合完毕后要对整机进行调试,测量不同模块组成系统后的电路性能,在进行整机电路调试时重要指标之一是系统的动态性能,将调试结果和设计指标进行比对后找出系统可能存在的不足并提出对应的解决对策,若差距超过规定范围则进行修正,直至电路调试结果和设计指标差距在许可范围之内为止。

5.3调试故障及原因分析 在调试过程中遇到的问题包含下述几种。

(1)焊接错误 焊接电路时很容易出现问题,因为这次的设计线路比较复杂,在电路搭建的过程中很容易出现线路交叉,继而出现电路短路。

(2)器件选择不当 单片机的其中一个特点就是P0口没有上拉电阻,所以要外接上拉电阻,在我选择上拉电阻时,选择过大,导致显示模块不能正常工作,选择合适组合字后,显示模块工作正常。

(3)调试方法及软件修改 整机调试时喜爱你是模块不能正常工作,显示88,且品目不停闪烁,经过检查,其原因为:①继电器型号选择错误,更换合适继电器后工作正常。②LED显示不稳定,原因为延时程序不正确,对其予以修改后数码管显示清晰,可满足数值显示需求。

第6章 结论 在本文中设计了一种乘用车过载监控系统,本系统以单片机为核心,同时摆包含反射式红外传感器、HX711重量检测芯片、报警电路、锁定电路以及键盘模块等等,司机在开车之前可手动设置人数上限以及车辆的最大总量,通过传感器模块可将当前车辆人数以及总重量在显示模块中进行显示。当客车上的人数或总重量超过设定的阈值时则系统发出报警,此时单片机对信息进行处理后会发出信号控制继电器动作,客车电子起动器工作,此时车辆处于制动状态,不能正常发动和行驶。

本文所设计的基于单机片的客车超载警报系统分为两大部分,其一为软件部分,其二为硬件部分。其中硬件部分包含红外传感器、方向识别电路等,可实现对上下车人数的检测和判断、HX711重量检测芯片和AD转换电路把重量变化的模拟量转换为数字信号并输入单片机系统。单片机将传感器检测的数据发送到单片机进行处理后会将当前车辆人数和总重在显示模块中予以显示,若超过设定阈值,则报警模块中蜂鸣器发出报警声且发光二极管发出红光,提示超员或超载。

本文以51单片机为主控模块,完成各个线路功能模块进行设计研究,最后详细阐述了系统搭建的流程,并使用C语言完成程序的编写。

经过这一次毕业设计,我学了不少的知识,学会了如何对自己所需要的资料进行检索,并且掌握了单片机仿真软件以及keil软件的使用。我更加深刻地认识到只有将书本与具体的实践相结合,才会有真正的收获,才能巩固自已的所学,认识到自己的不足。

参考文献 [1] 张毅刚.新编MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2003.7 [2] 张洪润.传感技术与应用教程.北京:清华大学出版社,2005.4 [3] 何立民. 单片机应用技术选编. 北京:北京航天航空大学,1999.7 [4] 宋雨潭.DS12C887及其在智能化仪器仪表中的应用.黑龙江税专学报.2002,29(3):87-89 [5] 祝科军.传感器与检测技术.北京:电子工业出版社,2004.9 [6] 邹逢兴.计算机硬件技术及应用基础.北京:国防科技大学,2001.4 [7] 贾伯年等.传感器技术.南京:东南大学出版社,2000.8 [8] 马家辰.MCS-51单片机原理及接口技术.哈尔滨:哈尔滨工业大学,2002.10 [9] 李华主.MCS-51系列单片机实用接口技术.北京:北京航天航空大学,2003.5 [10] 赵茂泰.智能仪器原理及应用.电子工业出版社,2004.7 致 谢 毕业设计是大学的最终评估,也是知识的综合应用。在这次毕业设计中,指导教师宋丽芳老师对我精心指导,从毕业设计的开始到结束,宋老师时刻关心我的进度,帮我梳理思路,指导设计思想,让我有计划、有方向、有针对性的进行毕业设计。使我对单片机的学习产生了兴趣。在完成设计的过程中宋老师时刻督促我,抓紧一切时间收集资料,早作准备,正是由于老师的时刻提醒,才使我早日完成毕业设计,在此表示忠心的感谢!谢谢您宋老师! 在此,我还要感谢所有教过我的老师和关心我的学生,并感谢老师们在大学四年的生活中给予的关心和帮助。

我从无私的支持中获得了各方面的经验。

最后,我要衷心感谢所有教授和老师审阅我的论文。

推荐访问:超载 警报 客车 单机 设计

《基于单机片的客车超载警报系统的设计与实现.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:

文档为doc格式

一键复制全文 下载 投诉