武汉工程大学计算机科学与工程学院 综合设计报告
2.2.2 显示器与信号灯设计
显示器设计相对简单,考虑到74ls192输出端直接对应为8421BCD码,所以,直接使用8421BCD译码数码管,即DCD_HEX。该数码显示器管脚从左至右对应QD、QC、QB、QA。
图 2-3 8421BCD译码数码管
信号灯直接选用相应颜色的发光二极管即可。
2.2.3 信号灯状态转换器设计
在设计信号灯前,通过学习交通知识,了解到信号灯的状态循环,当东西向红灯亮60s,同时南北向的绿灯亮55s后,切换黄灯,闪烁5s;南北向由黄灯转为红灯时,开始下一个60s,此时,南北向红灯亮60s,同时,东西向的绿灯亮55s后,切换黄灯,闪烁5s,如此往复循环。给出如下时序图进一步说明: 东西向 红灯60s 黄灯5s 绿灯60s 南北向 绿灯60s 黄灯5s 红灯60s
图 2-4 信号灯时序图
从图 2-4 可以看出,交通信号灯的一个循环周期为120s,东西向与南北向总共有四个状态,即为东西向红灯时,南北向有绿色、黄色两个状态,同样的,南北向红灯时,东西向有绿色、黄色两个状态,总共为4个。因此,可以用二进制数表示为00、01、10、11。由于四位二进制计数器SN74ls163可以实现上述四个状态的循环,我们采用此芯片作为信号灯的状态转换控制器。以下给出SN74ls163的功能与管脚说明:
图 2-5 SN74ls163芯片图示
- 6 -
武汉工程大学计算机科学与工程学院 综合设计报告
管脚说明:
1. A、B、C、D各管脚为芯片的输入端,A为最低位,D为最高位,用于置数输入; 2. ENP、ENT两个输入端是功能选择端,当两者输入至少有一个为低电平时,实现保持功能,当两者输入都为高电平时,实现计数功能; 3. CLR'端口为清零端; 4. CLK为时钟脉冲输入端; 5. LOAD'为置数端; 6. RCO为进位输出端;
7. QA、QB、QC、QD为输出端,从左至右顺序,QD为高位。 功能表如下:
表 2-2 SN74ls163功能表
CLR 0 1 1 1 1 cp ↑ ↑ ↑ ↑ ↑ LOAD’ X 0 1 1 1 输入 ENP ENT QD QC QB X X X X X X X d c b 0 X X X X X 0 X X X 1 1 X X X QA X a X X X 输出 D C B A 0 0 0 0 d c b a 保持 保持 加法计数 由图 2-4 可以列出信号灯状态转换真值表,如下:
表 2-3 信号灯状态转换真值表
QB 0 0 1 1 QA 0 1 0 1 Ra 1 1 0 0 Ga 0 0 1 0 Ya 0 0 0 1 Rb 0 0 1 1 Gb 1 0 0 0 Yb 0 1 0 0
注释:
1. Ra、Ga、Ya代表东西向红、绿、黄三色信号灯,Rb、Gb、Yb代表南北向红、绿、黄三色信号灯;
2. 因为二进制数从0-15的变换中,最低位与次低位遵循00→01→10→11→00这样一种循环,所以,只用取SN74ls16输出端QB、QA即可表示。
因此,可以求得六路输出函数,化简后的输出函数为:
表 2-4 各向输出函数表
东西向输出函数 南北向输出函数
Ra?QB Ga?QBQA
Ya?QBQA
Rb?QB
Gb?QBQA
Yb?QBQA
将上述各输出直接与相应的信号灯连接,即可实现对各灯状态的转换控制。
- 7 -
武汉工程大学计算机科学与工程学院 综合设计报告
第三章 详细设计
在第二章中,简要介绍了交通信号灯各部分的设计原理以及硬件选材,包括计时部分时序电路的设计以及信号灯状态转换控制的设计。计时器的核心器件为SN74ls192芯片,灯的状态转换控制器则主要由SN74ls163来实现。
在第二章的基础上,总体的设计思路明确为:计时器控制信号灯状态转换器。本章将详细介绍各部分的设计步骤,在第二章中已给出详细说明的,在本章将适当省略。
3.1 计时器
既然要设计一个六十进制的减法计数器,并以此来实现计时功能,那么,就需要先设计一个十进制的减法计数器和一个六进制的减法计数器,再将两个计数器组合成一个六十进制的减法计数器。
3.1.1 十进制、六进制减法计数器的设计
无论是十进制的减法计数器也好,还是六进制的减法计数器也罢,都是以SN74ls192作为核心器件来进行设计的。由于该芯片是一个十进制的计数器,无需我们多费周折,只要将必要的端口输入正确,再搭配8421BCD数码显示管,就可以初步构成一个十进制的减法计数器。
在EWB中,十进制减法计数器的设计的电路图如下所示:
图 3-1 十进制减法计数器
六进制的减法计数器与十进制的设计方法大体相同,唯一不同的是六进制最大显示的数为5,并以“5→4→3→2→1→0→5”这样一种循环往复。这里,可以使用SN74ls192的同步置数功能,设计思想是:当计数器从状态“0”将变至“9”时,输出端从QD至QA会由“0000”减法计数变为“1001”的二进制数码,因此,要在“1001”的同时将
- 8 -
武汉工程大学计算机科学与工程学院 综合设计报告
其置数为“0101”,所以LOAD’的输入应是这样一个函数:LOAD'?QDQA,目的就是为了在出现“1001”时,将“9”对应为的“1001”同步置数为“5”对应的“0101”。EWB仿真设计中的电路图如下所示:
图 3-2 六进制减法计数器
3.1.2 六十进制减法计数器设计
上一节中,详细的分析了两种进制的减法计数器的设计,也为我们下一步工作做好了铺垫,值得提问的是:六进制与十进制的两个人减法计数器与六十进制的有什么联系,又如何实现呢?
在明确了问题之后,关键要素也将清晰可见。关于两个进制的计数器之间的联系在于,在概率统计学中,问题的解决如果是分层次完成的的,对应数学的加法,如果是分步完成的,就对应数学的乘法,这里的关系真好对应后者,是分步的。也就是说,六进制与十进制分步工作,组合能完成六十进制的功能,即为:十进制作为六十进制的个位,六进制作为十位,个位每记十次数,十位就记一次,相当于进位。
有了初步的设计方案,接下来就是如何实现硬件的连接了。SN74ls192芯片是带有进位输出与借位输出端的,既然是减法计数器,我们选择使用借位输出功能,但是借位输出直接用于控制十位上计数功能的脉冲信号,会出现不同步的现象,以此作为控制十位上计数功能的信号不妥,所以,我们通过选取QD、QA两线来表示“9”,以此作为十位上的计数器脉冲信号。
虽然实现了借位计数的功能,但是,工作仍然不能说算完成了,因为,接下来的问题出现了,如何使得十位上的数在没有接到借位信号时不计数呢?所以,实现该器件的保持功能成为了进一步的任务。
查阅资料后,了解到SN74ls192虽无保持端,但是,可以实现保持功能,即当DOWN端口没有接收到上升沿的脉冲信号时,芯片不会改变输出状态,只有当接受到上升沿的脉冲信号时,芯片做减法计数。我们通过使用单刀双掷开关,模拟脉冲信号来测试芯片的保持功能,下图为EWB仿真实验电路图:
- 9 -
武汉工程大学计算机科学与工程学院 综合设计报告
图 3-3 模拟脉冲信号测试芯片保持功能
有了借位与保持功能后,将借位输出信号作为时钟脉冲信号,控制十位上的计数功能,以实现六十进制的同步计数器。
到此,六十进制的减法计数器设计思想已经完善,通过组合,即可实现,要实现计时器的功能,只需将脉冲信号的频率设置为1赫兹即可,此时脉冲周期为一秒。下图是计时器的设计图:
图 3-4 计时器EWB仿真电路图
3.2 信号灯状态转换控制器
在第二章中,介绍了交通信号灯的时序状态转换,并得到表2-3,所以可做出Moore型原始状态图:
00 1 01 1 1 11 1 10 图 3-5 Moore型原始状态图
- 10 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字逻辑交通灯设计基于SN74ls192(4)在线全文阅读。
相关推荐: