数字逻辑电路课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计名称:数字逻辑电路
系别:三系
学生姓名:朱强
班级:13软件2班
学号:20130311227
成绩:
指导教师:朱慧博
开课时间:2014-2015 学年第一学期
一.设计题目
题目:交通信号灯控制器
二.主要内容
1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红绿黄LED做信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。
2)主干道每次放行60秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路
3)每次由绿灯转换为红灯时,要亮5秒黄灯作为过度,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。
三.具体要求
1、对所设计电路的功能明确
2、熟悉软件的基本操作
3、报告中课题总体设计功能复合
四.进度安排
五.成绩评定
1、考核方法:总成绩由平时成绩和设计、报告成绩三部分组成,
各部分比例为20%,20%,60%。
2、成绩评定:
(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。迟到15分钟按旷课处理
(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。
(3)设计报告成绩:按照提交报告的质量给出相应的成绩。
目录
1总体设计方案 (2)
2 控制电路设计 (2)
2.1 控制电路工作原理 (2)
2.2 控制电路设计过程 (4)
3 倒计时电路设计 (5)
4 译码显示电路设计 (9)
4.1动态显示工作原理 (9)
4.2动态显示及译码电路设计 (9)
5 总体电路设计 (11)
6 电路仿真调试 (12)
7 改进意见及收获体会 (16)
8 参考文献 (17)
1 总体设计方案
交通灯控制器的总体功能框图
交通灯控制器的功能框图
2控制电路设计
2.1 控制电路工作原理:
设主干道绿灯,黄灯,红灯分别为G1,Y1,R1;支干道绿灯,黄灯,红灯分别为G2,Y2,R2;并且均用0表示灭,1表示亮,则交通灯有如下四种输出状态:
采用四位二进制计数器74161实现控制器的四个状态循环。当倒计时计数器值为01时,产生74161的技术使能信号,使控制器从当前状态转入下一个状态。因此,计数值01可作为控制器状态转换的条件T1=T,同时也可产生同步置数信号,将下一状态的计数初值置入计数器。
状态转换图为:
T1=0
T1=1 T1=1
2.2控制电路设计过程
由状态表可以得到:
控制电路图:
1001111232322223320101
;;;
B A B A B A B A B A B A B A B A G Q Q m Y Y Q Q m Y
R Q Q Q Q m m Y Y G Q Q m Y Y Q Q m Y R Q Q Q Q m m Y Y =⋅===⋅===⋅+⋅=⋅=⋅=⋅===⋅===⋅+⋅=⋅=⋅
3 倒计时电路设计
Mux2的原理图:
计数器原理图:
减法计数器电路图:
主干道和支干道倒计时电路设计
当主干道或只干道减法计数器值为01时,产生同步置数信号,将下一状态计数初值置入。
主干道、支干道倒计时电路图:
4 译码显示电路设计
4.1动态显示工作原理
EDA实验板上一共有8个数码管,如果按照传统的数码管驱动方式,则需要8个七段译码器和64个I/O口进行驱动,这样就会浪费大量的资源。所以最常见的数码管驱动电路为动态扫描显示。
数码扫描显示原理:利用人眼的视觉暂留效应,把多个数码管按一定顺序进行点亮。当点亮的频率(即扫描频率)不大时,人眼看到的数码管一个个的依次点亮,然而扫描频率足够大时,看到的不再是一个一个的点亮,而是同时全部点亮。
4.2动态显示及译码电路设计
译码器代码
--bcd-7seg
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY bcd_7seg IS
PORT(
in_data:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
out_data:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END bcd_7seg;
ARCHITECTURE rtl of bcd_7seg IS
BEGIN
PROCESS(in_data)
BEGIN
CASE in_data IS
WHEN"0000"=>out_data<="00111111";
WHEN"0001"=>out_data<="00000110";
WHEN"0010"=>out_data<="01011011";
WHEN"0011"=>out_data<="01001111";
WHEN"0100"=>out_data<="01100110";
WHEN"0101"=>out_data<="01101101";
WHEN"0110"=>out_data<="01111100";
WHEN"0111"=>out_data<="00000111";
WHEN"1000"=>out_data<="01111111";
WHEN"1001"=>out_data<="01100111";
WHEN OTHERS=>out_data<="00000000";
END CASE;
END PROCESS;
END rtl
动态显示电路图: