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

    2022年交通灯控制器的设计.pdf

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

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

    2022年交通灯控制器的设计.pdf

    交通灯控制器的设计EDA 实验报告一、课程设计题目及要求题目 : 十字路口交通灯具体要求 : 设计一个十字路口的交通灯控制器,能显示十字路口东西、南北两个方向红、黄、绿灯的指示状态。用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向红、黄、绿等。变化规律为 :东西绿灯亮 ,南北红灯亮东西黄灯亮,南北红灯亮东西红灯亮,南北绿灯亮东西红灯亮,南北黄灯亮东西绿灯亮,南北红灯亮 ,这样循环下去。南北方向每次通行时间为45 秒,东西方向每次通行时间为45 秒,要求两条交叉道路上的车辆交替运行 ,时间可设置修改。绿灯转为红灯时,要求黄灯先亮5 秒钟 ,才能变换运行车道。并要求所有交通灯的状态变化在时钟脉冲上升沿处。二、实验编程环境QuartusII 8、0 三、课程设计的详细设计方案(一)、总体设计方案的描述1、1、根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首先根 据 功 能 要 求 ,明 确 两 组 交 通 灯 的 状 态 ,这 两 组 交 通 灯 总 共 共 有 四 种 状 态 ,我 们 用ST0,ST1,ST2,ST3 来表示 : St0 表示东西路绿灯亮,南北路红灯亮 ; St1 表示东西路黄灯亮,南北路红灯亮 ; St2 表示东西路红灯亮,南北路绿灯亮 ; St3 表示东西路红灯亮,南北路黄灯亮 ; 1、2、根据上述四种状态描述列出的状态转换表表 9-1 交通灯控制器状态转换表当前状态下一状态转换条件St0 St1 主路绿灯亮了40 秒St1 St2 主路黄灯亮了5 秒St2 St3 主路绿灯亮了40 秒St3 St0 支路黄灯亮了5 秒1、3、根据状态转换表得到交通灯控制器的状态转移图如图所示。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 8 页 - - - - - - - - - - 交通灯控制器的设计交通灯控制器的状态转移图(二)各个模块设计2、1、控制器模块clkholdaredagreenay ellowbredbgreenby ellowcontrolinst1控制器模块示意图其 中 ,clk为 时 钟 信 号 ,时 钟 上 升 沿 有 效 。 hold为 紧 急 制 动 信 号 ,低 电 平 有 效 。ared,agreen,ayellow 分 别 表 示 东 西 方 向 的 红 灯 , 黄 灯 ,绿 灯 显 示 信 号 , 高 电 平 有 效 。bred,bgreen,byellow 分别表示南北方向的红灯,黄灯 ,绿灯显示信号 ,高电平有效。用于控制红绿黄灯的亮暗情况。2、2、45 秒倒计时计数器模块45 秒倒计时计数器模块示意图其中 ,CLK 为时钟信号 ,时钟上升沿有效。EN 为使能端 ,高电平有效。 CR 为紧急制动信号低电平有效。QL3 、 、0就是计数低位。QH3 、 、0 就是计数高位。用于 45 秒的倒计时计数。2、3、7 位译码器模块CLKENCRQL3 、 0QH3 、0OCm45inst2St0 St3 St1 St2 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 8 页 - - - - - - - - - - 交通灯控制器的设计dat3.0abcdefgseg7inst37 位译码器模块示意图其中 dat3、 、0 为要译码的信号。a,b,c,d,e,f,g 为译码后的信号。用于将 45 秒倒计时计数的信号译码成数码管可以识别的信号。2、4、50MHZ 分频器模块clkclk_outdev ideinst50MHZ 分频器模块示意图其中 clk 为 50MHZ 时钟信号 ,时钟上升沿有效。 输出 clk_out 为 1HZ 时钟信号 ,时钟上升沿有效。用于将 50MHZ 的时钟信号转变成1HZ 的时钟信号。(三)结构图设计(四)仿真电路精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 8 页 - - - - - - - - - - 交通灯控制器的设计时序仿真图从图中可瞧到首先进入st0状态,此时东西路绿灯亮,南北路红灯亮;计数器计数到40秒时 ,交通灯控制器进入st1 状态 ,此时东西路黄灯亮,南北路红灯亮 ;在 st1 状态计数器又开始计数,计数器计数到5 秒后,交通灯控制器状态进入st2,此时东西路红灯亮,南北路绿灯亮;在 st2 状态计数器又开始计数,计数器计数到40 秒后 ,交通灯控制器状进入st3状态 ,此时东西路红灯亮,南北路绿灯亮 ;在 st3状态计数器又开始计数,计数器计数到5秒后 ,交通灯控制器状态进入st0状态 ,此时东西路绿灯亮,南北路红灯亮 ,如些循环反复,完成十字交通路口的红绿灯控制。A0-G0,A1-G1 分别为 45 到 0 的译码。(五)分配引脚为了对此工程进行硬件测试,应将编译成功后的程序下载到目标芯片上,并指定输入输出信号的管脚 ,以便添加激励信号与测试输出信号。在下载编译成功的文件之前,需要制定器件的管脚,选择Assignments|Pins 命令 ,在随后出现的下拉列表框中选择对应端口信号名的器件引脚号,如下图 : 四、设计总结与心得通过此次 EDA设计, 我系统性的学习了课本上相关的知识, 对课堂上的知识更加了解。通过认真研究课本, 使我对EDA 程序设计有了一定思路; 通过实验课的学习, 在程序的设计 , 程序的调试方面都学到了很多东西, 在这几天时间里, 实验室的氛围对我们的影响很大,大家一起努力 , 这也就是我们能完成课设的动力。其中在编程中也出现了很多的问题, 但通过老师与精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 8 页 - - - - - - - - - - 交通灯控制器的设计同学的帮助下 , 把问题一一解决。 其实只要我们自己认真瞧书, 仔细分析 , 仔细调试 , 就一定会发下错误 , 在以后的学习中, 要理论联系实际, 把我们所学的理论知识用到实际当中, 学习EDA 更就是如此 , 程序只有经常的写与读的过程中才能提高, 这就就是我在这次课程设计中的最大收获。五、源代码控制器模块 : library ieee; use ieee 、std_logic_1164、all; use ieee 、std_logic_unsigned、all; entity control is port(clk,hold:in std_logic; ared,agreen,ayellow,bred,bgreen,byellow:out std_logic); end control; architecture behavior of control is type state_type is (s0,s1,s2,s3,s4); signal current_state,next_state : state_type; signal counter : std_logic_vector(6 downto 0); begin synch : process begin wait until clkevent and clk =1; if hold=0 then counter=counter; else if counter89 then counter=counter+1; else counter0); end if; end if; end process; process begin wait until clkevent and clk=1; current_state if hold=0 then next_state=s4; else if counter39 then next_state=s0; else next_state if hold=0 then next_state=s4; else if counter44 then next_state=s1; else next_state if hold=0 then next_state=s4; else 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 8 页 - - - - - - - - - - 交通灯控制器的设计 if counter84 then next_state=s2; else next_state if hold=0 then next_state=s4; else if counter89 then next_state=s3; else next_state if hold=0 then next_state=s4; else if counter39 then next_state=s0; elsif counter44 then next_state=s1; elsif counter84 then next_state=s2; elsif counter89 then next_state ared=0; agreen=1; ayellow=0; bred=1; bgreen=0; byellow ared=0; agreen=0; ayellow=1; bred=1; bgreen=0; byellow ared=1; agreen=0; ayellow=0; bred=0; bgreen=1; byellow ared=1; agreen=0; ayellow=0; bred=0; bgreen=0; byellow ared=1; agreen=0; ayellow=0; bred=1; bgreen=0; byellow=0; end case; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 8 页 - - - - - - - - - - 交通灯控制器的设计end process; end behavior; 45 秒倒计时计数器模块: library ieee; use ieee 、std_logic_1164、all; use ieee 、std_logic_unsigned、all; entity m45 is port( CLK :in std_logic; EN :in std_logic; CR :in std_logic; QL,QH :out std_logic_vector(3 downto 0); OC :out std_logic ); end m45; architecture behav of m45 is signal couL,couH:std_logic_vector(3 downto 0); begin process(CR,CLK,EN) begin if CR=0 then couL=0000; couH=0000; elsif clkevent and clk=1 then if EN=1 then if(couL=0 and couH=0)then couL=0100; couH=0100; elsif couL=0 then couL=1001; couH=couH-1; else couL=couL-1; end if; end if; end if; end process; process(couL,couH) begin if(couL=0 and couH=0) then OC=1; else OC=0; end if; end process; QL=couL; QHtmptmptmptmptmptmptmptmptmptmptmptmptmptmptmptmpnull; end case; end process; a=tmp(6); b=tmp(5); c=tmp(4); d=tmp(3); e=tmp(2); f=tmp(1); g=tmp(0); end arc; 50MHZ 分频器模块 : library ieee; use ieee 、std_logic_1164、all; use ieee 、std_logic_unsigned、all; entity devide is port( clk :in std_logic; clk_out :out std_logic ); end devide; architecture arc_devide of devide is begin process(clk) variable count:integer range 0 to 49999999; begin if clkevent and clk=1 then if(count=49999999)then count:=0; clk_out=1; else count:=count+1; clk_out=0; end if; end if; end process; end architecture arc_devide; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 8 页 - - - - - - - - - -

    注意事项

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

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




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

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

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

    收起
    展开