一、编码器
1.普通编码器
普通编码器则是将输入的每一个高低电平信号编成一个对应的二进制代码。普通编码器可以分为n位二进制编码器和BCD编码器两种。其中,n位二进制编码器将n个输入信号编码成n位二进制代码,而BCD编码器则是将0~9十个数字编码成4位二进制代码。
2.优先编码器
优先编码器是一种特殊的编码器,常用于中断的优先级控制。当多个输入同时有效时,优先编码器会自动选择优先级最高的输入进行编码。例如,74LS148是一个8输入,3位二进制码输出的优先级编码器。当某一个输入有效时,就可以输出一个对应的3位二进制编码。
二、74LS148
1.74LS148逻辑图
2.74LS148真值表
以上图片均来自ALLDATASHEETCN.COM - 电子元件和半导体及其他半导体的数据表搜索网站。,该网站上几乎包含了所有元器件。
三、四路抢答器
假如有四个病房,四个病人的病情情况不同,分别对应优先级:最高、高、中、低。优先级低的会被优先级高得中断,可以用LED灯的亮灭或者LED数码管情况来代表病人的求助与否。
下面给出设计的图,该图主要是根据74LS148的真值表来进行设计的。
在本次设计中,u0为0号床病人,u1为1号床病人,u2为2号床病人,u3为3号床病人。这四个就为本次的实验对象。且低电平为抢答(发出)信号。
从图中,我们可以看见不仅用了74LS148编码器还用了4511BD译码器(与CD4511功能一样)。
本次设计中,主要还是围绕74LS148编码器,所以接下来,解释一下我的设计思路。
1.从74LS148真值表可以看出来,EI只有在低电平的时候,该编码器才有效,所以将EI接上低电平。
2.从真值表可以看出来,优先权是从7-0依次减小。
3.由于我们本次只有四个人进行抢答,序号为u0-u3,然后对应真值表的输出0-3(这就是对应的几号床),所以我们在本次设计中,只需要用到输入口D4-D7,并且避免其他输入口产生影响,将其他输入口全部设为高电平(即1)。
4.所以将u0接到D7输入,u1接到D6输入口,u2接到D5输入口,u3接到D4输入口。这样我们就能保证输出端的数字能在0-3之间,然后再通过译码器,与LED显示显示对应的床号 。
实验截图
1.由图可知,u0并没有发起信号,而u1,u2,u3发起了信号,但由于u1的优先权高,所以显示了数字1.
2.由图可知,u0与u2都发起了信号,但由于u0的优先权比u2高,所以显示了0。
此抢答器还有许多瑕疵,以及若思路错误,请各路大佬加以指正