单片机分享:基于单片机的车辆超载系统


主要介绍

  该设计是基于STC89C52单片机作为系统处理的核心,共两个部分,分别为硬件设计和软件设计,硬件部分使用红外传感器和方向检测电路来记录和评估并进入该系统中的乘客上车和下车。 处理后的数据通过单片机系统发送到LED显示器。声光报警装置电路由蜂鸣器和发光二极管组成,继电器用于阻塞总线启动装置。软件部分使用汇编语言编程,并具有模块化结构。 对系统进行调试后,可以更好地完成汽车超载的预警和预警,并控制超载。
关键词:智能 超载 单片机 便利

一、项目的设计方案与结构

2.2.1 设计方案

本次项目设计主要以51系列STC89C52单片机为核心,简化了在电路上的布局,而且也方便了程序的编写。技术选择主要是:蜂鸣器、LED显示器、红外传感器、键盘电路。

2.2.2 总体结构

在这里插入图片描述

图2.1	项目总体结构图

2.1.1 项目研究的内容

本设计中开发的汽车过载监视系统主要用于避免因人数过多而引起的交通事故。 因此,该系统应具有对乘客上下车运动的智能检测,并使用单片机处理从传感器接收到的信息,即自动调整公交车状态。 实时显示特定人数的LED。 如果公交车上的实际人数超过设置的上限,则会自动发出警报和警报声,并且公交车的启动装置也会被阻塞,从而可以有效地防止发生过载。

2.1.2 项目的目的

该系统中的智能监控方法尤为重要。智能监控包括两部分:第一部分是检测模块的一部分。 反射型红外传感器和两个D型触发器用于检测和评估乘客的上下车。 第二个是统计区域。单片机对接收到的脉冲信号进行相应的计数,以完成对乘客人数的计数功能。只有仔细监控汽车中的人数,才能确定汽车是否超载,以免发生交通事故并达到预防事故的实际重要性。

二、第四章 硬件设计

4.1 单片机模块电路的设计

4.1.1 单片机模块电路

单片机最主要的目的是完成检测模块传送线路的频率,检测车厢内的凹陷程度并计算车厢的承载能力。鉴于设计中的方案和数据数量很少,对于I/O口的需求也不用太多,STC89C52芯片的满足的要求能够很好地达到设计的需求量,因此,低性能的MCS-51大片即STC89C52已集成到系统设计中。我们使用ATMEL的89系列微型计算机标准微型计算机STC89C52。STC89C52是一种低功耗8位计算机计算微速率,具有4K字节的FLASH程序,该程序是只读存储器(EPROM)。它使用CMOS和ATMEL的非挥发性高密度存储技术(NURAM),其引脚和控件的使用与MCS-51兼容。此外,STC89C52还具有MCS-51系列微控制器的优势。128X8位内部RAM,32位内部和外部电源线,两组定时器/计算器,5个中断,两个高性能双核,高速无线连接和电气接线等。 FLASH的目的是使程序性重新编程或从非静态的正常意义上进行编程成为可能。因此,STC89C52是强大,灵活和自适应的微计算模型,可以在某些组织中使用。
STC89C52单片机引脚图如下图所示:
在这里插入图片描述

图4.1 STC89C52单片机引脚图
它总共有4个八位口,分别是
①、P0端口是三态两通端口。 因为这个口只能直接用于外部存储中的读/写目的。P0端口还用于提供外部存储器的8位地址。因为是分时的,因此,需要将地址数据由外部加锁的方式进行锁存,并且锁存的标签将使用ALE。
②、P1端口是为用户设置的I / O端口。这是一条双向口。
③、p2端口从系统扩展,用作第一个8位地址。它没有延伸到外界,配置后,P2端口也可以用作I / O端口,并且P2端口还是一条双向口。
④、P3端口是一个两个任务端口,该端口的每个端口都可以分别配置为主要I / O功能或第二个I / O端口。操作与p1端口相同。

4.1.2.单片机的计数器

由于此系统需要使用单片机中的计数接口,因此应在此处介绍定时器/计数器操作系统。主要原理图如下图所示:
在这里插入图片描述

图4.2 计数器原理图
从定时器/计数器结构,我们可以看到16位定时器/计数器包含8位特定寄存器,包括:T0包括TH0和TL0; T1包括TH1和TL1。 它的地址空间一次是8AH-8DH。 每个寄存器都可以单独访问。 这些寄存器主要目的是存储时序或起始编号。 另外,还有TMOD 8位定时器模式寄存器和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的值在此项目中使用,它们在第二种方式中工作。
第二种工作方式是一个8位端口,可快速恢复原始值。 第一个计数器值可以设置为0FFFFH。 当TFX标志设置为“ 1”时,THX中的第一个值将自动发送到TLX,以便TLX可以再次从第一个值开始读取。 这种工作方法可以将原始成本回收程序保存在操作系统中。 因此,方法2是不需要恢复到原始值的缓冲区。这为我们提供了在T0和T1下连续使用代码的能力。

三、第五章 软件的设计

5.1.2 设计

总体方案设计思想首先对系统进行初始化,这包括设置指针和为定时器设置最大时间,设置计时器的工作模式以及设置中断激活控制。清除通用寄存器以识别计数器从0开始计数,并且一个单元存储最大位移,该最大位移由预定乘用车的最大负载转换,传感器由重力传感器单片机传输,然后由寄存器传输。存储的电流偏移量存储在累加器中。通过比较该指令和该单元的内容,确定当前乘用车的负载是否已经达到预定最大值。如果当前轿厢重量大于指定的最大值,则警报指令触发警报。 在每一个组件化的程序中,尝试从最少的指令中获得最大的收益,以使指令不会模棱两可,从而可以在系统中更好地执行整个程序,并显著提高单片机的工作效率。本设计的软件部分如下所述,整个软件流程图如图4.1所示。第一步是初始化系统,包括使用键盘,各种寄存器和计数器的工作模式手动设置乘客限制。 该测试程序包括:T0,T1可编程中断系统,核心操作系统,警报模式,显示程序。 主要部分分析如下。
(1)计数器中断程序T0,T1用于将传感器生成的脉冲信号输送到计数器的端口T0和T1。首先将计数的初始化为0FFFFH,接下来有计数器将每一个数记录下来。当T0和T1端口在高电平和低电平之间变化时。在这种情况下,计数器会产生溢出中断。
(2)用按键来处理按键程序从而达到设置上限值的效果。
(3)显示程序是用于将获得的数据在处理之后将结构输出到显示器从而达到数据监测的效果
(4)警报子程序将统计脉冲信号的数量与预设数量进行比较。如果大于预设数量,则触发警报;如果小于或等于预设数量,则取消警报。 该系统软件的总体流程图如图4.1所示。
在这里插入图片描述

图5.1 程序流程图
初始化程序可以说是对STC89C52进行初始化,包括中断计数器工作模式和计数起始值的初始化,批处理的初始化以及临时存储器地址的分配。 初始化完成后,程序进入等待中断的循环。 当中断触发时,中断子程序将由单片机去适当的去调用处理数据。 此外,单片机还将调用报警程序和显示程序,以达到监控和显示的功能。 如果统计数据比设置值大,则程序将执行警报和锁定指令。 如果统计值小于或等于设置的值,程序将释放警报和解除指令。

实物

在这里插入图片描述
在这里插入图片描述

总结

  本次项目的最主要部分就是需要已红外传感器为监控单片机STC89C52为基础的汽车超载监测系统。通过测试实验,证明了本次系统的可靠性,达到了了此次设计的目标,并满足了解决问题的可靠性。而且可以自动对人数统计的公交车可以通过LED实时进行车辆人数的显示并判断人数是否过载如果乘用车超载,则会触发相应的声音和视觉警报,并关闭乘用车的电子启动器以锁定乘用车。当消除乘用车的超载现象时,相应地会触发声音和视觉警报,并且系统会锁定乘用车。汽车能安全完整的运行,而且达到了智能化监听的能力。在项目的开发时,主要任务有两个:一个是软件设计,另一个是关于硬件设施的开发,并且还需要确定整个项目的主要问题以及流程,演示总体原理图,硬件电路设计,硬件电路优化,软件设计,软件优化,焊接硬件电路板,调试硬件电路和调试软件程序为了最终将软件和硬件一起调试,对每个过程都进行了精心设计和精心完成。但是,设计仍然不完整。例如,当检测到传感器时,仍然存在一定的盲点。如果两个人要同时上车,那么人数就无法正确计算。因此,应实现更完整的传感器设计。

目录

目录
第一章 车辆超载的背景 1
1.1 研究背景 1
1.2 世界上关于汽车超载的应对 1
1.2.1 国外车辆超载的应对 2
1.2.2 国内技术的发现与进步 2
第二章 项目的意义 3
2.1 项目的意义 3
2.1.1 项目研究的内容 3
2.1.2 项目的目的 3
2.2 项目的设计方案与结构 3
2.2.1 设计方案 3
2.2.2 总体结构 3
2.2.3 部分结构介绍 4
第三章 主要元器件的选择 5
3.1 单片机的选择 5
3.1.1单片机的概括 5
3.1.2 stc89c52介绍 5
3.2 传感器的选择 5
3.2.1传感器的对比 5
3.2.2 反射红外线传感器 6
第四章 硬件设计 8
4.1 单片机模块电路的设计 8
4.1.1 单片机模块电路 8
4.2 传感器电路的设计 10
4.2.1 设计思路 10
4.2.2 电路布局 10
4.2.3 数据分析 11
4.3 报警电路的设计 12
4.3.1 设计流程图 12
4.3.2 电路的设计 12
4.4 LED显示的电路设计 13
4.4.1 二极管的原理与分析 13
4.4.2 LED电路的设计 14
第五章 软件设计 15
5.1 程序的框架 15
5.1.1 要求 15
5.1.2 设计 15
5.2 模块程序的设计 16
5.2.1 中断程序的设计 16
5.2.2 按键子程序的设计 17
5.2.3 报警程序的设计 18
5.2.4 显示程序的设计 19
第六章 项目的测试 21
6.1 调试分析 21
6.2 硬件调试 21
6.3 软件调试 22
第七章 项目的测试 24
7.1 焊接的缺陷 24
7.2 元件选择的不适合 24
7.3 调试方法及软件修改 24
结论 25
参考文献 26
致谢 27

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值