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

    EDA实验报告实验四交通灯控制器设计.pdf

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

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

    EDA实验报告实验四交通灯控制器设计.pdf

    .实验四 交通灯控制器设计 一、实验目的 1、学习与日常生活相关且较复杂数字系统设计;2、进一步熟悉EDA 实验装置和Quartus软件的使用方法;3、学习二进制码到BCD 码的转换;4、学习有限状态机的设计应用。二、设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在型EDA 实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、交通灯由绿转红前有4 秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR)状态,一旦S 信号有效,经主道黄灯4 秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S 信号消失,系统脱离MRCG 状态,即经乡道黄灯4 秒(MRCY)状态进入MGCR状态,即使S 信号一直有效,MRCG 状态也不得长于20 秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。三、主要仪器设备 1、微机 1 台 2、QuartusII 集成开发软件 1 套 3、EDA 实验装置 1 套 四、实验思路 1、设计一个状态寄存器,控制六盏灯的亮与灭 2、设计一个计时器,控制各状态的持续时间,计时器应满足以下要求:1)当S=1,且计数器已完成60 计数时,计数器进入模4 计数,随后进入模 20 计数,再进入模4 计数,再回到模60 计数 2)当计数器进行摸20 计数时,一旦S 变为0,计数器立马进入模4 计数,.再进入模60 计数 3)完成模20 计数后,不论S 为 0 或 1,计数器进入模4 计数,再进入模60 计数 4)若计数器未完成模60 计数,不论S 如何变话,计数器将继续进行模60 计数 3、设计一个译码显示电路,将计时器的八位BCD 码转化为数码管可以显示的段位码。通过动态扫描电路实现。4、设计一个分频器,将扫描频率分频为基准频率,提供计时器,状态器,译码显示的钟控。5、使用文本设计4 个底层文件,并生成相应元器件,再使用原理图设计顶层文件 五、实验步骤 1、建立工作库文件夹和编辑设计文件 1)建立一个文件夹保存工程文件;2)打开QuartusII,建立新的VHDL 文件,再打开的页面下输入以下程序 控制6 盏灯的模块代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jtd IS PORT(clk,RESET,S:IN STD_LOGIC;COUNT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);MG,MY,MR,CG,CY,CR:OUT STD_LOGIC);END jtd;ARCHITECTURE behav OF jtd IS TYPE jtdSTATE IS(mgcr,mycr,mrcg,mrcy);SIGNAL STATE:jtdSTATE;BEGIN PROCESS(RESET,STATE,clk,S)BEGIN IF RESET=1 THEN STATE=mgcr;MG=1;CR=1;MY=0;MR=0;CG=0;CYIF COUNT=00000001 AND S=1THEN STATE=mycr;MY=1;CR=1;MG=0;MR=0;CG=0;CY=0;ELSE STATE=mgcr;MG=1;CR=1;MY=0;MR=0;CG=0;CYIF COUNT=00000001 THEN STATE=mrcg;MR=1;CG=1;MG=0;MY=0;CR=0;CY=0;ELSE STATE=mycr;MY=1;CR=1;MG=0;MR=0;CG=0;CYIF COUNT=00000001 OR S=0THEN STATE=mrcy;MR=1;CY=1;MY=0;MG=0;CR=0;CG=0;ELSE STATE=mrcg;MR=1;CG=1;MG=0;MY=0;CR=0;CYIF COUNT=00000001 THEN STATE=mgcr;MG=1;CR=1;MR=0;MY=0;CY=0;CG=0;ELSE STATE=mrcy;MR=1;CY=1;MY=0;MG=0;CR=0;CG=0;END IF;END CASE;END IF;END PROCESS;END behav;控制数码管显示倒计时数并且输出:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JISHU IS PORT(clk,S:IN STD_LOGIC;tim:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END JISHU;ARCHITECTURE behav OF JISHU IS TYPE RGY IS(mgcr,mycr,mrcg,mrcy);SIGNAL STATE:RGY;BEGIN PROCESS(clk)VARIABLE b:STD_LOGIC:=0;VARIABLE a:STD_LOGIC:=0;VARIABLE th,tl:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN -IF RESET=1 THEN STATE IF S=1 AND b=1 THEN STATE=mycr;a:=0;th:=0000;tl:=0100;b:=0;ELSIF S=0 AND b=1 THEN STATE IF a=0 THEN th:=0000;tl:=0100;a:=1;else IF NOT(th=0000 AND tl=0010)then tl:=tl-1;ELSE th:=0000;tl:=0001;a:=0;STATEIF S=1 THEN IF a=0 THEN th:=0010;tl:=0000;a:=1;else IF NOT(th=0000 AND tl=0010)then IF tl=0000 then tl:=1001;th:=th-1;else tl:=tl-1;END IF;ELSE th:=0000;tl:=0001;a:=0;STATE=mrcy;END IF;END IF;ELSE a:=0;STATEIF a=0 THEN th:=0000;tl:=0100;a:=1;else IF NOT(th=0000 AND tl=0010)then tl:=tl-1;ELSE th:=0000;tl:=0001;a:=0;STATE=mgcr;END IF;END IF;END CASE;tim=th&tl;END IF;end process;END behav;动态译码显示电路 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY disp IS PORT(CLK:IN STD_LOGIC;INPO:IN STD_LOGIC_VECTOR(7 DOWNTO 0);.sl0,sl1,sl2:buffer STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);GW,SW:buffer STD_LOGIC_VECTOR(3 DOWNTO 0);END DISP;ARCHITECTURE behav OF DISP IS SIGNAL CNT8:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL A:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN GW=INPO(3 downto 0);SW=INPO(7 downto 4);P3:PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN IF CNT8001 THEN CNT8=CNT8+1;ELSE CNT80);END IF;END IF;SEL(0)=sl0 ;SEL(1)=sl1 ;SEL(2)sl2=0;sl1=1;sl0=0;A sl2=0;sl1=0;sl0=1;ANULL;END CASE;END PROCESS ;P4:PROCESS(A)BEGIN CASE A IS WHEN 0000=SGSGSGSGSGSGSGSGSGSGNULL;END CASE;END PROCESS;END behav;分频器电路:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;.ENTITY FEN IS PORT(CLK:IN STD_LOGIC;FOUT:OUT STD_LOGIC);END;ARCHITECTURE one OF FEN IS SIGNAL FULL:STD_LOGIC;BEGIN P_REG:PROCESS(CLK)VARIABLE CNT8:STD_LOGIC_VECTOR(4 DOWNTO 0);-INPORTANT BEGIN IF CLKEVENT AND CLK=1 THEN -512fen IF CNT8=11111 THEN CNT8:=00000;-当 CNT8 计数计满时,输入数据D 被同步预置给计数器CNT8 FULL=1;-同时使溢出标志信号FULL 输出为高电平 ELSE CNT8:=CNT8+1;-否则继续作加1 计数 FULL=0;-且输出溢出标志信号FULL 为低电平 END IF;END IF;END PROCESS P_REG;P_DIV:PROCESS(FULL)VARIABLE CNT2:STD_LOGIC;BEGIN IF FULLEVENT AND FULL=1 THEN CNT2:=NOT CNT2;-如果溢出标志信号FULL 为高电平,D 触发器输出取反 IF CNT2=1 THEN FOUT=1;ELSE FOUT End Time 来设定仿真结束时间 4)在CLOCK 窗口中设置clk 的时钟周期为10ns 5)点击save 保存 6)通过Tools 下的Simulator Tools 项进行仿真,然后观察输出波形。仿真波形如下:当没有完成模60 计数,即使S=1,状态也不发生改变 60 秒过后,若S=1 主道进入黄灯状态并保持4秒 .20 秒过后,不论S=1 或0 乡道进入黄灯状态并保持 4 秒 当 S 一旦为0,乡道立刻进入黄灯状态,并持续四秒.6、引脚设定 六、实验现象及验证 1、当“电平1”不按时(S 为 0),数码管一直保持60 秒倒计时,计数结束后数码管保持 000001 状态,LED 灯保持001100;2、当按下“电平1”(S 为 1),数码管倒计时4 秒,LED 灯 011100;随后倒计时20 秒,LED 灯 100001,此后倒计时4 秒,LED 灯 001011;最后进入倒计时60 秒;3、当倒计时20 秒时,若灭掉“电平1”(S 变为0),数码管倒计时4 秒,LED 灯 001011;最后进入倒计时60 秒。(6 个 led 分别对应主红黄绿、乡红黄绿)七、实验心得 1、学会了模可变倒计时计数器,熟悉了IF NOT 语句,这次试验用了四个模块,总体思路比较清晰,明白了主绿乡红、主黄乡红、主红乡绿、主红乡黄4 个状态之间的循环。2、主要编写了动态译码电路和分频器源代码,对代码的编写要求更加清楚明晰,并且能够在熟悉个元件端口及功能的基础上,能够对元件进行顶层逻辑连接,使之达到所需的实验要求。3、此实验的仿真与硬件结果存在一定的偏差,说明仿真结果并非完全属实,因此更要注重实践,以实验结果为准。

    注意事项

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

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




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

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

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

    收起
    展开