1、数字逻辑电路课程设计 交通灯控制器 作者: 日期:14 个人收集整理 勿做商业用途数字逻辑电路课程设计题 目: 交通灯控制器的设计 专 业: 计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期: 目录: 1设计任务及要求 2 总体控制方案 3控制电路设计l 3.1 控制电路工作原理 l 3.2 控制电路设计原理 4倒计时电路设计l 4.1具有同步置数功能的十进制减法计数器l 4.2主干道与支干道倒计时电路设计5倒计时电路设计l 5。1动态显示工作原理l 5。2动态显示及译码电路设计6总体电路设计l 6.1总体电路l 6。2电路工作说明7电路仿真调试l 7.1控制电路仿真调试l
2、 7。2倒计时电路仿真调试l 7.3译码显示电路仿真调试l 7。4总体电路仿真调试 , 下载验证 8改进意见及收获体会参考文献l 1设计任务及要求 设计一个用于十字路口的交通灯控制器.能显示十字路口东西、南北两个方向的红、黄、绿的指示状态.具有倒计时功能。用两组数码管作为东西和南北方向的倒计时显示,主干道每次放行(绿灯)60秒,支干道每次放行(绿灯)45秒,在每次由绿灯变成红灯的转换过程中,要亮黄灯5秒作为过渡。 黄灯每秒闪亮一次。 l 2总体控制方案设主干道绿灯、黄灯、红灯分别为G1、Y1、R1;支干道绿灯、黄灯、红灯分别为G2、Y2、R2,并且均用0表示灭,1表示亮,则交通灯有如下四种输出
3、状态: 状态G1Y1R1G2Y2R2S000100001S101010001S210001100S311001010通过以上观察可发现: 当主干道或者支干道的倒计时计数值为01时,控制器将从当前状态转入下一个状态。因此,计数值01可作为控制器状态转换的条件,同时也可产生同步置数信号,将下一状态的计数初值置入计数器.l 3控制电路设计3.1控制电路工作原理: 4状态循环实现:主干道和支干道信号灯的实现:采用4位二进制计数器74161实现控制器的四个状态循环。当倒计时计数值为01时T1=1,作为7161的计数使能信号。32控制电路设计原理:状态QBQAG1Y1R1G2Y2R2S000100001S
4、101010001S210001100S311001010 l 4倒计时电路设计4.1:具有同步置数功能的十进制减法计数器:由具有同步置数功能的十进制减法计数器实现。LDN=1时: 通过卡诺图分别求解驱动方程D3D2D1D0LDN=0时: D3D2D1D0=DCBA现态次态CPLDNQ3Q2Q1Q0Q3Q2Q1Q0(D3D2D1D0) 1100110001000011101110110011001010101010001000011001100100010000100010000000010010XXXXDCBA=2。再将两片及联实现2为二进制减法计数器:4.2主干道与支干道倒计时电路设计当主
5、干道或支干道减法计数器为01时,产生同步置数信号,将下一状态计数初值置入。主干道预置数支干道预置数状态D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0S0000000010100000101S1010101000001000101S2100000010100000101S3111110000001100101l 5。 倒计时电路设计 5。1动态显示工作原理: EDA实验板上一共有8个数码管,如果按照传统的数码管驱动方式,则需要8个七段译码器和64个I/O口进行驱动,这样就会浪费大量的资源。所以最常见的数码管驱动电路为动态扫描显示。数码扫描显示原理:利用人眼的视觉暂留效应,把多个
6、数码管按一定顺序进行点亮(显示)。当点亮的频率(即扫描频率)不大时,人眼看到的是数码管一个个的依次点亮,然而扫描频率足够大时,看到的不再是一个一个的点亮,而是全部同时点亮.共阴极数码管:将每个数码管的公共端(阴极)分别接三-八译码器的输出,三八译码器的输入为位选信号;将多个数码管的相同段接在一起,作为段码输入端.5。2动态显示及译码电路设计:七段译码:-bcd-7segLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY bcd_7seg IS PORT( in_data:IN STD_LOGI
7、C_VECTOR(3 DOWNTO 0);out_data:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END bcd_7seg;ARCHITECTURE rtl of bcd_7seg ISBEGINPROCESS(in_data)BEGIN CASE in_data ISWHEN 0000”= out_dataout_data=”00000110”;WHEN 0010=out_dataout_dataout_dataout_data=”01101101”;WHEN 0110=out_data=01111100;WHEN ”0111=out_data=”000001
8、11”;WHEN ”1000”=out_data=”01111111”;WHEN 1001=out_data=”01100111;WHEN OTHERS=out_data=”00000000;END CASE;END PROCESS;END rtl;l 6。总体电路设计:6。1总体电路:6。2电路工作说明:l 7电路仿真调试:7。1控制电路仿真调试:7。2倒计时电路仿真调试:7。3译码显示电路仿真调试:7.4总体电路仿真调试,下载验证:l 改进意见及收获体会:这次设计交通灯控制器历时1个多星期,由于使用的是我没有用过的maxplus2软件,所以在使用时无法熟练的运用其各项功能,为此也消耗了不少时间.所以在做一件事情的时候还是要先把使用工具研究透彻,才能跟好的服务于研究。所幸在最终还是比较满意的完成了这次课程设计,自己也对这门课程也有了更多的实践经验,纸上谈兵终究是不够的,多实践才能出真知.l 参考文献:数字电子技术(第二版)东南大学出版社出版