数字电路设计--用3个开关控制一个电灯
题目要求:用数据选择器设计一个用 3 个开关控制一个电灯的逻辑电路,当改变任何一个开关的状态,都能控制电灯由亮变灭或由灭变亮。最好用 74LS151。题目链接:http://zhidao.baidu.com/question/1689762126759866268.html-----------------------以前,做而论道曾设计过这样的电路,可见:http://hi.baidu.com/
题目要求:用数据选择器设计一个用 3 个开关控制一个电灯的逻辑电路,
当改变任何一个开关的状态,都能控制电灯由亮变灭或由灭变亮。
最好用 74LS151。
题目链接:数字电路设计_百度知道
-----------------------
以前,做而论道曾设计过这样的电路。
上次是用译码器、与非门做的。
这次,题目要求用 74LS151 来完成。
那么,做而论道这次设计的电路如下:
-----------------------
设计这样的东西,步骤是很严格的,共分成四步。
先要写出真值表,再用卡诺图来化简,再写出逻辑表达式,最后,才能按照要求画出逻辑电路图。
对于本题目,输出和输入的关系并不很明朗,因此,在写真值表时,比较麻烦,需要借助于格雷码。
1。写真值表
输入有三位X2X1X0,输出有一位Y。
一般来说,真值表是按照输入变量,从小到大来排列顺序:
最小项_X2X1X0_Y
_m0___0_0_0___?
_m1___0_0_1___?
_m2___0_1_0___?
_m3___0_1_1___?
_m4___1_0_0___?
_m5___1_0_1___?
_m6___1_1_0___?
_m7___1_1_1___?
(表格对不齐,所以加上一些下划线)
但是,针对本题目,这么排列,Y 并不好确定。
对于这样的题目要求,应该按照格雷码的顺序来排列:
最小项_X2X1X0_Y
_m0___0_0_0___?
_m1___0_0_1___?
_m3___0_1_1___?
_m2___0_1_0___?
_m6___1_1_0___?
_m4___1_0_0___?
_m5___1_0_1___?
_m7___1_1_1___?
看出来了吗?
相邻两行,仅有一个X发生了变化,这就是格雷码。
那么,按照题目要求,Y 就是 0、1 交替的变化了。
最小项_X2X1X0_Y
_m0___0_0_0___0
_m1___0_0_1___1
_m3___0_1_1___0
_m2___0_1_0___1
_m6___1_1_0___0
_m4___1_0_0___1
_m5___1_0_1___0
_m7___1_1_1___1
2。逻辑表达式
由这个真值表,可以得出逻辑表达式:
Y = m1 + m2 + m4 + m7
这是采用了最小项的写法,谁会用自变量 X2X1X0 的写法来写一遍?
3。利用卡诺图化简
由于本题目要求使用 74LS151(八通道选择器)来实现逻辑关系,故此,就应该使用最小项形式的表达式,不用化简。
因此,这一步,就省了。
4。画出逻辑图
呵呵,就是前面给出的插图。
本设计结果,完全可以实现:三个开关控制一盏灯。
拨动任意一个开关,都可以控制这盏灯的亮和灭。
-----------------------
可不可以设计出四个开关控制一盏灯呢?
当然可以实现。
利用本设计的思路,弄懂了四位数的格雷码,就可以设计出电路。
有人想试试看吗?
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)