本文主要是介绍【实验四】简易病房呼叫器及Multisim软件仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【实验四】四路抢答器设计及Multisim软件仿真
一、设计要求
假如有四个病房,四个病人的病情情况不同,分别对应优先级:最高、高、中、低。优先级低的会被优先级高得中断,可以用LED灯的亮灭或者LED数码管情况来代表病人的求助与否。
具体任务
1.利用74LS148优先编码器芯片,其他元件能少则少
2.在Multisim中设计电路
二、电路设计
74LS148编码器
如上图所示,若想实现优先级低的会被优先级高得中断,即当更高级的输入为0时,输出为1,其他皆为0。
在Multisim的芯片中,其形式如下:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | A2 | A1 | A0 |
---|---|---|---|---|---|---|---|---|---|---|
0 | x | x | x | x | x | x | x | 1 | 1 | 1 |
1 | 0 | x | x | x | x | x | x | 1 | 1 | 0 |
1 | 1 | 0 | x | x | x | x | x | 1 | 0 | 1 |
1 | 1 | 1 | 0 | x | x | x | x | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 0 | x | x | x | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | x | x | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | x | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
如上表所示,若想输出仅为1,符合条件的只有D1、D2、D4为0的时候。
因此,我们可以让A2连接LED作为表示最高级的灯、A1连接LED作为表示高级的灯、A0连接LED作为表示中级的灯。
其它无关输入端输入1,即直接接入电源。
接线如图所示。
那么低级该如何表示呢?我们可以选取全为D0输入为1时,输出全为0。我们可以在其输出端加入一个与非门连接LED,这样低级亮灯就解决了。最终效果如图。
三、拓展与优化
我们也可以采用LED数码管来实现病房呼叫器。数码管常用CD4511译码器,为了更好地使用我们需要了解一下4511的运行逻辑。
CD4511译码器
结合我们之前的步骤进行分析,我们四个LED的亮灭是独立的,且对LED而言,只有输入低电平的时候才会发光。
亮灯 | A2 | A1 | A0 |
---|---|---|---|
LED1 | 1 | 1 | 1 |
LED2 | 0 | 1 | 1 |
LED3 | 1 | 0 | 1 |
LED4 | 1 | 1 | 0 |
因此,我们还需要在每个输出后加一个非门,使其输出如下:
亮灯 | A2 | A1 | A0 |
---|---|---|---|
LED1 | 0 | 0 | 0 |
LED2 | 0 | 0 | 1 |
LED3 | 0 | 1 | 0 |
LED4 | 1 | 0 | 0 |
加入CD4511后输出如下:
LED显示 | A2 | A1 | A0 |
---|---|---|---|
8 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
2 | 0 | 1 | 0 |
4 | 1 | 0 | 0 |
其设计图如下:
四、思考与讨论
能不能用一种尽可能简单的方法实现最高、高、中、低依次对应4、3、2、1呢?
五、实验小结
在实验的过程中发现,给元件命名时使用英文仿真正常,而使用中文命名则仿真失败,LED灭。
因此,在后续的实验中的元件和文件命名时都应该尽量只使用英文。
这篇关于【实验四】简易病房呼叫器及Multisim软件仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!