欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    模拟停车场管理系统的设计.doc

    • 资源ID:4281889       资源大小:157.50KB        全文页数:27页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    模拟停车场管理系统的设计.doc

    模拟停车场管理系统的设计辽东学院信息技术学院可编程逻辑器件原理及应用教学实习报告模拟停车场管理系统的设计学生姓名: 学 号: 0915110606 班 级: B1106 专 业: 电子信息工程 指导教师: 2014年07月【摘要】随着人民生活水平的提高,我国汽车保有量不断提升,私家车的数量越来越多,在生活小区、办公场所、商场、旅游景点等地方,停车难问题也日益突出。 解决停车难问题,除了加大基础设施投入(扩建停车场)外,有效地对现有的停车场进行合理分配、调度与管理,也是行之有效的措施,因而建设配套的停车场管理系统,对停车位进行有序地管理十分必要。 目前,无论在生活小区或是在写字楼宇的建设规划中,均已对停车位的规划配备进行了充分考虑,停车场已成为人们生活服务的必备场所之一,停车场的数目增多,对停车场管理系统产生了强大的市场需求。 基于上述两点需求,本文设计了一套停车场管理系统,从地感线圈、道闸、吐卡机、主控板到微机管理系统,全套软硬件系统实现了对场内车位有序地分配与调度。本文将从整体方案、硬件设计、软件设计、安装实施等方面进行全面地介绍该系统。同时,本套系统在比较市场同类产品的基础上,独到地将停车管理中的日常处理从上位机(微机)移至下位机(主控板),降低了整个系统对微机的依赖,显出了自己的竞争优势。【关键词】:停车场、 管理系统、 无线射频卡 【Abstract】With the improvement of people's living standard, car ownership in China is rising, more and more people own private cars, in the living quarters, offices, shopping malls, tourist attractions and other places, parking difficult issues are also increasingly prominent. To solve the parking problem, in addition to increase the investment of infrastructure (expansion of parking lot), effectively carries on the rational distribution, the existing parking lot scheduling and management, is the effective measure, parking management system and construction, the parking spaces for orderly management is very necessary. At present, no matter in the living quarters and office building planning, have parking space with the planning for a full account, parking has become one of the necessary place living services, the number of parking lots more, produced a strong market demand for parking management system. Based on the above two demands, this paper designs a set of parking management system, induction coil, main control gate, temple card machines, plate to the microcomputer management system from the ground, a full set of hardware and software system of the parking spaces and orderly allocation and scheduling. This paper from the overall system design, hardware design, software design, installation and other aspects of the implementation of a comprehensive introduction to the system. At the same time, the system based on the comparison of similar products on the market, will be unique to the daily management of parking from the host computer (PC) to the next machine (main control board), reduce the entire system to rely on the computer, showing its competitive advantage.Keywords:The parking lot, management system, radio frequency card目录绪论11系统工作原理21.1 基本原理22 设计22.1系统结构设计及分析22.2分频模块42.3消抖模块42.4车牌显示模块52.5 计时模块52.6 费率器模块62.7滚动模块62.8译码模块73 使用说明84 结论8参考文献9附录A 源程序10附录B 系统原理图20绪论 近年来,随着中国经济的快速增长和国民收入的不断提高,汽车拥有量也日益增多,汽车已经逐步走进千家万户,使很多城市出现了“停车难”问题。为了满足日益增长的停车需求,大型、超大型停车场不断涌现,传统停车场管理系统已不能满足实际需求。存在的问题突出表现在:现有的停车场管理系统要求车辆在出入停车场时须停车验卡,车辆进出极其缓慢,经常造成上、下班堵车现象,不仅浪费时间,能源浪费也非常严重;随着停车场中车辆数量的增加,管理工作量和难度都成倍加大,传统停车场管理系统在安全性和效率方面暴露出严重的缺陷。因此,对现有的停车场管理系统进行升级更新,是停车场建设中的当务之急。 本文针对上述实际问题,通过研究开发射频识别技术和红外通信技术,设计实现了一种远距离智能识别的停车场管理系统,以解决传统停车管理系统存在的问题。本设计基于射频芯片,设计了无线阅读器和无线智能电子标签通信系统,解决了远距离自动识别车辆信息的问题;所设计的车辆无线阅读识别系统与后台计算机管理系统相联结,便形成了一个功能强大和系统完善的远距离智能车辆识别系统。系统可以实现远距离车辆信息自动识别,实现车辆自动安全检测管理和收费等功能;系统还具有图像比对校验,车辆数据网络自动更新等新功能。远距离智能识别停车场管理系统将新颖的生活理念和建筑艺术、信息技术、计算机技术等现代高科技完美结合,提供的是一种操作简单、使用方便、功能先进的人性化系统。1系统工作原理1.1 基本原理当一辆车进入停车场,按键A被按下:计时器开始计时,同时把该车的车牌号和费率送入数码管显示(3个数码管显示拨码开关对应的十进制数:采用BCD码转换的方法;费率显示采用输入设置,可以通过按键+1的方式设置从199的费率)。当车驶出停车场时,按键被按下,此时计时器停止计时,并把计时时间送入数码管显示(2位小时数、两位分钟数),同时显示车牌号信息及停车费用(三位显示:停车费用停车时间×费率)。由于数码管位数不够采用滚动显示的方式。2 设计2.1系统结构设计及分析本系统主要包括以下七个模块:分频模块fpq,车牌BCD转换模块chepai,消抖模块xiaodou,计时模块jishi,费率模块feilvqi,滚动模块gundong,译码器模块ymq。先通过VHDL文本生成这些模块,再在顶层文件中调用这些模块。系统的主程序流程图如图1所示。图12.2分频模块该模块对实验箱上的50MHz时钟进行分频,分成所需要的几种不同频率的时钟。分频的原理为:对50MHz时钟每来一个上升沿计一次数,当计数到一定值的时候,计数值清零并且让输出电平取反,根据计数值的不同可以得到不同的输出频率。在本设计中分频出0.1HZ,1HZ,100Hz,200Hz,500Hz的频率,以供不同的需要。图22.3消抖模块作为机械开关的键盘,在按键操作时,机械触点的弹性及电压突跳等原因,在触点闭合和开启瞬间会出现电压的抖动。为保证按键识别的准确性,在按键电压信号抖动的情况下不能进行状态输入。为此必须进行去抖动处理,消除抖动部分的电压信号,一般有硬件和软件两种方法。硬件就是加去抖动电路,这样可以从根本上解决按键抖动问题。软件消抖就是利用软件延时消抖,具体说就是当检测到高电平(有按键按下),1kHz脉冲来一个高电平计数值加1,一遇到低电平计数值清零,当计数值大于10时,说明按键是被真的按下,消除了抖动。本系统采用软件消抖。 图32.4车牌显示模块用8位拨码开关表示车号,拨码开关对应的8位二进制通过BCD转换为12位BCD码。图42.5 计时模块当A键按下时,计时器开始计时,B键按下时,计时器停止计时,clk为计时脉冲,来一个上升沿,计数器加1,reset为总复位信号。2.6 费率器模块初值为0,当费率在0-99范围内时,费率按键每按一次,费率加1。图72.7滚动模块滚动显示模块,当C=1时不滚动,但当C=0时滚动显示车牌、停车时间、及停车中费用。y3.0输出到译码器,sel为位选信号。图82.8译码模块该模块将将输入的二进制信号译成相应的七段共阳极数码管的编码。数据输入data3.0,译码输出led7s6.0。图93 使用说明按键说明: A按键:为开始按钮,即当车辆进入停车场时,按下A开始计时,并显示进入车辆的车牌号及收费费率。B按键:为停止按钮,即当车辆驶出停车场时,按下B按钮,停止计时,并滚动显示,车牌号、停车时间及停车费用。费率按键:为费率设置按钮,每按一次,费率加1。Reset按钮为总复位按钮。clk为系统时钟,绑定到实验箱上的50MHz的时钟上,led7s6.0为数码管段选控制信号,sel7.0为8个数码管的位选控制信号。测试方法:首先按下复位键,然后设置八位拨码开关的值(车牌号),此时,数码管显示三位车牌号信息和费率,按下费率按键可以设置费率的值(每按一次加1,范围099),过一段时间,按下B键,此时8位数码管会滚动显示,三位车牌号,四位停车时间和三位停车费。按下复位键,可重新测试。4 结论模拟停车场管理系统,虽然在速度上我没能赶上大部分同学,但是经过在之前将近一个月的前期准备和一周的集中设计让我体会到了很多的东西。虽然在查找资料中找到了一个相似的程序,但是还是有很多的错误。后来,进过与同课题的同学的一起分析和改进终于还是完成了可用的程序。在这场战斗中我有很大的收获,首先我采用层次化结构化设计,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块联合起来调试,加深了我们对层次化设计的概念的认识。在设计的过程中,虽然遇到了很多困难,但是通过向老师和同学请教以及自己不断摸索、测试,一个个难题迎刃而解。从而提高了我独立发现问题、分析问题、解决问题的能力,其次,我也明白了一个道理,任何一件事情,只有亲自去做的时候才知道它到底难不难,有多难。我们就像小马过河中的小马,需要自己多去尝试。参考文献1. EDA技术实用教程潘松,黄继业. 北京:科学出版社,20062. VHDL设计实例与仿真姜雪松,吴钰淳,王鹰等. 北京:机械工业出版社,20073. 基于Quartus 的FPGACPLD设计李洪伟,袁斯华.北京:电子工业出版社,2006附录A 源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fpq isport(clk:in std_logic; FP500HZout,FP200HZout,FP100HZout,FP1HZout,FP01HZout:out std_logic);end entity;architecture one of fpq issignal clkjs1:std_logic;signal clkjs2:std_logic;signal clkjs3:std_logic;signal clkjs4:std_logic;signal clkjs5:std_logic;signal cnq1:integer range 5000000 downto 0;signal cnq2:integer range 5000000 downto 0;signal cnq3:integer range 5000000 downto 0;signal cnq4:integer range 5000000 downto 0;signal cnq5:integer range 50000000 downto 0;beginmk1: process(clk) beginif clk'event and clk='1' thenif cnq5<=2500000 thencnq5<=cnq5+1;elsecnq5<=0;clkjs5<=not(clkjs5); end if;end if;FP01HZout<=clkjs5;end process;mk2:process(clk)beginif clk'event and clk='1' thenif cnq1<=500 then cnq1<=cnq1+1; else cnq1<=0;clkjs1<=not(clkjs1);end if;end if;FP500HZout<=clkjs1;end process;mk3:process(clk)beginif clk'event and clk='1' thenif cnq2<=12500000 then cnq2<=cnq2+1;cnq2<=cnq2+1;elsecnq2<=0;clkjs2<=not(clkjs2);end if;end if;FP200Hzout<=clkjs2;end process;mk4:process(clk)beginif clk'event and clk='1' thenif cnq3<2500 thencnq3<=cnq3+1;elsecnq3<=0;clkjs3<=not(clkjs3);end if;end if;FP100HZout<=clkjs3;end process;mk5:process(clk)beginif clk'event and clk='1'thenif cnq4<250000000 then cnq4<=cnq4+1;elsecnq4<=0;clkjs4<=not(clkjs4);end if;end if;FP1HZout<=clkjs4;end process;end; library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xiaodou is port( clk:in std_logic; din:in std_logic; dout:out std_logic );end xiaodou;architecture arc of xiaodou isbegin process(clk,din) variable temp:integer; begin if clk'event and clk='1' then if (din='0') then temp:=0; end if; if temp>15 then dout<='1' else dout<='0' end if; temp:=temp+1; end if; end process; end arc; library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity chepai isport(-clk: instd_logic;-时钟输入 key : in std_logic_vector(7 downto 0);-键入 - l: outstd_logic_vector (7 downto 0);-输出数码管位选 chep : outstd_logic_vector (11 downto 0)-数码管段码);END chepai ;architecture an of chepai issignal clock : std_logic;-分频后时钟signal p : integer range 0 to 255; signal b0,b1,b2 : integer range 0 to 9;-显示数位寄存器,b0表示个位, signal cnt : integer range 0 to 3:=0;-数码管位选扫描程序beginp<=conv_integer(key);-数据输入process(p)-显示查表进程 functionb_to_s4(bcd8421:integer 0 tO 9)return std_logic_vector is-BCD std_logic_vector variable smg4: std_logic_vecto (3 downto 0); begin case bcd8421 IS-计算输出值 WHEN 0 => smg4:="0000"-0 -gfedcba 共阳WHEN 1 => smg4:="0001"-1WHEN 2 => smg4:="0010"-2WHEN 3 => smg4:="0011"-3WHEN 4 => smg4:="0100"-4WHEN 5 => smg4:="0101"-5WHEN 6 => smg4:="0110"-6WHEN 7 => smg4:="0111"-7WHEN 8 => smg4:="1000"-8WHEN 9 => smg4:="1001"-9when others=>null; END CASE; RETURN smg4; END b_to_s4;begincase p is when 0|10|20|30|40|50|60|70|80|90|100|110|120|130|140|150|160|170|180|190|200|210|220|230|240|250=>b0<=0;when 1|11|21|31|41|51|61|71|81|91|101|111|121|131|141|151|161|171|181|191|201|211|221|231|241|251=>b0<=1;when 2|12|22|32|42|52|62|72|82|92|102|112|122|132|142|152|162|172|182|192|202|212|222|232|242|252=>b0<=2;When 3|13|23|33|43|53|63|73|83|93|103|113|123|133|143|153|163|173|183|193|203|213|223|233|243|253=>b0<=3; When 4|14|24|34|44|54|64|74|84|94|104|114|124|134|144|154|164|174|184|194|204|214|224|234|244|254=>b0<=4; When 5|15|25|35|45|55|65|75|85|95|105|115|125|135|145|155|165|175|185|195|205|215|225|235|245|255=>b0<=5; When 6|16|26|36|46|56|66|76|86|96|106|116|126|136|146|156|166|176|186|196|206|216|226|236|246=>b0<=6; When 7|17|27|37|47|57|67|77|87|97|107|117|127|137|147|157|167|177|187|197|207|217|227|237|247=>b0<=7; When 8|18|28|38|48|58|68|78|88|98|108|118|128|138|148|158|168|178|188|198|208|218|228|238|248=>b0<=8; When 9|19|29|39|49|59|69|79|89|99|109|119|129|139|149|159|169|179|189|199|209|219|229|239|249=>b0<=9; when others=>end case;case p iswhen 0|1|2|3|4|5|6|7|8|9|100|101|102|103|104|105|106|107|108|109|200|201|202|203|204|205|206|207|208|209=>b1<=0;when 10|11|12|13|14|15|16|17|18|19|110|111|112|113|114|115|116|117|118|119|210|211|212|213|214|215|216|217|218|219=>b1<=1;when 20|21|22|23|24|25|26|27|28|29|120|121|122|123|124|125|126|127|128|129|220|221|222|223|224|225|226|227|228|229=>b1<=2;when 30|31|32|33|34|35|36|37|38|39|130|131|132|133|134|135|136|137|138|139|230|231|232|233|234|235|236|237|238|239=>b1<=3;when 40|41|42|43|44|45|46|47|48|49|140|141|142|143|144|145|146|147|148|149|240|241|242|243|244|245|246|247|248|249=>b1<=4;when 50|51|52|53|54|55|56|57|58|59|150|151|152|153|154|155|156|157|158|159|250|251|252|253|254|255=>b1<=5;when 60|61|62|63|64|65|66|67|68|69|160|161|162|163|164|165|166|167|168|169=>b1<=6;when 70|71|72|73|74|75|76|77|78|79|170|171|172|173|174|175|176|177|178|179=>b1<=7;when 80|81|82|83|84|85|86|87|88|89|180|181|182|183|184|185|186|187|188|189=>b1<=8;when 90|91|92|93|94|95|96|97|98|99|190|191|192|193|194|195|196|197|198|199=>b1<=9;when others=>-b0<=10;end case;if p<100 then b2<=0;elsif p>=100 and p<200 thenb2<=1;elsif p>=200 thenb2<=2;end if;chep(3 downto 0)<=b_to_s4(b0);chep(7 downto 4)<=b_to_s4(b1);chep(11 downto 8)<=b_to_s4(b2);end process;end an;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishi isport(A,B,reset:in std_logic; clk_minhz:in std_logic; data:out std_logic_vector(15 downto 0);end;architecture one of jishi issignal data1:std_logic_vector(15 downto 0);signal c:std_logic;beginprocess(clk_minhz,reset,A,B)beginif reset='1' thendata1(15 downto 0)<="0000000000000000"elseif(A'event and A='1')then c<='1'end if;if B='1' thenc<='0'end if;if c='1' thenif clk_minhz'event and clk_minhz='1' thenif data1(3 downto 0)="1001" then data1(3 downto 0)<="0000"if data1(7 downto 4)="0101"then data1(15 downto 8)<=data1(15 downto 8)+1; data1(7 downto 4)<="0000" else data1(7 downto 4)<=data1(7 downto 4)+1;end if;else data1(3 downto 0)<=data1(3 downto 0)+1;end if;end if;elsif c='0' thendata(15 downto 0)<=data1(15 downto 0);end if;end if;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity feilvqi is port(reset:in std_logic; clk_minhz:in std_logic; feilv:out std_logic_vector(7 downto 0) );end feilvqi;architecture one of feilvqi issignal feilv1:std_logic_vector(7 downto 0);-signal c:std_logic;beginprocess(reset,clk_minhz)beginif reset='1'then feilv1<="00000000"elsif clk_minhz'event and clk_minhz='1'thenif feilv1(3 downto 0)="1001"then feilv1(3 downto 0)<="0000"if feilv1(7 downto 4)="1001"thenfeilv1(7 downto 4)<="0000"else feilv1(7 downto 4)<=feilv1(7 downto 4)+1;end if;else feilv1 (3 downto 0)<=feilv1(3 downto 0)+1;end if;end if;feilv<=feilv1;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity gundong isport (A,B:in std_logic; data:in std_logic_vector(15 downto 0); chep:in std_logic_vector(11 downto 0); feilv:in std_logic_vector(7 downto 0); clk_200HZ,clk_1HZ: in std_logic; sel:out std_logic_vector(7 downto 0); y:out std_logic_vector(3 downto 0); end;architecture body_chooser of gundong is signal c:std_logic;signal count:std_logic_vector(2 downto 0);signal cnt: std_logic_vector(3 downto 0);begin-process(clk_200hz)-begin process (A,B)beginif (A'event and A='1') then c<='1'end if;if b='1' then c<='0'end if;end process;process(clk_200HZ)beginif(clk_200Hz'event and clk_200HZ='1')thenif count<"111" thencount<=count+1; else count<="000"end if;end if;end process;process(clk_1HZ)beginif clk_1HZ'event and clk_1HZ='1' THENIF cnt<"1100" then cnt<=cnt+1; else cnt<="0000" end if;end if;end process;process(c,cnt,count)beginif c='1' thencase count iswhen "000"=>y<="0001"sel<="00000001"when"001"=>y<=data(11 downto 8);sel<="00010000"when"010"=>y<=data(7 downto 4);sel<="00001000"when"011"=>y<=data(3 downto 0);sel<="00000100"-when "001"=>y<="1010"sel<="00001000"when"100"=>y<=chep(3 downto 0);sel<="00100000"when"101"=>y<=chep(7 downto 4);sel<="01000000"when"110"=>y<=chep(11 downto 8);sel<="10000000"when others=>null;end case;elsif cnt="0000" thencase count iswhen "000"=>y<=chep(11 downto 8);sel<="10000000"when "001"=>y<=chep(7 downto 4);s

    注意事项

    本文(模拟停车场管理系统的设计.doc)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开