1、嵌入式系统课程设计报告学 院: 广东轻工职业技术学院班 级: 嵌入式 101 学 号: 49姓 名: 童永琼指导老师: 王浩 时间:2012-5-7交通灯控制器1设计目的(1)熟悉集成电路的引脚安排。(2)掌握各芯片的逻辑功能及使用方法。(3)了解面包板结构及其接线方法。(4)了解数字抢答器的组成及工作原理。(5)熟悉数字抢答器的设计与制作。2.意义近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行
2、人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统3.参考文献1.王疏银 数字电路逻辑设计 (第三版) 高等教育出版社2.数字电子课程设计题目指导书目录页一.任务和要求二.设计思路三:总体方案四:单元电路设计五:总体电路图六:单元电路输出波形图七:实验仪器设备八.调试中遇到的问题九.分析与总结一.任务和要求:设计一个十字路口交通信号灯控制器,其要求如下:1.在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一个方向是绿灯、黄灯、红灯;另一个方向是红灯、绿灯、黄灯。2.设置一组数码管,以计时的方式显示允许通行或禁止通行的时间。其中,绿灯亮的时
3、间是 10s,黄灯亮的时间是 2s。二.设计思路:在实际情况下,一个十字路有一个主干道和一个支干道。主干道的车流量较大,即要求主干道绿灯亮的时间长,支干道正好相反。因此,把主干道绿灯亮的时间设置为 40s,黄灯亮的时间设为 4s,红灯亮的时间设为 10s;支干道绿灯亮的时间设置为 20s,黄灯亮的时间设为 4s,红灯亮的时间设为 10s。设 A 代表主干道,B 代表支干道;R 代表红灯亮,Y 代表黄灯亮,G 代表绿灯亮。且设主、支干道红、黄、绿灯亮的四种状态分别由 Q1、Q0 的四种数值组合表示,如下:1.Q1Q0 为 00 时,主干道绿灯与支干道红灯亮,即:AG、BR,时间持续40s;2.Q
4、1Q0 为 01 时,主干道黄灯与支干道红灯亮,即:AY、BR,时间持续4s;3.Q1Q0 为 10 时,主干道红灯与支干道绿灯亮,即:AR、BG,时间持续20s;4.Q1Q0 为 11 时,主干道红灯与支干道黄灯亮,即:AR、BY,时间持续4s;四个状态以 00-01-10-11 的顺序循环出现。其工作流程图如图 2:状态 00持续40s支干道红灯亮主干道绿灯亮状态 01持续 4s支干道红灯亮主干道黄灯亮状态 10持续20s支干道绿灯亮主干道红灯亮状态 11持续 4s支干道黄灯亮主干道红灯亮图 2 工作流程图三.总体方案:在一个有主、支干道的十字路口,主、支干道各设置一组红、黄、绿三色的交通
5、灯。红灯亮表示禁止通行,绿灯亮表示可以通行。在绿灯变为红灯之前,黄灯先亮 4 秒,以提示未通行的车辆准备停车。由于主干道车辆较多,所以要求主干道处于通行状态的时间长一些,设为 40 秒;而支干道通行时间为 20 秒。主要功能为:1.实现红绿灯的交通管制功能;2.在红绿灯交换的前 4 秒,由黄灯提示司机注意,准备停车,且此时绿灯熄灭;3.可适应主次干道不同的车流量的需要,拟设计主干道的车辆通行时间为40 秒,次干道的车辆通行时间为 20 秒;4.采用倒计时的方式,提示司机剩余时间。简单原理如下:由 555 时钟信号发生电路产生稳定的“秒”脉冲信号,确保整个电路装置计时工作稳定进行。用一片 74L
6、S161 作为计数器,将其输出端通过非门与74LS48 相连后,把 74LS48 输出端连到数码管上,实现倒计时。用另外一片74LS161 作为状态控制器,控制状态变量 Q2Q1 的变化,即实现变化:00-01-10-11,从而使计数器实现模 10、模 2、模 5 的转化。六个灯与由状态控制器控制的 74LS74 的输出端通过门电路直接相连。总体方案原理图如图 3:主干道灯 次干道灯译码驱动电路计数器数字显示器 时钟信号状态控制器置数进位图 3 总体方案原理图在此电路中,555 时钟信号发生器产生一个以秒为单位的 CP 脉冲,计数器74LS161 接受 CP 脉冲,实现同步计时。通过非门连接计
7、数器输出端与译码驱动电路,在数码管上显示倒计时。将计数器的进位输出 RCO 取反用以控制其自身循环置数,且此进位输出 RCO 同时是红绿灯控制器 74LS74 与状态控制器74LS161 的脉冲信号,由此,状态从 00 变至 01,历时 40s;从 01 至 10,历时4s;从 10 至 11,历时 20s;再从 11 变至 00,历时 4s,依次循环。状态不同,计数器置数和红绿灯如何显示不同;计数器置数不同,则模值不同,状态改变时间也不同。当用于计数的 74LS161 芯片输入为 0110 时实现模 10 的计数器;当输入为1110 时实现模 2 的计数器;当输入为 1011 时实现模 5
8、的计数器。通过这种模式,实现计数器与状态控制器相互控制。然后状态控制电路 74LS161 控制计时电路 74LS161 的输入端。当状态控制电路的输出 Q1、Q0 为 00 时实现模 10 的计数器,此时主干道的绿灯和支干道的红灯亮;为 01 时实现模 2 计数器,此时主干道的黄灯和支干道的红灯亮;为10 时实现模 5 的计数器,此时主干道的红灯和支干道的绿灯亮;为 11 时实现模 2 的计数器,此时主干道的红灯和次干道的黄灯亮;然后 Q1、Q0 再回到 00状态,这样就实现了交通灯的循环且实现了主支干道通车时间不同的功能。四.单元电路设计4.1 秒脉冲产生电路将 555 芯片按一定的线路接上
9、不同的电阻和电容就可产生周期不同的脉冲信号,即不同的频率的脉冲。本次课程设计需要以秒为单位的脉冲信号,因此利用参数为 4.7u 和 0.1u 的 2 个电容,与参数为 4.7k 和 150k 的 2 个电阻按图 4 构成电路。脉冲周期 T=0.7(4.7k+2150k) 4.7u,约等于 1s。使用主要器件:555 芯片一片、参数为 4.7u 和 0.1u 的电容、参数为 4.7k和 150k 的电阻。4.2 计时电路图 4 秒脉冲产生电路4.2.1 计数器电路利用系统的状态量 Q1,Q0 控制计数 74LS161 的置数端 D0,D1,D2,D3。当系统状态处在 AGBR 时,进制是十(模
10、10) ,有效状态为0110,0111,1000,1111,因此,置 D3,D2,D1,D0 为 0110;当系统处在 ARBG 时,进制是五(模 5) ,有效状态为 1011,1100,1101,1110,1111,置 D3,D2,D1,D0 为 1011;当系统处在 AYBR 或 ARBY 时,进制是二(模 2) ,有效状态为 1110,1111,置 D3,D2,D1,D0 为 1110,由此有:表 1状态控制器输出 计时电路置数Q1 Q0 D3 D2 D1 D00 0 0 1 1 00 1 1 1 1 01 0 1 0 1 11 1 1 1 1 0所以:D3=Q1+Q0D2=Q0+Q1D
11、1=1D0=Q1*Q0注:符号“ ”代表逻辑非。按照上述函数表达式将代表状态的信号连接至计数器置数端D3、D2、D1、D0 上,通过状态变量控制置数。并将计数器高位进位 RCO 通过非门连至其同步置数端 LOAD 上,即:当此次计数至 1111 时,再接受一个脉冲信号,RCO 由 0 变为 1,同时,LOAD 由 1 变为 0,在脉冲到来时开始下一次置数。另外,由于刚接通电路时,RCO 没有进位信号,导致 LOAD 的值不确定,如若不加处理,将会存在数个乱码信号,此时,可以在 LOAD 上加一根接地的导线作为计数开关。这样,当 CLK 端接受脉冲信号时,计数器置 0110,数码管上显示 9,拔
12、掉导线后,计数开始,电路正常工作。使用主要器件:74LS161、74LS04。4.2.2 倒计时电路当每一状态发生变化时,置入的数据将同时改变,通过非门连接,将计数器输出信号加至七段数码管译码驱动器 74LS48 上,然后把 74LS48 的输出接到数码管上,在数码管上显示倒计的秒数,具体显示如表 2:表 2Q1Q0 主干道 支干道00 绿灯 9-0 红灯(40 秒)01 黄灯 1-0 红灯(4 秒)10 红灯 4-0 绿灯(20 秒)11 红灯 1-0 黄灯(4 秒)使用主要器件:74LS48、74LS04、数码管、限流保护电阻。电路图如图 5:4.3 状态控制电路将控制状态的 74LS16
13、1 的所有置数端接地,即置零,把计数器的高位进位作为状态控制器的脉冲信号,当每次计数器计到 1111 后,计数器的 RCO 将由 0变为 1,产生一个上升沿。由于要通过此片 74LS161 实现状态变化:00-01-10-11,因此再将其输出 Q1 与 Q0 通过与非门连至本芯片同步置数端 LOAD 上。之后,再用门电路,依据 D3、D2、D1、D0 的函数表达式,把状态控制器的输出 Q1、Q0 与计数器的置数端相连接,实现状态控制器与计数器相互控制。使用主要器件:74LS161、74LS00、74LS04、74LS08。图 5 计时电路电路图如图 6:4.4 红绿灯控制电路红绿灯显示所代表的
14、状态,同样与状态控制电路的状态一一对应,即主控电路的输出 Q1 和 Q0 决定了主干道和支干道的红绿灯的亮灭情况。如灯亮用“1”表示,灯灭用“0”表示,则有表 3:表 3状态控制器输出 主干道信号灯 支干道信号灯图 6 状态计时控制电路Q1 Q0 AR AY AG BR BY BG0 0 0 0 1 1 0 00 1 0 1 0 1 0 01 0 1 0 0 0 0 11 1 1 0 0 0 1 0所以:AR=Q0*Q1 AY=Q0*Q1 AG=Q1BR=Q1*Q0 BY=Q1*Q0 BG=Q1在此单元电路中,可以用某些门电路来实现,但由于门电路不稳定,容易出错,且相比于使用门电路,采用中规模
15、集成器件的接线较简便,因此,我使用了双上升沿 D 触发器 74LS74 作为灯控电路的核心。同时用计数器的高位进位 RCO 做 74LS74 的脉冲信号,其状态改变原理同状态控制器。使用主要器件:74LS74、74LS08、LED、限流保护电阻。具体接线如图 7:五.总体电路图图 7 灯控电路六.单元电路输出波形图图 8 交通灯总体电路七.实验仪器设备1.集成器件:555 芯片一片;74LS161 两片;74LS48 一片;74LS74 一片;74LS00 一片;74LS04 两片;74LS08 两片;2.电容:4.7u 一个;0.1u 一个;CP计数器Q3计数器Q2计数器Q1计数器Q0状 态
16、Q1状 态Q0AGAYARBGBYBR3.电阻:4.7k 一个;150k 一个;100 四个;4.其他:数码管一个;发光二极管六个;导线若干;面包板一块;万用表等。八.调试中遇到的问题1.在连接 555 脉冲产生电路时,没注意到面包板的线路是否连通,结果接完测试时,将二极管接到脉冲输出端,发现其一直处于亮的状态。检查电路连线和面包板后,发现是面包板有一处不连通,重新布线后问题解决。经此,在连接后面的电路时,我每完成一个单元电路后,都要用万用表测试一下该单元电路的连通性和正确性,以避免同样的错误再次发生。2由于布线不合理,在完成 555 电路和计数电路连接后,电路板上的导线已经有些零乱,导致后面
17、的电路不好连接,线路也不好检查,于是我不得不将已有电路拆除、重连。鉴于此,我先将所需芯片全部安在面包板上,给电路总体布好局后,再一个一个模块的连接。虽然重新连电路费了不少时间,但是经过这次总体规划,电路布局得到简化,使使用的芯片更少,结构简单,检查电路也更加方便。3.由于是在一小块面包板上完成一个集成电路,所以电路的连线比较繁琐,虽然查线时,没有发现什么问题,但当接通电源后,数码管并未按照理论显示倒计的时间,而是几个数字无序出现。多次检查后,发现是电路板上个别芯片管脚与电路板接触不良,因此,在往后接线前,要特别注意芯片的管脚,检查芯片是否插紧,导线是否松弛等。九.分析与总结两周实习,锻炼了我的
18、电路设计能力和动手的能力,也使我通过亲身实践掌握了一些中规模集成器件的使用技巧与方法,而不仅限于书本上的理论知识,让我受益非浅。实习就是将理论付之于实践的过程,如何能更好地用自己的知识来实现实验的要求的功能,这不仅要看我们所学的知识是否扎实,更重要的是要有能把书本知识运用在实际电路中的能力。即便一个人理论知识非常充分,然而却缺乏动手能力,那也不过是纸上谈兵,没有多大的意义。本次数字电路课程设计就是很好的例子。同时,做实验时一定要细心、耐心,要有坚持的毅力。对于现在缺乏实践经验的我们来说,这是一个艰苦的过程。因为刚开始接触,可能对某些芯片及其用法不甚了解,于是,要在电路设计的环节,花费时间很多时
19、间。但是如果自己通过翻阅资料,或者请教老师同学,努力了也坚持了下来,那么所掌握的,就不仅仅是课本上的简单理论,而是丰富的实践经验,这些经验对于以后的工作或学习将有很大的帮助。对于本次实验,接线时,事先布局好就会达到事半功倍的效果。实验中最好能做一个模块然后检查一个模块,这样以后出错的机会就很小了,而且也很容易排查错误。遇到问题要思考解决,不能只是一味的拆和插电路,这样不但解决不了问题,还会耽误时间和进度。当然在实验中遇到的问题也很多,这些大部分是因为自己掌握的知识还不够牢固,动手实践的次数不够。好在通过请教老师和同学后一一地解决了。在这两周的学习过程中,我收获了很多。以后我们要面临的挑战会更多,要解决的问题也会更多,我相信只要我们脚踏实地,认真对待,总会有办法解决。这次实验让我们又一次巩固并复习我们所学的数字电路逻辑设计这一门课程的知识,也为以后更深入的学习做了一个好的开端,是一次提升自我的实验。因为它不仅是一次锻炼动手能力的实践,也是锻炼我们思维能力和意志力的实践,我们从书上学到的是死知识,但通过实习,活跃了我们的思维,也给了我们一个发挥自己创新能力的机会,书本和实践相结合,就是最终的作品。既是动手实践就会遇到各种问题,也会面对重重困难,不畏艰难,知难而进就是我们解决问题的方法。因此,今后,我会在学习理论知识的同时,更加注重动手实践能力的培养与思维能力的锻炼。