当前位置:文档之家› 智能停车场系统的设计

智能停车场系统的设计

题目:智能停车场系统的设计作者姓名:学号:单位:通信与电子工程学院指导教师:目录1. 引言 (1)2. 相关背景 (1)2.1 停车场管理系统概述 (1)2.2 研究意义以及前景 (2)3. 方案论证 (2)3.1 总体论证 (2)3.1.1 设计要求 (2)3.1.2实现方案 (2)3.2 方案分析 (2)3.2.1检测探头的选用 (2)3.2.2从机微处理器的选用 (2)3.2.3从机显示模块选择 (3)4. 系统设计 (3)4.1 硬件设计 (3)4.1.1系统模型 (3)4.1.2硬件简介 (3)5. 结论 (5)附录 (7)摘要本文将介绍基于51单片机的智能停车场系统设计,重点是方案论证、系统设计及优化几个方面。

整个智能停车场系统,分为四大模块:IC读卡器控制模块、12864液晶显示模块、步进电机控制模块、红外线控制模块。

12864液晶显示模块以微控制器51单片机为核心,采集各停车位车辆的信息指导车主停车;IC读卡器控制模块通过读取IC卡信息实现身份验证、门控等功能;关键词:智能停车场系统;IC读卡;51单片机;12864液晶显示屏智能停车场管理系统1. 引言随着科学技术的不断发展和人们生活水平的提高,汽车数量迅速增加,车位日益紧张,给人们日常停车带来了诸多麻烦,迫切需要高级停车场和智能的停车管理系统。

然而目前大部分停车场不仅规模小且相对分散,停车管理存在以下弊端:1、人们不能及时掌握各停车场的信息2、在进入停车场时更不能及时找到空车位3、服务质量不高,车辆进出混乱该智能停车场管理系统将会克服上述不足,设计更智能化、人性化。

不仅给车主停车和管理停车场带来了方便,更能充分利用车位资源,减少了拥堵,改善了交通秩序。

2. 相关背景随着中国现代化进程的加快,各停车场车流量日渐增多,单单依靠人工管理,其日常保安与管理工作也日渐繁重。

现代企业和政府管理部门为树立良好的形象,对所辖小区进行规范的现代化管理,已广泛地采用智能停车场,对出入车辆的进行高效管制。

2.1 停车场管理系统概述智能停车场管理系统是一种高效快捷、公正准确、科学经济的停车场管理手段,是停车场对于车辆实行动态和静态管理的综合。

从用户的角度看,其服务高效;从管理者的角度看,其易于操作维护、动化程度高、大大减轻管理者的劳动强度。

采用先进的单片机控制,从高标准、高可靠、高安全的设备,利用了高度自动化的机电和微机设备对停车场进行安全、有效的管理,包括、保安、监控、防盗等。

2.2 研究意义以及前景随着科技的进步和人类文明的发展,大型停车场在住宅小区、大厦、机关单位的应用越来越普遍。

而人们对停车场管理的要求也越来越高,智能化程度也越来越高,使用更加方便快捷,也给人类的生活带来了方便和快乐。

不仅提高了现代人类的工作效率,也大大的节约了人力物力,价低了公司的运营成本,并使得整个停车场安全可靠,因此该智能停车场管理系统将会得到极大的推广。

3. 方案论证3.1 总体论证3.1.1 设计要求设计一款具备停车指导,安全监控的智能停车场管理系统。

3.1.2实现方案为了实现以上功能从大的方面有以下三个方案可供选择:方案一:采用高端CPU利用Internet网络进行信息传输和远程监控。

方案二:采用廉价51单片机对各个车位进行信息采集同时利用电力线载波通信技术或无线网络技术进行信息传输和控制,并将信息提交的主控单片机进行。

方案三:采用廉价 51单片机对各个车位进行信息采集并提供给将寻找车位的车主。

比较:方案一该设计智能化程度高、控制相当准确,便于与网络连接;但是施工工程量很大,费用高;方案二避免了布线安装施工的困难,但成本高,网络性能一般;方案三不仅技术成熟、成本低廉而且通信性能高布线简单,易于实现。

通过以上比较决定采用方案三。

3.2 方案分析3.2.1检测探头的选用红外检测原理实现简单、成本低廉,利用红外线控制模块检测车辆不仅抗干扰性强、检测距离远,提高智能化程度,故在停车位选用红外控制模块检测,在停车场门口选用IC读卡控制模块控制车辆出入。

3.2.2从机微处理器的选用单片机选用深圳宏晶的STC89C52。

此单片机与AT89C52完全兼容,而且STC89C52功能更强、更稳定,特别的一点是STC系列单片机支持串口在线编程功能,且价格与AT89C52相当,故选用STC89C52为控制核心。

3.2.3从机显示模块选择选用12864液晶显示器,功耗低,显示功能强大。

4. 系统设计4.1 硬件设计4.1.1系统模型图1系统整体模型图使相对分散的停车场形成一个统一的整体,便于调度和协调。

停车场内部自成独立的系统适用于小型停车场和独立停车场,扩大了适用范围,此外本系统具有良好的扩展性,便于和监控系统的对接,使其更具有推广应用价值。

4.1.2硬件简介(1)单片机STC89C52STC89C52单片机是深圳宏晶科技代理美国一家高科技公司的产品,它具有无法解密、超低功耗、高速高可靠、抗静电抗干扰的众多优点。

而且STC89C52向下完全兼容ATMEL公司的AT89C52,其中STC89C52支持串口在线编程的功能给实验者带来了很大的方便。

内置8K的FLASH程序存储器更是能够反复擦鞋10000次,使实验者不必担心FLASH存储器的老化。

下面是STC89C52的引脚定义:(2)IC读卡器模块RFID系列的rc522射频读卡器,是采用先进的射频接收线路设计及嵌入式微控制器,结合高效解码算法,完成对64bits Read-Only EM4100兼容式ID卡的接收,具有接收灵敏度高,工作电流小,单直流电源供电,低价位高性能等特点,适用于门禁,巡更等各种射频应用领域。

有效距离10cm以上,在有效距离内数据接收时间小于100ms,单直流电源+5V供电,工作电流小于70mA。

接口描述:IC读卡器接口定义5. 结论本设计利用微型计算机作上位机提供友好的人机界面、语音服务、网络服务,对停车场的管理和监控更加人性化、智能化、合理化,真正实现了对停车场的综合控制管理。

而且本系统利用性能可靠、价格廉价的51单片机作从机微处理器降低了系统成本,便于普通小区普及应用。

系统参数:工作电压:220V,50Hz磁卡有效距离:10cm红外检测探头: 3cm致谢本设计的顺利完成得到了院系领导老师的大力支持和帮助,尤其是我的张劲松老师在百忙之中抽出宝贵的休息时间,仔细耐心地指导我、鼓励我、让我有了解决问题的信心,使设计得以顺利的完成。

本设计的过程中曾多次与同学探讨问题,通过探讨使自己的想法更完善。

另外,我院学生创新实验室的全体师生,也为本设计提供了很大的帮助,在模型的制作中我的女朋友也参与其中帮助我完成了模型制作。

在此,对他们表示由衷的感谢!电子信息技术日新月异地飞速发展,人们总是处在不断学习阶段,再加上我水平有限,所以本设计肯定存在许多不尽如人意的地方,欢迎广大老师和同学批评指正。

最后,我在这里要感谢系里的所有老师,是他们精心的栽培与悉心指导为我以后的学习、工作打下了坚实的基础。

谢谢通信与电子信息工程学院所有老师。

附录实物图:智能停车场管理系统程序:12864液晶显示程序:#ifndef __LCD12864_H#define __LCD12864_H//---包含头文件---//#include"LPCREG.H"//---重定义关键词---//#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif//---如果使用画图模式定义这个---////#define LCD12864_PICTURE//---定义使用的IO口---//#define LCD12864_DATAPORT P1 //数据IO口sbit LCD12864_RS = P0^7; //(数据命令)寄存器选择输入sbit LCD12864_RW = P0^6; //液晶读/写控制sbit LCD12864_EN = P0^5; //液晶使能控制sbit LCD12864_PSB = P3^5; //串/并方式控制sbit LCD12864_RST = P3^4; //复位端//---声明全局函数---//void LCD12864_Delay1ms(uint c);uchar LCD12864_Busy(void);void LCD12864_WriteCmd(uchar cmd);void LCD12864_WriteData(uchar dat);void LCD12864_Init();void LCD12864_ClearScreen(void);void LCD12864_SetWindow(uchar x, uchar y);#endif#include"lcd12864.h"/******************************************************************************** 函数名 : LCD12864_Delay1ms* 函数功能 : 延时1MS* 输入 : c* 输出 : 无*******************************************************************************/void LCD12864_Delay1ms(uint c){uchar a,b;for(; c>0; c--){for(b=199; b>0; b--){for(a=1; a>0; a--);}}}/******************************************************************************** 函数名 : LCD12864_Busy* 函数功能 : 检测LCD是否忙* 输入 : 无* 输出 : 1或0(1表示不忙,0表示忙)*******************************************************************************/uchar LCD12864_Busy(void){uchar i = 0;LCD12864_RS = 0; //选择命令LCD12864_RW = 1; //选择读取LCD12864_EN = 1;LCD12864_Delay1ms(1);while((LCD12864_DATAPORT & 0x80) == 0x80) //检测读取到的值{i++;if(i > 100){LCD12864_EN = 0;return 0; //超过等待时间返回0表示失败}}LCD12864_EN = 0;return 1;}/******************************************************************************* * 函数名 : LCD12864_WriteCmd* 函数功能 : 写命令* 输入 : cmd* 输出 : 无*******************************************************************************/void LCD12864_WriteCmd(uchar cmd){uchar i;i = 0;while( LCD12864_Busy() == 0){LCD12864_Delay1ms(1);i++;if( i>100){return; //超过等待退出}}LCD12864_RS = 0; //选择命令LCD12864_RW = 0; //选择写入LCD12864_EN = 0; //初始化使能端LCD12864_DATAPORT = cmd; //放置数据LCD12864_EN = 1; //写时序LCD12864_Delay1ms(5);LCD12864_EN = 0;}/******************************************************************************* * 函数名 : LCD12864_WriteData* 函数功能 : 写数据* 输入 : dat* 输出 : 无*******************************************************************************/void LCD12864_WriteData(uchar dat){uchar i;i = 0;while( LCD12864_Busy() == 0){LCD12864_Delay1ms(1);i++;if( i>100){return; //超过等待退出}}LCD12864_RS = 1; //选择数据LCD12864_RW = 0; //选择写入LCD12864_EN = 0; //初始化使能端LCD12864_DATAPORT = dat; //放置数据LCD12864_EN = 1; //写时序LCD12864_Delay1ms(5);LCD12864_EN = 0;}/******************************************************************************* * 函数名 : LCD12864_ReadData* 函数功能 : 读取数据* 输入 : 无* 输出 : 读取到的8位数据*******************************************************************************/ #ifdef LCD12864_PICTUREuchar LCD12864_ReadData(void){uchar i, readValue;i = 0;while( LCD12864_Busy() == 0){LCD12864_Delay1ms(1);i++;if( i>100){return 0; //超过等待退出}}LCD12864_RS = 1; //选择命令LCD12864_RW = 1;LCD12864_EN = 0;LCD12864_Delay1ms(1); //等待LCD12864_EN = 1;LCD12864_Delay1ms(1);readValue = LCD12864_DATAPORT;LCD12864_EN = 0;return readValue;}#endif/******************************************************************************** 函数名 : LCD12864_Init* 函数功能 : 初始化LCD12864* 输入 : 无* 输出 : 无*******************************************************************************/void LCD12864_Init(){LCD12864_PSB = 1; //选择并行输入LCD12864_RST = 1; //复位LCD12864_WriteCmd(0x30); //选择基本指令操作LCD12864_WriteCmd(0x0c); //显示开,关光标LCD12864_WriteCmd(0x01); //清除LCD12864的显示内容}/******************************************************************************** 函数名 : LCD12864_SetWindow* 函数功能 : 设置在基本指令模式下设置显示坐标。

相关主题