数字逻辑电路课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

动态显示电路图:

相关文档
最新文档