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

加入VIP,免费下载资源
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字逻辑设计交通灯控制器设计.docx

1、 目 录一、实验目的- 3二、预习要求- 3三、实验要求- 3四、仪器与器材- 4五、层次化设计结构- 4)分频器-4)计数器-5)控制器-6)分位译码器-9)数码管驱动-11)七段数字显示-137)顶层模块-14 六、系统实现电路-17七、设计过程中出现的问题-17八、设计体会总结-17一、实验目的1、学会应用数字系统方法进行电路设计;2、进一步提高Maxplus软件开发应用能力;3、培养综合实验的能力;二、预习要求 1、层次化方法设计该交通灯控制器电路; 2、编写VHDL源程序,生成元器件; 3、将各个器件进行组合连线,验证设计交通灯的控制器;三、实验要求设计一个交通灯控制器1、 能显示十

2、字路口东西、南北两个方向的红、黄、绿的指示状态(1) 用L16、L15、L14作为东西方向的绿、黄、红灯;(2) 用L1、L2、L3作为南北方向的绿、黄、红灯。2、 能实现正常的倒计时功能(1) 用M6、M5作为东西方向的倒计时显示器,显示时间为红灯35秒、绿灯50秒、黄灯5秒;(2) 用M2、M1作为南北方向的倒计时显示器,实现时间为红灯55秒、绿灯30秒、黄灯5秒。3、 能实现特殊状态的功能(1) 按S1后,能实现特殊状态功能;(2) 显示器M6M5、M2M1闪烁;(3) 计数器停止计数并保持在原来的状态;(4) 东西、南北路口均显示红灯状态;(5) 特殊状态解除后能继续计数;4、 能实现

3、总体清零功能按下SB后,系统实现总清零,计数器由初始状态计数,对应状态的指示灯亮。5、 使用MaxPlus II 10.0软件设计符合以上功能要求的交通灯控制器,并用层次化设计方法设计该电路。6、 控制器、置数器的功能用功能仿真的方法验证,可通过观察有关波形确认电路设计是否正确。7、 完成全部电路设计后在SE-3实验系统上下载,验证设计课题的正确性。四、仪器与器材 1、开发软件:MaxPlusII 2、微机 3、ISP实验板五、层次化设计结构1、分频器在实际的电路板上,计数的数码管电路采用了1464赫兹的频率,而这个频率对于计数器和控制器来讲太高了。为了让显示计数与灯的亮灭保持同步,我使用了一

4、个1464频率的时钟脉冲,同时使用该分频器将高频时钟信号分成低频脉冲,赋予控制器。程序如下:LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY FreDevider ISPORT (Clkin:IN Std_Logic; Clkout:OUT Std_Logic);END;ARCHITECTURE Devider OF FreDevider ISCONSTANT N:Integer:=499;signal counter:Integer range 0 to N;signal Clk:Std_Logic;BEGIN PROCESS(Clkin) be

5、gin IF clkinevent and clkin=1THEN IF Counter=N then counter=0; Clk=not clk; else counter=counter+1; end if; end if; end process; clkout=clk;end;2、计数器计数范围为0-90。计满90后回到0,开始下一轮计数。如遇hold=1时,停止计数,红灯闪烁;如遇reset=1时,计数清零,回到初始状态。程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY counter IS PORT (clock:IN

6、STD_LOGIC; reset:in std_logic; Hold:in std_logic; countNum:BuFFeR INTEGER RANGE 0 TO 90);END;ARCHITECTURE behavior OF counter IS BEGINprocess(reset,Clock)BEGINIF Reset=1 THENcountNum=0;ELSIF Clockevent and clock=1 THENIF Hold=1 thencountNum=countNum;ELSEIF countNum=90 THENcountNum=0;ELSEcountNum=cou

7、ntNum+1;END IF;END IF;END IF;END PROCESS;END;3、控制器控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段译管的分译码电路。此外,当检测到特殊情况(Hold=1)发生时,无条件点亮红色的发光二极管,并且闪烁。程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY countroller IS PORT (Clock:IN STD_LOGIC; Hold:in std_logic; CountNum:in INTEGER RANGE 0 TO 89; NumA,NumB

8、:out INTEGER RANGE 0 TO 55; RedA,GreenA,YellowA:out std_logic; RedB,GreenB,YellowB:out std_logic); END;ARCHITECTURE behavior OF Countroller IS BEGINprocess(Clock)BEGINIF Clockevent and Clock=1THENIF Hold=1 THEN RedA=1; RedB=1; GreenA=0; GreenA=0; YellowA=0; YellowB=0;ELSIF CountNum=29 THEN NumA=30-C

9、ountNum; RedA=0; GreenA=1;YellowA=0; ELSIF CountNum=34 THEN NumA=35-CountNum; RedA=0; GreenA=0; YellowA=1;ELSE NumA=90-CountNum; RedA=1; GreenA=0;YellowA=0;END IF;IF Hold=1 THEN RedA=1; RedB=1; GreenA=0; GreenA=0; YellowA=0; YellowB=0;elsIF CountNum=34 THEN NumB=35-CountNum; RedB=1; GreenB=0; Yellow

10、B=0;ELSIF CountNum=84 THEN NumB=85-CountNum; RedB=0; GreenB=1; YellowB=0;ELSe NumB=90-CountNum; RedB=0; GreenB=0; YellowB=50 THENNumA=5;NumB=40 THENNumA=4;NumB=30 THENNumA=3;NumB=20 THENNumA=2;NumB=10 THENNumA=1;NumB=Numin-10;ELSE NumA=0;NumB=50 THENNumC=5;NumD=40 THENNumC=4;NumD=30 THENNumC=3;NumD=

11、20 THENNumC=2;NumD=10 THENNumC=1;NumD=Numin-10;ELSE NumC=0;NumD=Numin;END IF;END PROCESS;END;5、数码管驱动控制公共端为高电平控制相应数码管的亮、灭(共阴极数码管的公共端为高电平时,LED不亮;共阳极的公共端为低电平时,LED不亮)。程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY dtsm ISPORT(clk:in STD_LOGIC; hold:in std_logic; N

12、umA,NumB,NumC,NumD: in STD_LOGIC_VECTOR(3 downto 0);segout1:out STD_LOGIC_VECTOR(6 downto 0);led_sel: out STD_LOGIC_VECTOR(3 downto 0);END dtsm;architecture bhv of dtsm iscomponent bcd_data is port ( clk:in std_logic; fin:in std_logic; bcd_data:in STD_LOGIC_VECTOR(3 downto 0); segout:out STD_LOGIC_V

13、ECTOR(6 downto 0);end component; signal x:STD_LOGIC_VECTOR(3 downto 0); signal q:STD_LOGIC_VECTOR(1 downto 0);beginp2:process(clk)beginif clkevent and clk =1 then Qled_sel=0001;xled_sel=0010;xled_sel=0100;xled_sel=1000;xnull;end case;end process;u1:bcd_data PORT map(clk,hold,bcd_data=x,segout=segout

14、1);end ;6、七段数字显示LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY bcd_data ISPORT(clk:in std_logic;fin:in std_logic;bcd_data:in STD_LOGIC_VECTOR(3 downto 0); segout: out STD_LOGIC_VECTOR(6 downto 0);END;ARCHITECTURE behavior OF bcd_data IS signal time :integer range 0 to 255;beginprocess(clk)BEGINif

15、 clkevent and clk=1thenif(fin=0)thentime=0;elseif(time=255)thentime=0;elsetime=time+1;end if;end if;if(timesegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;elsesegout=0000000;end if;end if;END PROCESS;END;7、顶层模快LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; entity dingcen isport

16、( cp:in std_logic; reset,hold:in std_logic; ra,ga,ya,rb,yb,gb:out std_logic; s:out std_logic_vector(6 downto 0); l:out std_logic_vector(3 downto 0);end;Architecture a of dingcen iscomponent countrollerPORT (Clock:IN STD_LOGIC; Hold:in std_logic; CountNum:in INTEGER RANGE 0 TO 89; NumA,NumB:out INTEG

17、ER RANGE 0 TO 55; RedA,GreenA,YellowA:out std_logic; RedB,GreenB,YellowB:out std_logic); END component ;component counter PORT (clock:IN STD_LOGIC; reset:in std_logic; Hold:in std_logic; countNum:BuFFeR INTEGER RANGE 0 TO 90);END component ;component dtsm PORT(clk:in STD_LOGIC;hold:in std_logic; Num

18、A,NumB,NumC,NumD: in STD_LOGIC_VECTOR(3 downto 0);segout1:out STD_LOGIC_VECTOR(6 downto 0);led_sel: out STD_LOGIC_VECTOR(3 downto 0);END component ;component Fenwei PORT(Numin:IN integer RANGE 0 TO 55;NumA,NumB:OUT Integer RANGE 0 to 9);END component ;component Fenwei2 PORT(Numin:IN integer RANGE 0

19、TO 55;NumC,NumD:OUT Integer RANGE 0 to 9);END component ;component FreDevider PORT (Clkin:IN Std_Logic; Clkout:OUT Std_Logic);END component ;signal cp1:std_logic;signal numa1,numb1:integer ;signal cNum:integer ;signal ND1:STD_LOGIC_VECTOR(3 downto 0);signal Na1:STD_LOGIC_VECTOR(3 downto 0);signal Nb

20、1:STD_LOGIC_VECTOR(3 downto 0);signal NC1:STD_LOGIC_VECTOR(3 downto 0);beginu1:countroller port map(cp1,hold,cNum,numa1,numb1,ra,ga,ya,rb,gb,yb);u2:counter port map(cp1,reset,cNum);u3:dtsm port Map(cp,hold,Na1,Nb1,NC1,ND1,s,l);u4:Fenwei port Map(numa1,Na1,Nb1);u5:Fenwei2 port map(numb1,NC1,ND1);u6:FreDevider port map(cp,cp1);end;六、系统实现电路七、设计过程中出现的问题八、设计体会总结16

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922