EDA交通灯课程设计_第1页
EDA交通灯课程设计_第2页
EDA交通灯课程设计_第3页
EDA交通灯课程设计_第4页
EDA交通灯课程设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、eda交通灯课程设计 姓名:xxx学号:*专业:*学院:电气与信息工程学院1 系统功能设计要求1. 东西各设有一个绿、黄、红指示灯;一个2位7段数码管(1)南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s;(2)当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。(3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的剩余时间。3. 能实现正常的倒计时显示功能。能实现总体清理功能,计数器由初始状态开始计数,对应状态的指示灯亮。2 设计原理2.1 交通灯控制器的状态转换根据论文题目要求,将红绿灯的状态转换列成如下表上

2、表为交通灯控制器的状态转换表2.2设计方案设计方案 倒计时模块显示模块控制模块1、显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。2、每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。3、控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。2.2 led动态显示与频率由于交通灯需要使用2位7段led数码管指示通行剩余时间,故采用led动态扫描方式显示当前时间。 频率设定clk1k对

3、应的频率为1024hz 3 电路符号交通控制器的电路符号如图1.3所示。其中,clk1k为系统时钟信号输入端,sn为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4、为数码管地址选择信号输出端。4 设计方法采用文本编辑法,既采用vhdl语言描述交通控制器,代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_

4、logic_unsigned.all;entity traffic is port (clk1k,sn:in std_logic; led1, led2, led3, led4 :out std_logic_vector (3 downto 0);-显示管显示时间用light:out std_logic_vector (5 downto 0); -红绿黄灯end traffic;architecture traffic1 of traffic issignal s:std_logic_vector (1 downto 0); -状态signal dxt:std_logic_vector(7 d

5、ownto 0):=x"01"-东西方向时间signal nbx:std_logic_vector(7 downto 0):=x"01" -南北方向时间signal art,agt,ayt,brt,bgt,byt: std_logic_vector(7 downto0);-红绿黄灯信号signal sl: std_logic;signal temp: integer range 0 to 1023; -产生1s计数器时计数 signal clk: std_logic; begin sl<='1' -红绿灯时间设定art<=&q

6、uot;00100101"agt<="00100000"ayt<="00000100"brt<="00100101"bgt<="00100000"byt<="00000100"process(clk1k) - 选频率为1024hzbegin if (clk1k'event and clk1k='1') then if temp=1023 then temp<=0; clk<='1' else temp&l

7、t;=temp+1; clk<='0' end if;end if; end process; -进程结束process(clk,dxt,nbx) -状态转换进程beginif clk'event and clk ='1' then if(dxt ="00000001")or (nbx = "00000001") then s<=s+1; else s<=s;end if; -状态转换结束end if;end process;process (clk,sn,s) -倒计时模块begin if sn

8、 = '1' then dxt<=dxt; nbx<=nbx;elseif clk'event and clk='1' then if (dxt="0000000") or (nbx="00000000") then case s is when "00"=>dxt<=art; nbx<=bgt; -南北红灯、东西绿灯 when "01"=> nbx<=byt; -南北红灯、东西黄灯 when "10"=>d

9、xt<=agt; nbx<=brt; -南北绿灯、东西红灯 when "11"=>dxt<=ayt; -南北黄灯、东西红灯when others=>null; end case;end if;if dxt/="00000000" then if dxt(3 downto 0)= "0000" then dxt(3 downto 0)<="1001" dxt(7 downto 4)<=dxt(7 downto 4)-1;else dxt(3 downto 0)<=dxt

10、(3 downto 0)-1; dxt(7 downto 4)<=dxt(7 downto 4);end if;end if;if nbx/="00000000" then if nbx(3 downto 0)="0000" then nbx(3 downto 0)<="1001" nbx(7 downto 4)<=nbx(7 downto 4)-1;else nbx(3 downto 0)<=nbx(3 downto 0)-1; nbx(7 downto 4)<=nbx(7 downto 4);end

11、if;end if;end if;end if;end process; -倒计时模块结束process(sl,dxt,nbx,s,sn) -显示模块begin case sl is when '1'=>led1<=nbx(3 downto 0); led2<=nbx(7 downto 4); led3<=dxt(3 downto 0); led4<=dxt(7 downto 4);when others=>null;end case;if sn ='1' then light<="001001"el

12、se case s is when "00"=>light<="010001" when "01"=> light <="100001" when "10"=> light <="001010" when "11"=> light <="001100"when others=>null;end case;end if;end process;end traffic1;5 软件仿真时序

13、仿真图6 结论 数码管动态显示,需要通过位选、段选控制。通过查询手册,将2位位选信号接到试验箱数码管位选端,将7位段选信号连接到试验箱数码管的段选控制端。当送人合适的控制信号后,数码管即可正常工作。通过下载仿真后,能得到预期的实验结果。通过拨动(开关控制)为高电平,能实现交通灯紧急状态(红灯全亮)。若sn为低电平,数码管和主南北的红绿灯能有序亮灭。7收获及感想短短一个星期的eda课程设计很块就结束了,虽然在之前的学习过程中还存在着没有弄懂的问题,但是通过这次设计,进一步加深了对eda的了解,让我对它有了更加浓厚的兴趣。在拿到题目后,首先进行了单元模块的设计,将每一个单元模块设计完成后再经行仿真,在波形仿真的过程中,同样遇到了困难,有的时候,由于end time的时间修改的太大,会出现仿真时间过长的问题,这个时候应该要把end time的时间相应的改小,或是修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论