基于AT89S52单片机的停车场车位设计.docx
《基于AT89S52单片机的停车场车位设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S52单片机的停车场车位设计.docx(26页珍藏版)》请在冰豆网上搜索。
![基于AT89S52单片机的停车场车位设计.docx](https://file1.bdocx.com/fileroot1/2022-10/20/e3548cb4-3279-49be-a75c-f883ba8eccf2/e3548cb4-3279-49be-a75c-f883ba8eccf21.gif)
基于AT89S52单片机的停车场车位设计
停车场管理系统设计
[摘要]伴随着科技的飞速发展,交通工具的越来越普及。
汽车作为人类社会中最主要的交通工具之一,起着重大作用。
随着人们生活水平的提高,汽车的数量也与日俱增,于是停车正在成为世界性的问题。
以前落后的人力停车管理即将被高科技化的自动停车管理系统所取代,高度自动化的停车场管理系统节省了大量时间和人力物资消耗,大大提高了效率。
本论文介绍了一种停车场管理系统模型。
它能在任意时间内,根据有效的停车空间,计算能够停泊的车辆数量,并且使用自动而可靠的完成车辆的进。
还能够显示是否有停放的场地以及是否有车辆进、出停车场。
本停车场管理系统是集自动化技术、计算机技术为一体的智能化系统,能够避免停车场入口处及出口处的交通阻塞现象,同时还能满足使用者和管理者对停车场效率、安全、性能以及管理上的需要,不会造成大量资源的流失。
因此,停车场管理系统的研究和实现具有十分重要的现实意义。
[关键词]单片机红外线传感器 动态显示
ﻬ目录
第一章绪 论1
1.1研究背景及意义1
1.2系统概述ﻩ1
1.3课题介绍1
第二章硬件电路设计3
2.1芯片的选择ﻩ3
2.1.2AT89S52引脚功能3
2.1.3AT89S52单片机内部结构ﻩ6
2.1.4七段显示译码器7448的介绍ﻩ7
2.2电源模块的设计9
2.3显示模块的设计9
2.5传感器模块的设计ﻩ12
2.5.1红外线发射模块ﻩ12
2.5.2红外线接收模块ﻩ13
第三章软件设计15
3.1主程序设计ﻩ15
3.3键盘中断程序设计17
3.3.2减少键18
结论19
致谢语20
参考文献:
ﻩ21
附录1:
系统程序清单22
第一章绪论
1.1研究背景及意义
近年来,随着经济建设的快速发展,汽车带给人们快乐的同时也带来了越来越突出的难题:
城市交通问题日益严重,停车问题接踵而至,一个不到10平方米的停车位,牵动着社会的“神经”,停车场车位不足的问题越来越突出。
目前,有偿使用停车场是这个问题最为有效的解决方式,这就使得停车场管理的重要性越来越受到重视。
然而目前的大部分停车场管理系统都是采取人工判别车型、人工收费、人工放行以及人工引导车辆入库等比较传统的管理模式,这在很大程度上制约着城市的发展。
本文是利用单片机来设计的一个停车场管理系统。
在如今农业、工业、生活、军事等各个方面都向自动化、智能化、数字化发展。
为了适应时代的发展,电子技术发展迅猛。
自动化、智能化、数字化的实现方式多种多样,从而产生了很多设计工具。
单片机就是其中之一,它正朝着高性能和多品种方向发展,卓越的性价比受到设计者的欢迎。
1.2系统概述
本系统包括:
传感器模块、电源模块、LED显示模块、键盘输入模块等。
它可以实现控制门的开启、显示当前停车场内车辆的数目及状态、人工的设置总车位数以及剩余车位数等功能。
系统的特点:
(1)由于本系统采用电子元件无需人工管理。
(2)自动控制门的开启。
(3)自动显示停车场的车位状态。
(4)人工设置总车位数,剩余车位数。
(5)本系统适用于任意停车场。
1.3课题介绍
本设计是将单片机作为控制系统的核心部件,通过传感器模块检测到有车辆进出时,进行判断,控制自动门的开启,并通过对显示模块进行动态扫描,显示目前停车场内车辆的数目及状态。
管理者还可以对停车场的最大容量等进行人工的限制。
如系统的基本框图1.1所示:
图1.1系统基本框图
第二章硬件电路设计
该系统用于检测是否有车辆进出,是否有空余车位,应用单片机来控制其他模块以实现对车辆的数目、状态等的加减计数和状态显示,并利用单片机中的定时系统对车辆进出的时间限制以及设定,键盘系统的输入可以人工控制总车位数以及剩余车位数
2.1芯片的选择
2.1.1AT89S52的介绍
本系统采用的是一种低功耗、高性能的MCS-51系列的单片机,AT89S52是一种COMS8位微控制器,具有8K在系统可编程Flash存储器,是由Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52委众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52的主要性能:
●与MCS-51单片机产品兼容;
●8K字节在系统可编程Flash存储器;
● 1000次擦写周期;
●全静态操作;
●三级加密程序存储器;
●32个可编程I/O口线;
●三个16位定时器/计数器;
●8个中断源;
● 全双工UART串行通道;
●低功耗空闲和掉电模式;
●掉电后中断可唤醒;
●看门狗定时器;
●双数据指针;
●掉电标识符;
2.1.2 AT89S52引脚功能
●VCC:
电源
●GND:
地
●P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外接上拉电阻。
●P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1 输出缓冲器能驱动4 个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
作为第二功能时,作用如表1所示:
表2.1 P1口的第二功能
P1口
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
●P2口:
P2口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL 逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2 口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
● P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2 输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用。
在flash编程和校验时,P3口也接收一些控制信号。
作为第二功能时,作用如表2所示:
表2.2P3口的第二功能
P3口
第二功能
信号名称
P3.0
RXD
串行数据接收口
P3.1
TXD
串行数据发送口
P3.2
INT0
外部中断0请求输入
P3.3
INT1
外部中断1请求输入
P3.4
T0
定时器/计数器0的外部输入口
P3.5
T1
定时器/计数器1的外部输入口
P3.6
WR
外部RAM写选通信号
P3.7
RD
外部RAM读选通信号
●RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
●ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE 将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
●PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
● XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
●XTAL2:
振荡器反相放大器的输出端。
AT89S52的引脚如图2.1所示
图2.1AT89S52引脚图
2.1.3AT89S52单片机内部结构
如图2.2所示:
VSS
图2.2AT89S52单片机内部结构图
2.1.4七段显示译码器7448的介绍
7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。
7448的功能如表2.4所示。
它有3个辅助控制端LT、RBI、BI/RBO,现分别简要说明如下:
(1)灭灯输入BI/RBO:
特殊控制端,有时作为输入,有时作为输出。
当BI/BRO作为输入使用且BI=0时,无论其它输入端是什么电平,所有各段输出a~g均为0,所以字形熄灭。
(2)试灯输入LT:
当LT=0时,BI/RBO是输出端,且RBO=1,此时,无论其它输入端是什么电平,所有各段输出a~g均为1.该输入端常用于检查7448本身及显示器的好坏。
(3)动态灭零输入RBI:
当LT=1,RBI=0且输入代码DCBA=0000时,各段输出a~g均为低电平,与BCD码相应的字形0熄灭,故称“灭零”。
(4)动态灭零输出RBO:
BI/RBO作为输出使用时,受控于LT和RBI,当LT=1且RBI=0时,输入代码DBCA=0000时RBO=0;若LT=0或者LT=1且RBI=1,则RBO=1。
该段主要用于显示多位数字时,多个译码之间的连接。
表2.37448功能表
十进制或
功能
输 入
BI/RBO
输出
字 形
LT
RBI
DCBA
abc defg
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
10 1 0
1 0 11
1100
1101
1110
1 11 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
11 1 1 11 0
1110