ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:148.34KB ,
资源ID:23573621      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23573621.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(交通灯控制电路设计与仿真.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

交通灯控制电路设计与仿真.docx

1、交通灯控制电路设计与仿真交通灯控制电路设计和仿真一、 实验目的 1、 了解交通灯的燃灭规律。 2、 了解交通灯控制器的工作原理。 3、 熟悉 VHDL 语言编程,了解实际设计中的优化方案。 二、 实验原理 交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。 要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规, “红灯停, 绿灯行,黄灯提醒” 。

2、 其交通的燃灭规律为: 初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 在实验中使用 8 个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为 20s。数码管的时间总是显示为 19、18、172、1、0、19、18。在显示时间小于 3 秒的时候,通车方向的黄灯闪烁。三、 实验内容 本实验要完成任务就是设计一个简单的交通灯控制器

3、,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的 1KHz时钟,黄灯闪烁时钟要求为 2Hz,七段码管的时间显示为 1Hz脉冲,即每 1s 中递减一次,在显示时间小于 3 秒的时候,通车方向的黄灯以 2Hz 的频率闪烁。系统中用 S1 按键进行复位。 实验箱中用到的数字时钟模块、按键开关、数码管和 FPGA 的接口电路,以及数字时钟源、按键开关、数码管和 FPGA 的管脚连接在以前的实验中都做了详细说明,这里不在赘述。交通灯模块原理和 LED 灯模块的电路原理一致,当有高电平输入时 LED 灯就会被点亮,反之不亮。只是 LED 发出的光有颜色之分。其和 FPG

4、A 的管脚连接如下表 19-1 所示:四、 实验步骤 1、 打开 QUARTUSII 软件,新建一个工程。 2、 建完工程之后,再新建一个 VHDL File,打开 VHDL 编辑器对话框。 3、 按照实验原理和自己的想法,在 VHDL 编辑窗口编写 VHDL 程序,用户可参照光盘中提供的示例程序。 4、 编写完 VHDL 程序后,保存起来。(1)-jtdkz.vhdlibrary ieee;use ieee.std_logic_1164.all;entity jtdkz is port(clk,sm,sb:in std_logic; mr,my0,mg0,br,by0,bg0:out std

5、_logic);end entity jtdkz;architecture art of jtdkz istype state_type is(A,B,C,D);signal state:state_type;begincnt:process(clk) isvariable s:integer range 0 to 45;variable clr,en:bit;begin if(clkevent and clk=1)then if clr=0then s:=0; elsif en=0 then s:=s; else s:=s+1; end if; case state is when A=mr

6、=0;my0=0;mg0=1;br=1;by0=0;bg0=0; if(sb and sm)=1 then if s=45 then state= B;clr:=0;en:=0; else state=A;clr:=1;en:=1; end if; elsif(sb and(not sm)=1then state=B;clr:=0;en:=0; else statemr=0;my0=1;mg0=0;br=1;by0=0;bg0=0; if s=5 then state=C;clr:=0;en:=0; else statemr=1;my0=0;mg0=0;br=0;by0=0;bg0=1; if

7、(sb and sm)=1 then if s=25 then state= D;clr:=0;en:=0; else state=C;clr:=1;en:=1; end if; elsif sb=0 then state=D;clr:=0;en:=0; else statemr=1;my0=0;mg0=0;br=0;by0=1;bg0=0; if s=5 then state=A;clr:=0;en:=0; else state=D;clr:=1;en:=1; end if; end case; end if; end process cnt; end architecture art; (

8、2)cskz.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cskz isport(ina:in std_logic; outa:out std_logic);end entity cskz;architecture art of cskz isbeginprocess(ina) isbegin if ina=1 then outa=1;else outa=0;end if;end process;end architecture art;(3)cnt45s.vhd libr

9、ary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt45s isport(sb,clk,en45:in std_logic; dout45m,dout45b:out std_logic_vector(7 downto 0);end entity cnt45s;architecture art of cnt45s issignal cnt6b:std_logic_vector(5 downto 0);beginprocess(sb,clk,en45)is begin if sb=0then

10、cnt6b=cnt6b-cnt6b-1; elsif(clkevent and clk=1)then if en45=1then cnt6b=cnt6b+1; elsif en45=0 then cnt6bdout45m=01000101;dout45bdout45m=01000100;dout45bdout45m=01000011;dout45bdout45m=01000010;dout45bdout45m=01000001;dout45bdout45m=01000000;dout45bdout45m=00111001;dout45bdout45m=00111000;dout45bdout4

11、5m=00110111;dout45bdout45m=00110110;dout45bdout45m=00110101;dout45bdout45m=00110100;dout45bdout45m=00110011;dout45bdout45m=00110010;dout45bdout45m=00110001;dout45bdout45m=00110000;dout45bdout45m=00101001;dout45bdout45m=00101000;dout45bdout45m=00100111;dout45bdout45m=00100110;dout45bdout45m=00100101;

12、dout45bdout45m=00100100;dout45bdout45m=00100011;dout45bdout45m=00100010;dout45bdout45m=00100001;dout45bdout45m=00100000;dout45bdout45m=00011001;dout45bdout45m=00011000;dout45bdout45m=00010111;dout45bdout45m=00010110;dout45bdout45m=00010101;dout45bdout45m=00010100;dout45bdout45m=00010011;dout45bdout4

13、5m=00010010;dout45bdout45m=00010001;dout45bdout45m=00010000;dout45bdout45m=00001001;dout45bdout45m=00001000;dout45bdout45m=00000111;dout45bdout45m=00000110;dout45bdout45m=00000101;dout45bdout45m=00000100;dout45bdout45m=00000011;dout45bdout45m=00000010;dout45bdout45m=00000001;dout45bdout45m=00000000;

14、dout45b=00000000;end case;end process;end architecture art;(4)cnt05s.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt05s isport(clk,en05m,en05b:in std_logic;dout5:out std_logic_vector(7 downto 0);end entity cnt05s;architecture art of cnt05s issignal cnt3b:std_lo

15、gic_vector(2 downto 0);beginprocess(clk,en05m,en05b)isbeginif(clkevent and clk=1)then if en05m=1then cnt3b=cnt3b+1; elsif en05b=1then cnt3b=cnt3b+1; elsif en05b=0then cnt3bdout5dout5dout5dout5dout5dout5=00000000;end case;end process;end architecture art;(5)cnt25s.vhdlibrary ieee;use ieee.std_logic_1

16、164.all;use ieee.std_logic_unsigned.all;entity cnt25s isport(sb,sm,clk,en25:in std_logic;dout25m,dout25b:out std_logic_vector(7 downto 0);end entity cnt25s;architecture art of cnt25s issignal cnt5b:std_logic_vector(4 downto 0);beginprocess(sb,sm,clk,en25)isbeginif sb=0then cnt5b=cnt5b-cnt5b-1; elsif

17、 sm=0 then cnt5b=cnt5b-cnt5b-1; elsif(clkevent and clk=1) then if en25=1 then cnt5b=cnt5b+1; elsif en25=0 then cnt5bdout25b=00100101;dout25mdout25b=00100100;dout25mdout25b=00100011;dout25mdout25b=00100010;dout25mdout25b=00100001;dout25mdout25b=00100000;dout25mdout25b=00011001;dout25mdout25b=00011000

18、;dout25mdout25b=00010111;dout25mdout25b=00010110;dout25mdout25b=00010101;dout25mdout25b=00010100;dout25mdout25b=00010011;dout25mdout25b=00010010;dout25mdout25b=00010001;dout25mdout25b=00010000;dout25mdout25b=00001001;dout25mdout25b=00001000;dout25mdout25b=00000111;dout25mdout25b=00000110;dout25mdout

19、25b=00000101;dout25mdout25b=00000100;dout25mdout25b=00000011;dout25mdout25b=00000010;dout25mdout25b=00000001;dout25mdout25b=00000000;dout25m=00000000; end case; end process; end architecture art;(6)xskz.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xskz isport(en

20、45,en25,en05m,en05b:in std_logic;ain45m,ain45b,ain25m,ain25b,ain05:in std_logic_vector(7 downto 0);doutm,doutb:out std_logic_vector(7 downto 0);end entity xskz;architecture art of xskz isbeginprocess(en45,en25,en05m,en05b,ain45m,ain45b,ain25m,ain25b,ain05)isbeginif en45=1then doutm=ain45m(7 downto 0

21、);doutb=ain45b(7 downto 0); elsif en05m=1then doutm=ain05(7 downto 0);doutb=ain05(7 downto 0); elsif en25=1then doutm=ain25m(7 downto 0);doutb=ain25b(7 downto 0); elsif en05b=1then doutm=ain05(7 downto 0);doutb=ain05(7 downto 0);end if;end process;end architecture art;(7)ymq.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ymq isport(clk:in std_logic; ain41,ain42,ain43,ain44:in std_logic_vector(3 downto 0); del:out std_logic_vector(2 downto 0); dout7:out std_logic_vector

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1