基于AT89S52单片机的停车场车位设计要点.pdf

上传人:tbuqq 文档编号:5207592 上传时间:2020-02-20 格式:PDF 页数:29 大小:487.59KB
返回 下载 相关 举报
基于AT89S52单片机的停车场车位设计要点.pdf_第1页
第1页 / 共29页
基于AT89S52单片机的停车场车位设计要点.pdf_第2页
第2页 / 共29页
基于AT89S52单片机的停车场车位设计要点.pdf_第3页
第3页 / 共29页
基于AT89S52单片机的停车场车位设计要点.pdf_第4页
第4页 / 共29页
基于AT89S52单片机的停车场车位设计要点.pdf_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于AT89S52单片机的停车场车位设计要点.pdf》由会员分享,可在线阅读,更多相关《基于AT89S52单片机的停车场车位设计要点.pdf(29页珍藏版)》请在三一文库上搜索。

1、停车车位 -单片机 参考资料 I 停车场管理系统设计 摘要伴随着科技的飞速发展, 交通工具的越来越普及。 汽车作为人类社会中最主要的交通 工具之一,起着重大作用。随着人们生活水平的提高,汽车的数量也与日俱增,于是停车正 在成为世界性的问题。 以前落后的人力停车管理即将被高科技化的自动停车管理系统所取代, 高度自动化的停车场管理系统节省了大量时间和人力物资消耗,大大提高了效率。 本论文介绍了一种停车场管理系统模型。它能在任意时间内,根据有效的停车空间,计 算能够停泊的车辆数量,并且使用自动而可靠的完成车辆的进。还能够显示是否有停放的场 地以及是否有车辆进、出停车场。 本停车场管理系统是集自动化技

2、术、计算机技术为一体的智能化系统,能够避免停车场 入口处及出口处的交通阻塞现象,同时还能满足使用者和管理者对停车场效率、安全、性能 以及管理上的需要,不会造成大量资源的流失。因此,停车场管理系统的研究和实现具有十 分重要的现实意义。 关键词 单片机红外线传感器动态显示 停车车位 -单片机 参考资料 II 目录 第一章绪 论 . 1 1.1 研究背景及意义. 1 1.2 系统概述 . 1 1.3 课题介绍 . 1 第二章 硬件电路设计. 3 2.1 芯片的选择 . 3 2.1.1 AT89S52 的介绍 . . 3 2.1.2 AT89S52 引脚功能 . . 3 2.1.3 AT89S52 单

3、片机内部结构 . . 6 2.1.4 七段显示译码器 7448的介绍 . 7 2.2 电源模块的设计. 9 2.3 显示模块的设计. 9 2.4 键盘输入模块的设计 10 2.5 传感器模块的设计 12 2.5.1 红外线发射模块 . 12 2.5.2 红外线接收模块 . 13 2.6 电机控制模块的设计 13 第三章 软件设计 15 3.1 主程序设计 15 3.2 倒计时中断程序设计 16 3.3 键盘中断程序设计 17 3.3.1 增加键 . 17 3.3.2 减少键 . 18 3.3.3 确定键 . 18 结论 . 19 致谢语 . 20 参考文献 : 21 附录 1: 系统程序清单

4、. 22 附录 2: 系统电路原理图 . 29 停车车位 -单片机 1 第一章绪论 1.1 研究背景及意义 近年来,随着经济建设的快速发展,汽车带给人们快乐的同时也带来了越来越突出的难 题:城市交通问题日益严重,停车问题接踵而至,一个不到10平方米的停车位,牵动着社会 的“神经” ,停车场车位不足的问题越来越突出。目前,有偿使用停车场是这个问题最为有效 的解决方式,这就使得停车场管理的重要性越来越受到重视。然而目前的大部分停车场管理 系统都是采取人工判别车型、人工收费、人工放行以及人工引导车辆入库等比较传统的管理 模式,这在很大程度上制约着城市的发展。本文是利用单片机来设计的一个停车场管理系统

5、。 在如今农业、工业、生活、军事等各个方面都向自动化、智能化、数字化发展。为了适 应时代的发展,电子技术发展迅猛。自动化、智能化、数字化的实现方式多种多样,从而产 生了很多设计工具。单片机就是其中之一,它正朝着高性能和多品种方向发展,卓越的性价 比受到设计者的欢迎。 1.2 系统概述 本系统包括:传感器模块、电源模块、LED显示模块、键盘输入模块等。它可以实现控 制门的开启、显示当前停车场内车辆的数目及状态、人工的设置总车位数以及剩余车位数等 功能。 系统的特点: (1)由于本系统采用电子元件无需人工管理。 (2)自动控制门的开启。 (3)自动显示停车场的车位状态。 (4)人工设置总车位数,剩

6、余车位数。 (5)本系统适用于任意停车场。 1.3 课题介绍 本设计是将单片机作为控制系统的核心部件,通过传感器模块检测到有车辆进出时,进 行判断,控制自动门的开启,并通过对显示模块进行动态扫描,显示目前停车场内车辆的数 目及状态。管理者还可以对停车场的最大容量等进行人工的限制。如系统的基本框图1.1 所 示: 停车车位 -单片机 2 图 1.1 系统基本框图 传感器模块 电源 89S52 键盘输入模块 显示模块 停车车位 -单片机 3 第二章硬件电路设计 该系统用于检测是否有车辆进出,是否有空余车位,应用单片机来控制其他模块以实现 对车辆的数目、状态等的加减计数和状态显示,并利用单片机中的定

7、时系统对车辆进出的时 间限制以及设定,键盘系统的输入可以人工控制总车位数以及剩余车位数 2.1 芯片的选择 2.1.1 AT89S52 的介绍 本系统采用的是一种低功耗、高性能的MCS-51系列的单片机, AT89S52是一种 COMS8 位 微控制器,具有 8K在系统可编程 Flash 存储器,是由 Atmel 公司高密度非易失性存储器技术 制造,与工业 80C51产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程, 亦适于常规编程器。在单芯片上,拥有灵巧的8 位 CPU 和在系统可编程 Flash ,使得 AT89S52 委众多嵌入式控制应用系统提供高灵活、超有效的解决方案

8、。 AT89S52的主要性能 : 与 MCS-51 单片机产品兼容; 8K 字节在系统可编程Flash 存储器; 1000 次擦写周期; 全静态操作; 三级加密程序存储器; 32 个可编程 I/O 口线; 三个 16 位定时器 / 计数器; 8 个中断源; 全双工 UART 串行通道; 低功耗空闲和掉电模式; 掉电后中断可唤醒; 看门狗定时器; 双数据指针; 掉电标识符; 2.1.2 AT89S52 引脚功能 VCC :电源 停车车位 -单片机 4 GND :地 P0口:P0口是一个 8位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8个TTL逻辑电 平。对 P0端口写“ 1”时,引脚用

9、作高阻抗输入。当访问外部程序和数据存储器时,P0口 也被作为低 8位地址 / 数据复用。在这种模式下,P0具有内部上拉电阻。在 flash 编程时, P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外接上拉电 阻。 P1口:P1口是一个具有内部上拉电阻的8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使 用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。此 外,P1.0和P1.2分别作定时器 / 计数器 2的外部计数输入( P1.0/T2 )和定时

10、器 / 计数器 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 端口写

11、“ 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 端口写

12、“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使 用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。P3 口亦作为 AT89S52 特殊功能(第二功能)使用。在 flash 编程和校验时, P3口也接收一些控 停车车位 -单片机 5 制信号。作为第二功能时,作用如表2所示: 表 2.2 P3 口的第二功能 P3口第二功能信号名称 P3.0 RXD 串行数据接收口 P3.1 TXD 串行数据发送口 P3.2 INT0 外部中断 0 请求输入 P3.3 INT1 外部中断 1 请求输入 P3.4 T0 定时器 /计数器 0 的外部输入口 P3.5 T1 定时器

13、 /计数器 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 以 晶振六分之一的固定频率

14、输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调, 在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为8EH 的SFR 的 第0位置“1”,ALE 操作将无效。这一位置“ 1”,ALE 仅在执行 MOVX 或MOVC指令时有效。 否则, ALE 将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的SFR 的第0位)的设置对微 控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN )是外部程序存储器选通信号。当 AT89S52从 外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次, 而在访问外部数据存 储器时, PSEN 将

15、不被激活。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 AT89S52的引脚如图 2.1 所示 停车车位 -单片机 6 34 P1. 0 1 P1. 1 2 P1. 2 3 P1. 3 4 P1. 4 5 P1. 5 6 P1. 6 7 P1. 7 8 U1 P3. 0/RXD 10 P3. 1/TXD 11 P3. 2/INT0 12 P3. 3/INT1 13 P3. 4/T0 14 P3. 5/T1 15 P3. 6/WR 16 P3. 7/RD 17 P2. 7/A15 28 P2. 0/A8 21 P2. 1/A9 22 P2.

16、2/A10 23 P2. 3/A11 24 P2. 4/A12 25 P2. 5/A13 26 P2. 6/A14 27 P0. 0/AD0 39 P0. 1/AD1 38 P0. 2/AD2 37 P0. 3/AD3 36 P0. 4/AD4 35 P0. 5/AD5 34 P0. 6/AD6 33 P0. 7/AD7 32 XTAL1 19 XTAL2 18 RST 9 EA 31 PSEN 29 ALE 30 AT89S52 图 2.1 AT89S52引脚图 2.1.3 AT89S52 单片机内部结构 如图 2.2 所示: 停车车位 -单片机 7 图 2.2 AT89S52 单片机内部结

17、构图 2.1.4 七段显示译码器7448的介绍 7448 七段显示译码器输出高电平有效,用以驱动共阴极显示器。7448 的功能如表2.4 所示。它有 3个辅助控制端 LT、RBI、BI/RBO,现分别简要说明如下: (1)灭灯输入 BI/RBO:特殊控制端,有时作为输入,有时作为输出。当BI/BRO作为输 入使用且 BI=0 时,无论其它输入端是什么电平,所有各段输出ag 均为 0,所以字形熄灭。 (2)试灯输入 LT:当 LT=0时,BI/RBO是输出端,且 RBO=1 ,此时,无论其它输入端是 什么电平,所有各段输出ag 均为 1. 该输入端常用于检查7448本身及显示器的好坏。 (3)动

18、态灭零输入RBI:当 LT=1,RBI=0且输入代码 DCBA=0000 时,各段输出 ag 均 为低电平,与 BCD 码相应的字形 0 熄灭,故称“灭零”。 P0 驱动器P2驱动器 P0锁存器 RAM 地址 寄存器 P2锁存器 RAM ACC B寄存器 暂存器 2 暂存器 1 SP ALU PSW EPROM 或 ROM 中断系统 串行口 定时器 / 计时器 指 令 寄 存 器 定 时 及 控 制 16 位地址寄存 器 缓冲器 PC+1 PC DPTR P1 锁存器 P1 驱动器 P3 锁存器 P3 驱动器 振荡器 VCC ALE EA RST PSEN XTAL1 XTAL2 P1.0-P

19、1. 7 P3.0-P3. 7 P0.0-P0. 7 P2.0-P2. 7 VSS 停车车位 -单片机 8 (4)动态灭零输出RBO :BI/RBO作为输出使用时,受控于LT 和 RBI,当 LT=1且 RBI=0 时,输入代码 DBCA=0000 时 RBO=0 ;若 LT=0或者 LT=1且 RBI=1,则 RBO=1 。该段主要用于显 示多位数字时,多个译码之间的连接。 表 2.3 7448功能表 从功能表可以看出,对输入代码0000,译码条件是: LT和 RBI同时等于 1,而对其他输 入代码则要求 LT=1,这时候译码器各段ag 输出的电平是由输入BCD 码决定的,并且满足 现实字形

20、的要求。 2.2 电源模块的设计 整个系统中电源模块主要的是起供应稳定的电压、提高系统的技术指标和抗干扰性。三 端稳压器是一种标准化、系统化的通用线性稳压电源集成电路,在线性集成稳压器中,由于 三端稳压器只有三个引出端子,具有外接元件少,使用方便,性能稳定,价格低廉等优点, 十进制或 功能 输入BI/RBO 输出字形 LT RBI D C B A a b c d e f g 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 0 0 0 0 0

21、 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 0 01 1 0 0 0 0 11 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0

22、1 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 消隐 脉冲消隐 灯测试 X 1 0 X 0 X X X X X 0 0 0 0 X X X X 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 8 停车车位 -单片机 9 因而得到广泛应用。三端稳压器可以决定一个稳压电源输出电压和最大输出电流。用于控制 板电路的稳压以防止电压过高烧毁电路。在本次设计中采用LM7805稳压器。用 LM7805三 端稳压器来组成稳压电源

23、所需的外围元件极少,电路内部还有过流、过热及调整管的保护电 路,使用起来安全可靠、方便,而且价格便宜。当在电路中通上220V交流电压时,交流高电 压通过变压器变换成交流低电压,交流低电压经过桥式整流电路D1-D4的整流和滤波电容C1 的滤波,在三端稳压器 LM7805的 Vin 和 GND 两端形成一个并不十分稳定的直流电压,此直流 电压经过稳压器LM7805的稳压和 C3的滤波便在稳压电源的输出端产生了精度高、稳定度好 的直流输出电压,其电路图如图2.4 所示: 5432 Title NumberSize B Date:25-May-2011 C1 2200u C3 100u C2 0.2

24、C4 0.1 AC220V 50Hz N1N2 8V B VD1-VD4 VinVout GND +5V 1.5A 图 2.4 电源设计总图 2.3 显示模块的设计 该硬件电路是在一个8 位 I/O 口上将所有位的断码线相应段并连在一起,形成断码线的 多路复用,而各位的共阴极分别由相应的I/O 线控制,形成各位的分时选通。本系统选用三 个共阴数码管,总共可以控制255 个车位。如图所示,数码管a-h 脚端连接,通过连接一个 7448 连接到单片机芯片的P1、P2口。其中 7448是驱动作用。另外,本系统还可以显示停车 场的车位状况,我们可以将单片机芯片的P0.0 和 P0.1 来作为显示车位状

25、况的输出端。 将 P0.0 接红色二极管,当其发红光时表示停车场已满即无停车位。将P0.1 接绿色二极管,当其发绿 光时表示停车场未满即还有停车位。但由于P0口的输出电路是漏极开路,换言之,当P0作 为输出时,上拉场效晶体管截止。所以,必须外接上拉电阻才能有高电平。如图2.5 所示 停车车位 -单片机 10 234 ELECTRO1 R2 1K R4 1K R11 1K R10 1K ELECTRO4 a b f c g d e D P Y L E D g n 123456 7 abc d e fg a b f c g d e D P Y L E D g n 1234567 abc defg

26、a b f c g d e D P Y L E D g n 1234567 abc defg 1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K1K P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 U1 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24

27、 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 XTAL1 19 XTAL2 18 RST 9 EA 31 PSEN 29 ALE 30 AT89S52 +5V+5V+5V GREEN LED RED LED A 7 B 1 C 2 D 6 L T 3 B I/ R B O 4 R B I 5 a 1 3 b 1 2 c 1 1 d 1 0 e 9 f 1 5 g 1 4 U2

28、A 7 B 1 C 2 D 6 L T 3 B I/ R B O 4 R B I 5 a 1 3 b 1 2 c 1 1 d 1 0 e 9 f 1 5 g 1 4 U2 A 7 B 1 C 2 D 6 L T 3 B I/ R B O 4 R B I 5 a 1 3 b 1 2 c 1 1 d 1 0 e 9 f 1 5 g 1 4 U2 图 2.5 显示模块总图 2.4 键盘输入模块的设计 键盘工作方式有3 种,即程序控制扫描、定时扫描和中断扫描。程序控制扫描方式是指 单片机在空闲时,才调用键盘扫描子程序,并反复地扫描键盘,直到用户从键盘上输入命令 或数据,而在执行键入命令或处理键入数据过

29、程中,CPU将不再响应键入要求,直到CPU重 新扫描键盘为止;定时扫描方式就是每隔一定时间对键盘扫描一次,它利用单片机内部的定 停车车位 -单片机 11 时器产生一定的时间的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘 进行扫描,并在有键按下时识别出该键执行响应的键功能程序;键盘工作在程序控制扫描方 式时,当无键按下时CPU 要不间断的扫描键盘,直到有键按下为止。如果CPU 要处理很多事 情,这种方式将不能适应。定时扫描方式只要时间一到,CPU就去扫描键盘,工作效率有了 进一步的提高。但这两种方式常使CPU处于空扫状态,而中断方式下,CPU可以一直处理自 己的工作,直到有键闭

30、合时发出中断申请,CPU响应中断,执行相应的中断服务程序,才对 键盘进行扫描,从而提高了CPU的工作效率。本系统用的是程序控制扫描和中断扫描两种方 式相结合的方式。如图2.6 所示。 SW1是编程扫描方式,此开关用于改变显示模块的数码管 状态,该开关断开时, P0.3 为低电平,数码管显示停车场剩余车位量。P0.3 闭合时,为高电 平,数码管显示停车场全部车位量。 SW2 、SW3 、SW4 用于手动调节剩余车位和全部车位数。 SW2 为确定键,利用定时器1(T1)进行中断扫描; SW3 为数字加,利用外部中断1(INT1) 进行中断扫描; SW4 为数字减,利用外部中断0(INT0)进行中断

31、扫描。当SW1 断开时,其它 三个开关调节的是剩余车位的数量,使计数出错时不至于重启系统或系统初始化时使用。当 SW1 闭合时,则是调节全部车位总数的数量。 32 SW2 SW3 SW4 R 5 1 K SW1 SW SPST EL ECTRO3 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 U1 P3.0/ R XD 1 0 P3.1/ TXD 1 1 P3.2/ INT0 1 2 P3.3/ INT1 1 3 P3.4/ T0 1 4 P3.5/ T1 1 5 P3.6/ WR 1 6 P3.7/ R D 1 7 P2.7/

32、 A15 2 8 P2.0/ A8 2 1 P2.1/ A9 2 2 P2.2/ A10 2 3 P2.3/ A11 2 4 P2.4/ A12 2 5 P2.5/ A13 2 6 P2.6/ A14 2 7 P0.0/ AD0 3 9 P0.1/ AD1 3 8 P0.2/ AD2 3 7 P0.3/ AD3 3 6 P0.4/ AD4 3 5 P0.5/ AD5 3 4 P0.6/ AD6 3 3 P0.7/ AD7 3 2 XTAL1 1 9 XTAL2 1 8 R ST 9 EA 3 1 PSEN 2 9 ALE 3 0 AT89S52 R 3 1 K R 6 1 K R 1 3 1

33、K EL ECTRO6 图 2.6 键盘输入模块总图 停车车位 -单片机 12 2.5 传感器模块的设计 本系统采用的是红外线传感器,这部分的功能是感受到物体的运动并且传送信号到 AT89S52芯片上。传感器部分分为发射器和接收器两个部分。 2.5.1 红外线发射模块 系统用两块 555芯片产生波形, 用红外线发射二极管发射波形, 系统采用的是 TSOP1738 接收器,它对于 1KHZ信号调制的 38KHZ脉冲有效。电路图如图所示,图2.7 中,IC12、R1、 R2 、C1 、D1 、C2用于产生 1KHZ 的方波。接通电源后,电容C1被充电, VC上升,当 VC上升 到 2/3VCC时,

34、触发器被复位,同时放电脚(7 脚)导通,此时3 脚输出 VO为低电平,电容 C1通过 R1和 T 放电,使 VC下降。当 VC下降到 1/3VCC时,触发器又被置位, VO反转为高电 平。电容器 C放电所需时间为0.5ms。 当 C1放电结束时, T 截止 VCC 将通过 R1向电容 C1充电,VC由 1/3VCC上升到 2/3VCC所 需的时间为 0.5ms。 当 VC上升到 2/3VCC时,触发器有发生翻转,如此周而复始,在输出端就得到一个周期 性方波,其频率为1KHZ ,占空比为 50% 。 以 IC13 为主的部件产生 38KHZ的方波,原理同上。将 IC12 的 3 脚接 IC13

35、的 4 脚(复位 端) 。当 IC12 输出低电平时, IC13 输出低电平;当 IC12 输出高电平时, IC13 输出 38KHZ的 方波,将此信号加到两个红外线发射管(IR1、IR2)上,通过他们发射信号。R5作为限流电 阻,防止 555芯片和红外线发射管烧坏。 54321 48 15 7 6 23 48 15 7 6 23 R1 3.3K R2 3.3K R3 1.8K R4 1.8K R5 100 D1 1N4148 D2 1N4148 IR1 TX1 IR2 TX2 C3 0.01u C2 0.01u C4 0.01u C1 0.22u +5V GND TTO/PO/P IC12I

36、C13 NE555NE555 图 2.7 传感器图 停车车位 -单片机 13 2.5.2 红外线接收模块 本模块的主要部件是TSOP1738 。TSOP1738是 VISHAY公司推出的一体化红外线接收器, 集红外线接收和放大于一体, 不需要任何外接元件 , 就能完成从红外线接收到输出与TTL电平 信号兼容的所有工作 , 而体积和普通的塑封三极管大小一样。它适合于各种红外线遥控和红外 线数据传输。内部包括光电接收器和带有红外线滤波器的预放大电路它对于1KHZ信号调制的 38KHZ脉冲有效。正常地接收发射模块产生的红外线信号时,接收器的输出端会产生1KHZ的 方波,当没有信号时,输出为+5V 的

37、直流电平。这种传感器的输出为集电极开路型,因此需 要外接阻值大于10K 的上拉电阻。由于传感器精度极高,所以在传感器的输出端和地之间必 须接上一个 22uF的电解电容。 在电源与地线之间必须接上一个4.7uF 的电解电容, 以便减少 接收到的杂散信号的干扰。这样,传感器模块在正常接收信号(没有车经过),输出 0V;当 信号中断时(有车经过)时,输出为+5V。具体的电路图如图2.8 所示。 R12 1M C3 22uF ELECTRO2 VO G N D V I R7 100 C4 4.7uF 图 2.8 红外线接收模块图 2.6 电机控制模块的设计 要横杆改变运动方向,如上升、下降等,要求电动

38、机能实现正、反转。对于三相异步电 动机来说,可通过两个接触器来改变电动机定子绕组的电源相序来实现。电动机正、反转控 制线路如图 2.9 所示,通过按键控制接触器KM1 ,为正向接触器,控制电动机M正转;控制 停车车位 -单片机 14 接触器 KM2 ,为反向接触器,控制电动机M反转。 图 2.9 电机控制模块图 正转控制:合上刀开关Q 按下正向起动按钮SB2 正向接触器 KM1通电 KM1 ,主触点 和自锁触点闭合电动机M正转。 反转控制:合上刀开关Q 按下反向起动按钮SB3 正向接触器 KM2通电 KM2 ,主触点 和自锁触点闭合电动机M反转。 停机:按停止按钮SB1 KM1 (或 KM2

39、)断电 M停转。 停车车位 -单片机 15 第三章软件设计 软件设计是设计中很重要的部分。它关系到一个系统能否实现其预定的要求。 3.1 主程序设计 主程序是软件设计的总体框架,因此主程序的流程图的设计决定了程序编写的好坏,该 主程序的功能是扫描键盘,作出逻辑判断,控制各种中断,数据送入显示模块。其流程图如 图 3.1 所示。 图 3.1 系统主程序流程图 在判断车辆是否进出中:本系统使用了两个传感器,一个用来检测出去的车,一个检测 进来的车。当两个传感器同时检测到车的时候,说明进出的是车辆。当一个传感器检测到车 辆时,开门。当两个传感器都检测到时,通过逻辑判断,剩余车位数进行加减。 开始 显

40、示最大车位 判断是否显示剩 余车位 显示剩余车位 分两次读取传感器状态 比较两次状态 是否一样 判断是否有车进 出 开门开启倒计时剩余车位数增 减 Y Y Y N N N 停车车位 -单片机 16 3.2 倒计时中断程序设计 这个子程序用来计算开门的时间。当时间到时,根据传感器状态判断自动门是否可以关 闭。若可以,则关闭,然后退出;若不可以,则再次设定自动门开启剩余时间,重新进入倒 计时。程序流程图如图3.2 所示。 图 3.2 倒计时中断程序流程图 3.3 键盘中断程序设计 这一部分包括加、减、确定三个键,分别由外部中断1(INT1)外部中断 0(INT0)和定 时器 1(T1) 。 3.3

41、.1 增加键 在此程序中,剩余车位不超过最大车位数,即最大车位数不超过255. 流程图 3.3 如下 断电保护 初始化 TH0,TL0 判 断 开 门 时 间 是否结束 两传感器是否同时 检测到有车 关闭自动门 中断返回 设置倒计时 时间 Y Y N N 停车车位 -单片机 17 图 3.3 按键流程图 3.3.2 减少键 减少键的程序段和3.3.1 相似。 3.3.3 确定键 确定键实现了用定时器1 中断,其作用是判断手动设置以后的剩余车位是否大于最大车 位数,防止系统紊乱。 断点保护 延时后判断P3.3 是否为 低电平 当前是否正在设置剩余车位 最大车位数加一剩余车位数加一 中断返回 Y

42、N 停车车位 -单片机 18 结论 本课题所研究的是通过单片机来实现对停车场的管理,在设计的过程中硬件存在着这样 的问题: (1)本系统中所使用的红外线传感器TSOP1738过于灵敏,输出端出现电平抖动,可以通 过软件或硬件去抖动。我选择了软件抖动,即分两次读取传感器的状态,对比两次读取的状 态,系统做出对应的反应,键盘也是这样做。 (2)数码管显示亮度不够。 AT89S52的 I/O 口得输入功率不够造成的,解决方法是在数码 管输入端和 I/O 口之间添加 7448芯片,进行驱动。 本系统的不足之处: (1)没有实现对电机的无线控制。 (2)由于单片机芯片的局限,系统无车辆出入记录功能,有待

43、改进。 停车车位 -单片机 19 致谢语 从刚接到毕业设计课题 , 我首先是查找一些相关的书籍及资料,并根据实际情况 拟定设计方案,从而达到优化方案。在研究设计电路时,最难的是调试了,但在老师和同 学的帮助下使得本次设计达到了预定的要求。同时,通过这次毕业设计,在各个方面都有 了很大的提高,特别是在理论和实践结合方面使我受益匪浅,使我大学里学习的理论知识 在根本上得到一次最完整的实践和提高。也为我即将面临的工作奠定了很好的基础。在本 次毕业设计中深深认识到自己的各个方面的不足之处,本着提高动手能力以及检测大学所 学知识的目的,我严格要求自己,每一环节都认真对待,定期向知道老师报告进展情况和 请

44、教不懂的地方,得以完成任务。在经过系统的设计与制作后,感触最深的是解决问题的 方法、技巧。在这个过程中,我遇到许许多多问题,对待问题要多方法处理,多角度处理。 这不但增强了实践能力,而且懂得了联系实际的重要性,我坚信这对以后的学习和工作会 有极大的帮助。当然,我的设计还存在着一些缺陷,有待于在将来设计中进一步提高。 停车车位 -单片机 20 参考文献: 1 李广弟 . 单片机基础 M. 北京: 北京航天航空大学出版社 , 2005. 2 胡汉才 . 单片机原理及接口技术 M. 北京: 清华大学出版社 , 2004. 3 马忠梅 . 单片机 C语言 Windows环境编程宝典 M. 北京: 北京

45、航空航天大学出版社, 2004. 4 佟云峰 . 单片机原理及应用 M. 北京: 机械工业出版社 , 2006. 5 郭天翔 .51 单片机 C语言教程 . 电子工业出版社 , 2008. 6 潘清明,刘启新 . 基于单片机路灯网络控制系统. 中国制造业信息化 , 2008. 附录 1: 系统程序清单 #include #define OPEN_DOOR DOOR = 1 #define CLOSE_DOOR DOOR = 0 #define NO_FREE_PARK RED_LED=1;GREEN_LED=0; #define HAVE_FREE_PARK RED_LED=1;GREEN_L

46、ED=0; #define SEG P0 sbit baiw=P20; sbit shiw=P21; sbit gew=P22; sbit EXT_LINE = P30; / sbit INT_LINE = P31; / sbit SW1 = P03; sbit DOOR = P02; /1 打开, 0 关闭 sbit RED_LED = P00;/空闲指示灯 1 亮 表示无空闲车位 sbit GREEN_LED = P00;/空闲指示灯 1 亮 表示有空闲车位 unsigned char total_num=255; / 最大车位 unsigned char remain_num=255;

47、/ 剩余车位 停车车位 -单片机 21 unsigned char dai,shi,ge; unsigned char check_car(void); void delay_ms(unsigned int ms); void display(unsigned char va); unsigned char seg7code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; void main(void) EX0=1;; EX1=1; EA=1; while(1) if(1=check_car() /如果检测到 car 出入 OPEN_DOO

48、R; / 启动定时器的程序 TMOD=0X01; TH0=0XFF; TL0=0; EA=1; ET0=1; TR0=1; /end of“启动定时器的程序 “ else ;/ do nothing if(0=remain_num) 停车车位 -单片机 22 NO_FREE_PARK; else HAVE_FREE_PARK; if(0=SW1) display(remain_num); else display(total_num); unsigned char check_car(void) unsigned char ext_1=0; unsigned char int_1=0; uns

49、igned char ext_2=0; unsigned char int_2=0; unsigned char return_flag=0; EXT_LINE = 1; INT_LINE = 1; /设置为读 ext_1 = EXT_LINE; int_1 = INT_LINE;/读取状态 if(0=ext_1) 停车车位 -单片机 23 else if(1=ext_1) else if(1=ext_1)/延时 ext_2 = EXT_LINE; int_2 = INT_LINE;/读取状态 if(0=ext_1) return_flag = 1; else /异常 ;/do nothing else / if(0=ext_1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1