欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    十字路口交通灯控制器.doc

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

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

    十字路口交通灯控制器.doc

    如有侵权,请联系网站删除,仅供学习与交流十字路口交通灯控制器【精品文档】第 7 页EDA实验报告-十字路口交通灯控制器设计姓名:康淼学号:13020710015指导教师:徐少莹一、 设计目的1、熟悉数字电路中时序逻辑电路与组合逻辑电路的设计。2、熟悉并掌握用移位寄存器设计彩灯数码管控制的方法。二、 设计任务及其要求设计一个十字路口交通控制系统,要求:(1)其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外。(2)设有时钟,以倒计时方式显示每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是40、5和45秒。(3)当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,时钟停止计时,且其数字在闪烁。当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。 实际状态示意图如下:三、 设计思路首先路口的情况分为两种情况,第一是普通情况,第二是紧急情况。因此设计一个EN作为交警手动控制位。当EN=0时,交通灯工作在普通模式,当EN=1时,交通灯工作在紧急模式。一、 普通模式交通灯有三种颜色,红黄绿。通过观察可以发现这三种颜色处在一个循环当中当南北路口的红灯转绿灯时,东西路口应是黄灯转红灯;当南北路口的绿灯转黄灯时,东西路口应是红灯不变;当南北路口的黄灯转红灯时,东西路口应是红灯转绿灯。因此发现东西路口缺少了一种绿转黄的状态,因此可知在程序设计时考虑四种情况:1、南北路口的红灯转绿灯,此时东西路口黄灯转红灯,南北置数39,东西置数442、南北路口的绿灯转黄灯,此时东西路口红灯不变,南北置数4,东西不置数3、南北路口的黄灯转红灯,此时东西路口红灯转绿灯,南北置数44,东西置数394、东西路口绿灯转黄灯,此时南北路口的红灯不变,南北不置数,东西置数4其他情况里东西南北的置数递减即可。二、 紧急模式计时停止;当前的计时状态与0000进行交替闪烁。双向道路全部变成红灯。四、 程序编写library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity trafficlight is port( clk,en:in std_logic; -clock and en pin input led_ns,led_we:out std_logic_vector(2 downto 0); -out pins: north and south led; west and east ledt_ns_h,t_ns_l,t_we_h,t_we_l:out std_logic_vector(3 downto 0) -clock of north and south or west and eastend trafficlight;architecture one of trafficlight is signal temp:std_logic; -clock signalsignal l_ns:std_logic_vector(2 downto 0):="100" -red yellow greensignal l_we:std_logic_vector(2 downto 0):="010"-at the begining ns is stopped,we is allowedsignal temp_ns_h:std_logic_vector(3 downto 0):="0100" -north and south counter high bitsignal temp_ns_l:std_logic_vector(3 downto 0):="0100" -north and south counter low bitsignal temp_we_h:std_logic_vector(3 downto 0):="0011" -west and east counter high bitsignal temp_we_l:std_logic_vector(3 downto 0):="1001" -west and east counter low bitsignal a,b:std_logic_vector(3 downto 0):="0000"signal c,d:std_logic_vector(3 downto 0):="0000"signal state:std_logic:='0' begin process(clk,en)begin if(clk'event and clk='1') then if(en='0') then-work in normal if(temp_ns_h="0000" and temp_ns_l="0000" and l_ns="100") then-north and south time is 0;red led is on temp_ns_h<="0011"temp_ns_l<="1001" -ns time is to 39;l_ns<="010" -ns road : red led is to low; green led is to high;temp_we_h<="0100" temp_we_l<="0100" -we time is to 44;l_we<="100" -we road : red led is to high;elsif(temp_ns_h="0000" and temp_ns_l="0000" and l_ns="010") then-if north and south time is 0;green led is on temp_ns_h<="0000"temp_ns_l<="0100"l_ns<="001"temp_we_l<=temp_we_l-1;-west and east sub 1elsif(temp_ns_h="0000" and temp_ns_l="0000" and l_ns="001") then-if north and south time is 0;yellow led is on temp_ns_h<="0100"temp_ns_l<="0100"-44l_ns<="100"temp_we_h<="0011"temp_we_l<="1001"-39l_we<="010"-green is onelsif(temp_we_h="0000" and temp_we_l="0000" and l_we="010") then temp_we_h<="0000"temp_we_l<="0100"l_we<="001"temp_ns_l<=temp_ns_l-1;else-sub ing if(temp_ns_l="0000" and temp_we_l>"0000") then temp_ns_l<="1001" temp_ns_h<=temp_ns_h-1; else temp_ns_l<=temp_ns_l-1; end if;if(temp_we_l="0000" and temp_ns_l>"0000") then temp_we_l<="1001" temp_we_h<=temp_we_h-1;else temp_we_l<=temp_we_l-1;end if;if(temp_ns_l="0000" and temp_we_l="0000") then temp_ns_l<="1001" temp_we_l<="1001" temp_ns_h<=temp_ns_h-1; temp_we_h<=temp_we_h-1; end if;end if;a<=temp_ns_h;b<=temp_ns_l;c<=temp_we_h;d<=temp_we_l;t_ns_h<=temp_ns_h;t_ns_l<=temp_ns_l;t_we_h<=temp_we_h;t_we_l<=temp_we_l;led_ns<=l_ns;led_we<=l_we;end if;end if;if(en='1') then-work in enmergency if(clk='1') then a<="0000" b<="0000" c<="0000" d<="0000" else a<=temp_ns_h; b<=temp_ns_l; c<=temp_we_h; d<=temp_we_l; end if; t_ns_h<=a; t_ns_l<=b; t_we_h<=c; t_we_l<=d; led_ns<="100" led_we<="100"end if; end process;end one;五、 下载调试将代码进行拷贝在电脑上,分析。无错误后进行pins 配置 ,下载到fpga。功能实现:计时状态正确,外部中断实现。运行波形图1.紧急情况时2.正常运行时六、 课后分析感想 在编写程序之前,自己把课上内容重新看了一遍,并且熟悉了软件的运用方法,然后从图书馆借鉴了一些书籍,从中得到了编写程序的方法,并且在同学和老师的帮助下完成了EDA实验的调试与实现仿真,并在老师的指导下安排好管脚,实现了交通灯的设计,最后还是感谢老师细心教导我们,帮助我们完成实验。

    注意事项

    本文(十字路口交通灯控制器.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开