数字逻辑设计交通灯控制器设计.docx
《数字逻辑设计交通灯控制器设计.docx》由会员分享,可在线阅读,更多相关《数字逻辑设计交通灯控制器设计.docx(16页珍藏版)》请在沃文网上搜索。
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=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 逻辑设计 交通灯 控制器 设计