有这样一道数电题:
一个LED发光二极管由A、B、C三个独立按键控制,要求按压A、B、C三个按键中的任意一个都能对LED实现亮、灭控制(即每按压一次按键,LED发光状态改变一次)。请用D触发器或JK触发器实现,画出逻辑电路图,说明工作原理。
如果学数电时用的是清华大学闫石、王红老师的教材,乍一看这个题很面熟,清华教材数电第六版的204页,有一个习题,如下:
仔细比较一下这两个题的要求,清华教材里的题要求用组合电路中的数据选择器实现,是一道组合电路设计题,输入是三个开关。
而本题要求用触发器实现,是一道时序电路设计题,但又不同于一般的时序电路设计。在一般的时序电路设计中,要求出状态转换图,求出状态方程,驱动方程等,仔细分析本题,可知不需要这些。
还有,本题的输入是三个按键,按键与清华题里的开关是不同的。开关有闭合和断开两个状态,每按一次,在闭合和断开两个状态切换。一般说的按键则是能自动弹起的开关,在电路中每按一次输出一个脉冲。
考虑本题要求中的“每按压一次按键,LED发光状态改变一次,用触发器实现”,能想到三个按键应接到触发器的时钟输入端,三个按键中任何一个按动时,触发器接收一个时钟。LED接到触发器的输出端,且要求触发器每个时钟都要改变状态,即把触发器接成很多教材提过的T’触发器,用D触发器或JK触发器都可以。基于以上分析,我们可以得到如下逻辑电路图:
当然,实现这个功能的逻辑图不是唯一的,满足“三个按键接到触发器的时钟,LED接到触发器的输出,触发器每个时钟都要改变状态。”这个要求就行,例如以下电路也可以。
在这个图中,三个按键接了一个上拉电阻。
也可以加入一个门电路,输出也可以接LED的阳极,如下图。
综上,本题不同常规的地方,是把三个按键接到触发器的时钟。