红绿灯数字电路课程设计
《数字逻辑电路设计》《数字逻辑电路设计》 课程设计总结报告课程设计总结报告 题目:红绿灯控制器题目:红绿灯控制器 指导老师:指导老师: 设计人员设计人员: : 学号学号: : 班级:班级: 日期:日期:20132013 年年 5 5 月月 第1页 共 12 页 目目录录 一、设计任务书 二、设计框图及整机概述 三、各单元电路的设计方案及原理说明 四、调试过程及结果分析 五、设计、安装及调试中的体会 六、对本次课程设计的意见及建议 七、附录(包括:整机逻辑电路图及元器件清单) 第2页 共 12 页 一、设计任务书一、设计任务书 一、题目:红绿灯控制器 二、设计要求设计一个红绿灯控制器设计应具有以下功能 (1)东西方向绿灯亮,南北方向红灯亮。. (2)东西方向黄灯亮,南北方向红灯亮。 (3)东西方向红灯亮,南北方向绿灯亮。 (4 ) 东西方向红灯亮,南北方向黄灯亮。。 要求有时间显示(顺数、逆数皆可) ,时间自定。 (大于 15 秒以上) 可添加其他功能。 三、给定条件 1. 只能采用实验室提供的中小规模电路进行设计。 (不一定是实 验用过的) 十字路口交通示意图十字路口交通示意图 第3页 共 12 页 二、设计框图及整机概述二、设计框图及整机概述 1、设计框图 译码系统显示时间 脉冲发生电路控制系统红绿灯 计数系统 2、整机概述 上图是整个交通灯电路的设计框图。 首先, 脉冲发生电路是用来给 计数芯片产生脉冲的,以便计数芯片可以正常的工作。 控制系统是整 个电路的核心,它控制着红绿灯的亮灭、 数码管的显示以及控制计数 时间,所以对于这个部分的设计是非常重要的。 计数系统我们可以用 计数芯片 160 或者 161 来实现, 采用置数或者置零的方法都可以让实 现某一个时间段的计数。译码系统是用来显示时间的, 它将计数系统 所记的时间用数码管显示出来, 以便我们可以更清楚的知道红绿灯亮 灭的时间。 最后的红绿灯部分用红黄绿三种发光二极管将我们所设计 的电路功能直观的表现出来。 第4页 共 12 页 三、各单元电路的设计方案及原理说明三、各单元电路的设计方案及原理说明 脉冲发生电路:这上个学期的数电实验中,我们用555 定时器实 现了产生脉冲的功能, 所以我们这次可以用 555 定时器来实现脉冲发 生电路。555 定时器是一种模拟和数字功能相结合的中规模集成器 件 ,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态 触发器及施密特触发器等脉冲产生与变换电路 ,但是因为本次课程 设计实验室直接提供了实验所需的脉冲, 所以这个部分我们并没有设 计,而是直接使用了实验室提供的脉冲。 计数系统:因为实验要求我们只用显示一个红灯的时间就可以 了,所以根据我的设计方案,是打算让红灯保持 25 秒的时间,也就 是数码管需要显示的最大数字是 25,因此可以用两片 160 计数芯片 来实现。该计数器能同步并行预置数据、异步清零,具有清零置数, 计数和保持四种功能,且具有进位信号输出端、可串接计数使用。我 采用的是计数清零的方法来实现从 0 到 25 的计数,两块芯片都是接 在同一个秒冲上的,所以是同步置零的方法。首先先接上一片160, 它的计数用来当做个位, 当第一片 160 从 0 记到 9 时在它的进位输出 端会输出一个进位脉冲, 我把这个进位脉冲直接接到了第二片 160 的 使能端,这样就实现了十位的计数,当两片芯片总共计数到 25 时, 这时我们译出一个清零信号,用来清零,即每当两块芯片从 0 记到 25 的时候,都会置零,然后再重新开始计数,这样就实现了技术部 分。该部分仿真电路如下: 第5页 共 12 页 译码系统:这个部分是用来显示计数的,也就是我们在计数系统 中设计了从 0 到 25 的计数,则数码管也会从0 开始显示到 25。这里 我们需要用到 BCD-七段译码器 74LS48,74LS48 芯片是一种常用的七 段数码管译码器驱动器, 常用在各种数字电路和单片机系统的显示系 统中 。根据 48 芯片的功能表,我们按照数码管的管脚跟译码器的管 脚一一对应的焊接上, 这里得注意需要给数码管接上一定阻值的限流 电阻,不然有可能会把数码管烧坏。该部分仿真电路如下: 第6页 共 12 页 控制系统:控制系统是整个红绿灯电路的核心部分,它的设计也 直接决定着本次课程设计的成功与否。 首先根据课程设计要求, 将控制器输出的 4 种工作状态,翻译成 车道上 6 个信号灯的工作状态。 控制器的状态编码与信号灯控制信号 之间的关系如表所示(表中 0 代表灭,1 代表亮) 。 状态 黄灯 0 0 0 1 绿灯 0 0 1 0 红灯 0 0 1 1 黄灯 0 1 0 0 绿灯 1 0 0 0 Q1Q2红灯 00 01 10 11 1 1 0 0 从上表中我们可以看出,红绿灯状态的转换需要四个状态来实 现,这个部分我用了一片161 计数器芯片来实现,74LS161 是四位二 进制同步计数器芯片,它可以从 0 开始计数,一直记到 15,在这里 第7页 共 12 页 我只需要到它的低两位, 因为 161 的低两位恰好是每计数四次就开始 循环,与我们所需要的用来控制红绿灯的四个状态相同,因此选用 161芯片来实现, 就可以不需要用触发器去设计一个四位的控制系统。 接下来将列出的真值表进行化简, 得到了各个灯的逻辑函数, 即: 红灯 1 = Q1 ,黄灯 1 = Q1Q2 ,绿灯 1 = Q1Q2 红灯 2 = Q1 , 黄灯 2= Q1Q2 ,绿灯 2 = Q1Q2 接着用一片 74LS04 与 74LS08 来实现各个灯的功能,将 74LS161 的低两位分别接到这两个芯片的对应管脚, 这样就把控制系统给实现 了。该部分仿真电路如下: 最后将各个分开的部分整合成一个电路,把各个系统联系起来, 使得整个电路连接在一起,实现交通灯的功能。 四、调试过程及结果分析四、调试过程及结果分析 (1)进行计数系统电路的焊接与调试。当输人 1Hz 的时钟脉冲信 号时,要求电路能进行增计时,当增计时到 25 时,能输电有效的定 第8页 共 12 页 时时间到信号; (2)进行交通灯控制器以及显示部分的焊接与调试。 (3)最后进行交通灯(即发光二极管)的焊接与调试; (4)判断各部分电路之间的时序配合关系。 然后检查电路各部分 的功能,使其满足设计要求。若是出现了错误,则一个部分一个部分 的检查电路,找出问题,解决问题。 最终调试如下: 接上电源,便可以进行交通灯控制系统的仿真, 电路默认把通车时 间设为 25 秒,当东西方向绿灯亮,南北方向红灯亮; .当东西方向黄 灯亮,南北方向红灯亮; 当东西方向红灯亮,南北方向绿灯亮;当 东西方向红灯亮,南北方向黄灯亮。。时间显示器从预置的 0 秒,以每 秒增 1,增到 19 到 20 时,东西方向的绿灯转换为黄灯,其余灯都不 变。从增至 5 秒又到 0 后时东西方向的黄灯转换为红灯; 南北方向的 红灯转换为绿灯;如此循环下去。 五、设计、安装及调试中的体会五、设计、安装及调试中的体会 在看到本次课程设计的几个题目之后,我选择了交通灯这道题, 因为在我看来这个题目会比较简单, 仅仅是实现几个灯的循环点