基于51单片机的停车场车位管理系统.docx
《基于51单片机的停车场车位管理系统.docx》由会员分享,可在线阅读,更多相关《基于51单片机的停车场车位管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
基于51单片机的停车场车位管理系统
基于51单片机的停车场车位管理系统
摘要
在熙熙攘攘的大城市,很多大型超市地下停车场,由于客流量大,每次经过停车场门口时,都会有工作人员在停车场门口指挥,告诉车主哪些停车位可以停车或提醒车辆已满。
当今社会注重自动化和智能化,这是对人力资源的浪费。
如果入口处有显示屏,车辆进入时会显示空车位,满车位时会显示满车位,不需要专人管理车位。
这个系统就是为这个目的而设计的。
本设计由STC89C52单片机电路、红外对管传感器、LCD1602液晶显示电路、LED指示灯电路和电源电路组成。
通过红外对管模块实时检测停车位是否被占用,并通过液晶屏实时显示停车位是否被占用、占用车位数量和空位数量,并带有状态指示灯。
该系统价格低廉,性能稳定,具有广阔的应用前景。
关键词:
单片机、车位检测、液晶显示
第一章绪论
1.1设计背景及其意义
伴随着新兴技术的不断发展,科学的飞速发展、对于汽车工业也提出新的要求、我国的人均消费水平的提高、生活质量的不断提升、汽车工业得以高速度发展,在我国产业链上汽车数量上得以不断攀升、停车场作为汽车产业链重要的一环、能够满足消费者日常停车需求、伴随着运输业等、不断地增长、人民对于停车场的规模、服务、管理、要求不断提高、对停车场提出了全新的挑战、作为消费者希望通过高新科技数据、实现方便、快捷、安全的特点。
停车场的面积、位置的不同,规模、服务、管理的不同、根据消费者需求设计相对为合理的系统、设计者需要根据场地及环境的条件,选择简单快捷的应用程序、同时选择较为稳定的程序、可以有效避免高昂的管理费用,管理程序具有高时效、稳定等、特点、通过有效的设计、可以实现信息一体化、综合实用的信息化平台、通过在平台反馈出来的数据、具有十分清晰的视觉效果
1.2智能停车场管理系统介绍
本设计是以STC89C52单片机为核心控制的智能停车位控制管理系统。
主要结构由停车位导航系统、红外传感器和液晶显示屏组成。
系统的出入口设有接地感应线圈,对车辆进出进行检测,控制制动杆机升降,同时安装液晶显示屏,提供停车位显示、语音提示,系统与IC卡和图像设备相结合,形成独立的智能停车场管理系统。
如图1-1所示
与传统停车场相比,智能停车场具有以下优势:
(1)远距离感应,速度快,效率高
(2)简化车辆出入管理程序
(3)实现统计、显示等功能
(4)安全可靠
1.3智能停车场优势及发展趋势
智能停车管理的优势:
1、管理停车场秩序。
智能停车场系统通过车辆进出口管理,使车辆进出口有序、文明,维护停车场秩序。
智能停车场管理系统具有多种车辆进出口管理方法。
目前主要有三种方法:
刷卡进出、远程识别、车牌识别。
这些进出口管理办法规范了进出口流程,可以使车辆进出口秩序井然,缓解现象,保证车辆进出口安全。
2、确保车辆进出停放的安全。
智能停车系统具有多种功能,保证车辆停车安全,防止车辆丢失。
如图像比对、车牌识别、一车一卡等功能,在车辆进出时生成相应的记录,解决了传统管理中无证据可查、无法保证车辆停车等问题,避免了车辆丢失或虚报车辆丢失的现象。
3、提高停车场管理水平和运营效率。
例如,远程识别系统可以使车辆不停车通过,加快车辆的行驶速度,缓解进出口车辆的拥堵。
另一个例子是停车位导航系统,它可以使驾驶员快速找到备用停车位,使停车更加方便。
4、避免收入损失,保护停车场的效率。
智能停车场管理系统采用计算机收费方式。
每个收费金额都会实时记录并存储在系统中,避免了传统停车场管理中的一些漏洞,防止了作弊或乱收费,有效保护了停车场的收入。
智能停车的发展趋势:
一。
停车场通过互联网实现数据共享,打破信息孤岛,建立物联网智能停车平台,实现停车诱导、停车预约、电子自助缴费、快速接入等功能。
2。
停车诱导和倒车搜索系统迅速普及。
第二章方案的设计与论证
2.1停车位控制系统原理
根据预先定义的停车策略,中央控制器显示显示屏和导板,用户只能按照说明将车辆平稳地停放在停车位内。
停车位导航系统分为几个模块:
停车位数据检测模块、中央处理模块、信息发布模块、信息显示模块、该技术的核心在于停车位检测
停车位检测可分为:
车牌识别、超声波检测、红外检测、接地感应线圈检测等
逻辑判断:
通过编程实现。
由于每个停车场的情况不同,车流方向不同,出入口数量不同,所以每个停车场的停车位引导系统都是一个特定的定制系统。
因此,模块化成为系统的核心竞争点。
通过检测停车场各停车位的停车状态,通过管理器将停车状态信息上传到数据转换器,然后将数据转换器采集到导航监控系统,对停车状态数据进行分析处理,引导信息屏(LED)显示空位停车信息,如图2-1所示
2-1停车位控制系统原理
2.2停车位控制系统设计思路
主电路分为数据采集与检测模块、以STC89C52为核心的中央处理模块、1602液晶显示模块和报警模块。
电路通电时,以STC89C52单片机为核心控制传感器采集检测电流数据并进行转换,然后控制1602液晶显示器显示结果,控制蜂鸣器报警。
当我使用红外传感器对进出口流量进行测量时,内部有A/D数模转换,还可以直接与STC89C52单片机连接。
在显示检测结果方面,我采用了1602液晶显示器(针式),因为它可以直接插入预先与STC89C52单片机焊接的插座中,而无需手工焊接。
具体操作过程:
根据原理图,将DHT11传感器、1602液晶显示器、及各种电路元件焊接在通用板上,并与STC89C52单片机连接。
焊接后,检查电路。
红外传感器经检查通电后,开始采集检测电流数据,并将信号传送到单片机。
经单片机处理后,将信号传送到1602液晶显示器上显示当前数据。
2.3总体设计框架图
总体设计框架图
本设计由STC89C52单片机电路+红外对管传感器+LCD1602液晶显示电路+LED指示灯电路+电源电路组成。
1、通过外置红外可以有效的检测进出车辆、是否满载
2、置红外发现车辆进入停车位时、红外检测装置由绿色变为红色、表示车位已使用、当红外检测装置检测车辆已离开、指示灯由红色变蓝色、通过液晶显示器可以有效的观察到车位使用情况!
3、车位是否有空缺。
系统组成及结构
本毕业设计的基于单片机停车场车位管理系统具体框图如图2-2所示:
第三章硬件电路设计
3.1模块电路的设计
STC89C52单片机核心系统电路设计
STC89C52RC是MCS的产品升级款、不但延续了传统51单片机向量的2级中断结构、在杂音处理上有着质的突破、通过技术参数的指标可以降低至0Hz、同时可以进行多种模式的选择、在节电模式下、硬件可以有效的进行关闭、包括CPU模块、RAM等一系列硬件指标,在掉电模式下运行时、单片机所运行的数据储存到RAM、CPU失电、及最大化程度上保存了数据、提高安全性!
直到通电、下一个扫描周期中断或者复位!
一、STC89C52主要特性如下:
(1)8K字节;
(2)512字节RAM;
(3)内置4KEEPROM存储空间;
二、STC89C52主要参数如下:
(2)工作电压:
5.5V~3.3V
(3)工作频率范围:
0~40MHz,
(4)用户应用程序空间为8K字节;
(5)512字节RAM;
(6)通用I/O口(32个)
(7)ISP(在系统可编程)/IAP(在应用可编程)
(8)具有4kEEPROM储存功能;
(9)共3个16位定时器/计数器。
即定时器T、C
(10)工作温度范围:
-40~+85℃
(11)PDIP封装。
STC89C52RC是MCS的产品升级款、不但延续了传统51单片机向量的2级中断结构、在杂音处理上有着质的突破、通过技术参数的指标可以降低至0Hz、同时可以进行多种模式的选择、在节电模式下、硬件可以有效的进行关闭、包括CPU模块、RAM等一系列硬件指标,在掉电模式下运行时、单片机所运行的数据储存到RAM、CPU失电、及最大化程度上保存了数据、提高安全性!
直到通电、下一个扫描周期中断或者复位!
STC89C52单片机相关引脚说明、如图3-1所示
图3-1单片机引脚图
STC89C52单片机相关引脚说明:
(1)VCC:
供电电压。
(2)GND:
接地。
(3)P3.0RXD(串行输入口)
(4)P3.1TXD(串行输出口)
(5)P3.2/INT0(外部中断0)
(6)P3.3/INT1(外部中断1)
(7)P3.4T0(记时器0外部输入)
(8)P3.5T1(记时器1外部输入)
(9)P3.6/WR(外部数据存储器写选通)
(10)P3.7/RD(外部数据存储器读选通)
(11)RST:
重置输入
(12)ALE/PROG:
此引脚用于在闪存编程期间输入编程脉冲。
通常情况下,输出的正脉冲信号具有恒定的频率周期,即振荡器频率的1/6。
因此,它可以用作外部输出脉冲或用于定时,如果要禁止ALE的输出,地址上设置0。
此时,ALE只在执行MOVX时工作。
此外,销被稍微向上拉
(13)/PSEN:
外部程序存储器的门信号。
(14)/EA/VPP:
当/EA保持低功耗时,在此期间,无论是否有内部程序存储器,外部程序存储器(0000H-FFFFH)。
注意,在加密模式1中,/EA锁定内部程序内存以重置。
当/EA终端保持高功率水平时,内部程序存储器就在这段时间内。
(15)XTAL1:
反向振荡放大器的输入
(16)XTAL2:
来自反向振荡器的输出。
四、STC89C52单片机最小系统说明:
STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。
拥有这三部分电路后,单片机即可正常工作。
单片机最小系统原理图如图3-2所示。
图3-2单片机系统原理图
(1)VCC和GND为STC89C52单片机的电源引脚,提供5V电压
(2)复位电路由按键S1、电解电容EC1和电阻R1组成。
具有手动复位及自动上电功能、通过系统运行时数据反馈上两个信号、在采集到信号时进行手动复位、系统运行时、低电平到高电平、电阻与接地线形成通路、使其高电位跳转低电平、低电平跳转到高电平、从而完成单片机自动复位
(3)时钟电路由晶振Y1、瓷片电容C1和C2组成。
时钟控制电路由电容C1、C2组成、晶振Y1构成。
晶振电路控制CPU、必然需要应用时钟、当时钟自动设定时间、让芯片正常工作、这种工作模式也称为拍、在本设计中、需要使用晶振和电容进行组合、让其晶振稳定工作、同时也满足了数字电路其正常工作
(4)通讯接口JD1
5V电源电路设计
本系统选择5V直流电源作为系统总电源,
当DC接口供电、需要提供电压5V。
同时作为DC接口、可以使其充电灯、包括连接充电线、手机等。
LED电压为1.1K,在工作时产生1.1电阻,在电源电路设计里、LED灯作为保护指示灯的作用、同时起到限流的作用、指示灯为红色LED灯。
开关再次按下后,红灯灭,此时系统电源无5V电源输出。
SW提供5V电压、当按下时、电源接通、完成自锁、红灯亮。
当松开时5V电压断开、红灯灭、红灯熄灭!
此时电压失电!
如图3-3所示
图3-35V电源电路原理图
LCD1602液晶显示模块电路设计
LCD显示器分类可分为字段及字符、显示方式性需要将信号传送到对应的管脚、将其显示、LCD1062型号通常可以显示0~16汉字、模块具有重量请、易拿、稳定性强等特点、且在安装过程中、无需添加外置电路或外置驱动、在工作时、极具优点,可以满足本设计参数二、LCD1602采用标准的14脚,其接口的引脚说明如图3-4如下
、
一、LCD1602技术参数如下:
(1)工作电压4.5-5.5v
(2)工作电流2Ma
(3)显示字符16x2
(4)字符距离2.95x4.35单位:
mm
图3-4LCD1602液晶显示电路原理图
(1)第1脚:
VSS地电源
(2)第2脚:
VDD5V电压
(3)第3脚:
A0LED显示器调整端口
(4)第4脚:
RS为数据寄存器,工作模式:
当电压为高电平时数据寄存器工作、当电压减小时、电路转换成,指令寄存器。
(5)第5脚:
RW为数据信号线,能有效地读写数据,电压高,功率低,数据能读写转换,当RS和RW=低功率级指令输入或显示地址时,当RS为低功率级RW为高功率级时,能读忙信号,当RS为高功率级RW为低功率级时,它可以写数据。
(6)第6脚:
使能E端,当E端从高电平跳到低电平时,LED模块执行命令。
液晶1602的控制器中有11条控制指令,1602液晶显示模块的读写操作、屏幕和光标的操作都是通过指令编程实现的。
如图3-5所示
(注:
1为高电平,0为低电平(7)第7~14脚:
D0~D7为8位双向数据线。
(8)第15~16脚:
空脚
三、控制指令说明
LCD1602液晶模块内部的控制器共有11条控制指令,说明下表3-1所示:
表3-1
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
CGRADDRAM
1
0
数据写入
11
CGRAMDDRAM
1
1
数据输出
表3-1控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
(1)指令1:
清显示,指令码01H,光标复位到地址00H位置
(2)指令2:
光标复位,光标返回到地址00H
(3)指令3:
光标和显示模式设置I/D:
。
(4)指令4:
显示开关控制。
(5)指令5:
光标或显示移位S/C:
(6)指令6:
功能设置命令DL
(7)指令7:
字符发生器RAM地址设置
(8)指令8:
DDRAM地址设置
(9)指令9:
读忙信号和光标地址BF:
(10)指令10:
写数据
(11)指令11:
读数据
LED信号指示灯电路设计
通过转换电能变成光能、发光二极管内部结构PN结组成、设计中R3R4R5电阻为1K。
电阻在LED灯指示电路起到限流作用、当控制端引脚拉低时、LED通电、反之LED断开、如图3-6所示
图3-6LED灯指示电路原理图
HW红外避障模块电路设计
用红外线光电开关。
通过红外线光电开关、具有传播介质较远的特点、常被应用用检测距离较为远的地方、红外传播主要通过发射管、发出一定频段的信号、在过程中如遇到障碍物、接收端进行处理、指示定亮、由此来判断被测距离的方位及位置等、红外具有简单稳定的特点。
红外避障模块模块接口原理图如下图3-7所示。
3-7红外避障模块模块接口原理图
一、模块参数说明
(1)当检测到到前方信号时、红外线模块接收管、信号、模块有效距离30米以内、角度35、此时电路电平开始工作、保持运行、绿灯亮。
有效距离可以通过电位器调节
(3)传感器模块的输出口可以直接与单片机的IO口相连,也可以直接驱动5V继电器。
连接方式:
VCC-VCC.接地-接地输出
(4)该模块可由3-5v直流电源供电。
当电源打开时,红色电源指示灯亮起。
(5)比较器采用LM393,工作稳定。
(6)具有3mm的螺丝孔
(7)电路板尺寸:
3.2CM*1.4CM
二、模块接口说明
(1)VCC外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连
(2)GND外接GND
(3)OUT小板数字量输出接口(0和1)
R1电阻是将红外避障传感器检测到的障碍物信息转换为模拟电压信号的分压器。
模拟信号与LM393比较器连接后,与LM393比较器芯片的2号脚分压器连接后的模拟电压进行比较,再与D0数字信号进行比较(即.高-低电平信号)。
C1和C2是滤波电容器,C1电容器对电源进行滤波,使电源输出更加稳定。
C2电容器对模拟信号进行滤波,以确保模拟信号输出的稳定性。
R2和R3是限流电阻器,用于保护LED灯和防止LED灯熄灭。
LED灯是低水平和有效的。
R5也是电流限制电阻器,以保护红外发射器不烧坏。
R4是一个上拉电阻,它是通过电阻将不确定信号钳位在高电平,起到限流作用。
为了保证LM393比较器输出的高低电平信号在与单片机连接时读取电平信号更加稳定。
红外避障模块内部电路图如3-8所示
图3-8红外避障模块内部电路图
红外避障模块模块实物图如3-9图所示。
第四章系统软件设计
整个控制系统由硬件系统和软件系统组成。
在前一章中,主要介绍了系统硬件电路的设计方案。
为了充分发挥系统的设计功能,需要有支持硬件平台的软件程序,即写入单片机的程序。
4.1编程语言选择
由于整个程序复杂,计算量大,采用了较多的浮点运算,所以程序采用C语言编写。
与汇编语言相比,C语言对大多数51系列微控制器具有以下优点:
(1)您不需要知道处理器的指令集或内存结构。
(2)寄存器分配和寻址由编译器管理,在编程时不需要考虑内存地址和数据类型的详细信息。
(3)C语言的库文件提供了许多标准例程。
(4)模块化编程技术可以用C语言实现,从而可以在新的程序中加入已编程的程序。
4.2单片机程序开发环境
在本设计中,单片机的开发环境是keil-uvision4。
Keil-uvision4。
Keiluvision4是STC公司推出的51系列单片机编译、连接、调试的集成环境。
可以缩短开发周期,从而降低很多成本。
Keil-uvision4不仅提供了一个完整的windows开发环境界面,支持C/C++语言的开发,而且具有高效的C语言编辑功能,使得开发人员很容易使用C语言进行编程。
Keiluvision4具有以下特征:
(1)在KeilC51的基础上,Keiluvision4c51增加了许多新功能。
例如,Keiluvision4增强了内核微控制器的开发支持,改进了KeilC51的开发形式和接口。
4.3KeiluVision4软件开发流程
首先,必须建立一个“项目”项目。
在Keiluvision4界面的菜单中点击“项目”,选择“新建uVision项目”,命名新项目,然后点击保存。
然后选择开发单片机的模式,在本项目中选择“STC89C52”,完成“项目”的建立。
项目完成后,单击“源组”,可以向其中添加AC文件。
单击“添加”编辑文件。
你也可以复制普通的。
C文件到“project”目录。
最后完成的项目软件已完成。
具体开发过程如图4-2所示。
图4-2KeiluVision4软件开发流程图
4.4STC-ISP-15xx-v6.85p程序烧录软件介绍
在Keiluvision4开发环境下,stc89c52rc芯片程序编写软件采用STCISP15xxv6.85p刻录软件,它已广泛应用于51系列高性能智能产品的开发中,是51系列单片机控制系统开发中不可缺少的部分。
在keiluvision4开发环境中,需要使用特定的配置。
首先在软件中选择单片机型号和串行口号,波特率设置与程序软件一致。
4.5PL2303串口程序烧写模块介绍
本设计采用PL2303串行口模块编写单片机程序。
PL2303串行口烧录模块采用USB接口,该下载器价格低廉,性能优良,是开发STC系列单片机的首选优秀工具。
1、PL2303串行端口烧录模块特点:
(1)支持USB1.1或USB2.0通信
(2)完全支持Win98、winme、WIN2000、WINXP、vista、win7等操作系统
(3)电源采用USB接口
(4)STC支持编程器提供3.3V与5V的电压输出接口;
二、PL2303串口烧写模块引脚说明
(1)+5V5V输出,GND接GND。
(2)RXD接单片机的RXD引脚。
(3)TXD接单片机的RXD引脚。
三、PL2303串口烧写模块与单片机的具体接线图如下图4-5所示。
4.6程序流程图
本系统设计主要采用KeiluVision4软件编写与调试程序,程序语言采取易读性和移植性更高的C语言编写。
4..7传感器采集程序及源代码
1、主要的宏定义及函数
sbits=P3^4;//3车位传感器
sbitd=P3^5;//2车位传感器
sbitf=P3^6;//1车位传感器
sbitentry=P3^7;//入口传感器
BYTEcodedis1[]={"Emptycarbit:
"};
BYTEcodedis3[]={"bit"};
delay(BYTEms)//延时
lcd_pos(BYTEpos)//设置lcd显示位置
lcd_wdat(BYTEdat)//单个字符显示
lcd_init()//lcd初始化
voidinit_play1(BYTEdis[])//字符串显示,传的参数为字符串dis1/dis2
voidinit_play(BYTEachar)//显示车位号_bit,传的参数为空车位的号。
2、传感器车位采集信号程序:
判断车位是否有车,为空车位显示其对应号码。
对应程序为:
CarEntry()
{
while
(1)
{
if(f==1){init_play('1');break;}//1号车位为空
if(d==1){init_play('2');break;}
if(s==1){init_play('3');break;}
break;
}
delay(2000);
}
3、主函数程序:
无车进入时,在液晶屏上显示Emptycarbit:
若车位已满时,在液晶屏上显示Emptycarbit:
Nbit
当入口传感器P3^7=0时表示有车进入,掉用上述函数CarEntry()显示车位情况。
程序流程图如图6所示。
对应程序为:
voidmain()
{
lcd_init();//初始化LCD
delay(10);
lcd_pos(0);//设置显示位置
init_play1(dis1);//显示Emptycarbit:
while
(1)
{
while(f==0&&d==0&&s==0)//车位已满
{init_play('N');}
if(entry==0)//入口有车进入
{
CarEntry();
}
elseinit_play('_');//入口无车进入且车场尚有空位时显示“_bit”
}
while
(1);
}
第五章系统焊接与调试
5.1电路焊接
手工焊接是常用的原始焊接方法。
目前,大量的工厂焊接生产基本上没有采用原有的方法,而原来的手工焊接往往被用于常见部件的修复和系统测试。
重要的是,如果在焊接的本质上有问题,它将影响整个控制系统。
可以说,焊接会导致控制系统的不可用。
手工焊接主要包括以下四个步骤:
第一步是开始焊接:
需要对焊接的地方进行清洁,主要是清除油污和