数字逻辑与系统设计 课件 第6章 典型逻辑电路.pptx
第6章典型逻辑电路;
6.1分频;
;
为了避免竞争与冒险,采用触发器来锁存输出。具有输出锁存的M分频器状态转移如图6-2(a)和图6-2(b)所示,计数状态为1~K时Z为1,其他状态时Z为0。分频器电路采用如图6-2(c)所示的逻辑符号来图示。;
;
;
【例6.1.1】设计占空比为2:1的六分频器。
解分频器共有6个状态,即0~5。占空比为2:1,即4个状态输出高电平,2个状态输出低电平。其状态图及状态表如图6-3所示。;
假定时钟信号为CP(上升沿有效),一位输出信号为Z,3位内部状态为Q2Q1Q0。当状态Q2Q1Q0为0~3时,Z为高电平;当状态Q2Q1Q0为4和5时,Z为低电平。;
;
;
功能仿真波形如图6-4所示。;
6.2序列发生;
;
【例6.2.1】设计产生1101000101序列码的计数型序列信号发生器,给出HDL代码。
解根据计数状态和输出序列的对应关系画出如图6-6所示的状态转移图和状态转移表。;
;
;
功能仿真波形如图6-7所示。;
【例6.2.2】设计一个能同时产生两组序列码的双序列码产生器,要求两组代码分别是:Z1=1101,Z2=01011。给出逻辑电路的HDL代码。
解序列码Z1长度为4,序列码Z2长度为5,状态如图6-8所示。;
采用统一的计数器来同时产生这两个序列,计数器模值取两者长度的最小公倍数M=20,状态值从0~19。根据序列产生规律可得如图6-9所示的状态转移图。
对于序列码Z1来说,输出为0的状态分别为2、6、10、14、18;对于序列码Z2来说,输出为0的状态分别为0、2、5、7、10、12、15、17。;
;
逻辑电路的工作波形如图6-10所示。;
6.3序列检测;
;
【例6.3.1】设计一个序列检测器,该检测器有一串行输入X、一个输出Z,当检测到0100111时,输出为1。
解(1)采用状态图分析法。
原始状态图如图6-12所示。;
功能仿真波形如图6-13所示。;
(2)采用移位寄存器比较法。
将待检测数据与题目中给定的序列“0100111”进行比较,如果相同,则输出Z为1;否则,输出Z为0。通过此方法实现了序列信号的检测。
设计中使用了7位寄存器,输入信号X在位同步信号CP的作用下,将七位数据移入寄存器,形成待检测序列。;
功能仿真波形如图6-14所示。;
6.4交通信号灯控制;
两个方向交通灯的变化规则如图6-16所示。;
灯控信号的功能如表6-1所示。;
输出与状态之间的关系如表6-2所示。;
交通灯控制的状态图如图6-17所示。;
功能仿真波形如图6-18所示。;
6.5数码管动态显示;
静态显示电路的结构是采用n个显示译码器与n个数码管直接相连,如图6-20所示。;
动态显示是指分时轮流驱动数码管。由于人的视觉暂留现象及发光二极管的余辉效应,只要轮流点亮的速度足够快,动态显示的效果和静态显示就是一样的,同时能够节省大量的I/O端口,而且功耗更低。;
如何实现轮流显示呢?
首先要在电路结构上满足低功耗轮流显示。因为每次只有一个数码管发光,所以每个数码管的显示不取决于输入,而是取决于COM端是否连接到有效电平(电源电压)。因此,将所有数码管的输入管脚并联在一起连接至显示译码器的输出,而每个数码管的COM端分别通过一个电控开关元件(PNP三极管)与电源相连,每个开关元件都有一个显示控制输入信号,n个数码管共有n个显示控制输入C,即C0~Cn-1。其电路如图6-21所示。;
;
动态显示电路结构如图6-22所示。其工作原理是:轮流产生一个显示数码管的序号i,通过数据选择器从n个4位数值中选取相应的数据输出至显示译码器,与此同时将相对应的数码管的控制信号Ci输出有效电平,使相应的数码管COM端接通电源使之显示,其他数码管因所对应的控制信号为无效电平而保持不发光。;
;
电路工作波形如图6-23所示。;
数码显示电路的仿真波形如图6-24所示。;
6.6键盘扫描;
;
将该矩阵的行作为输入,列作为输出,在没有键按下去时所有列都输出高电平。为了能够检测到键被按下,从第一行开始,逐行轮流发送低电平。当第i行处于低电平时,若列j有键按下,则列j一定为低电平,而其他列都为高电平。
通过检测列输出中是否有低电平来确定是否有键按下,同时处于低电平的行和列的序号i和j的组合即可唯一确定哪个键被按下,这种方法也称为键盘扫描。
键盘扫描过程中,一旦检测到有按键按下,则立即停止扫描并滞留在当前行,直到按键释放。;
所有