原创 [博客大赛]组合逻辑电路之基础篇

2013-4-15 19:54 2188 23 25 分类: MCU/ 嵌入式 文集: 数电

组合逻辑电路之基础篇<?xml:namespace prefix = "o" />

一、组合逻辑电路的特点。

世间万物只要存在必然有其特点,组合逻辑电路也不了例外。组合逻辑电路的特点有两个:一、任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。二、组合逻辑电路中不能包含存储单元。

二、组合逻辑电路的设计方法。

   

三、常用的组合逻辑电路。

一、编码器。

1、普通编码器。

普通编码器的要求是每次只能输入一个信号,否则将导致发生混乱,不能工作。

以3位二进制普通编码器为例。

输入是I0到I7的8个高电平有效的输入信号,输出是Y0到Y2的三个输出端。

框图如图所示。

20130407201108614.jpg

内部电路图如图所示:

20130407201221117.jpg

可列出如图所示真值表:

20130407201339427.jpg

2、优先编码器。

优先编码器相对于普通编码器的优点是允许同时输入两个以上的编码信号。实际在设计时已经将所有的输入信号按优先顺序排了队,当几个输入信号同时出现时,只对其中优先权高的一个进行编码。

在优先编码器中比较常见的是74HC148编码器。

其逻辑框图如下:

20130415150452114.jpg

注:为了强调说明低电平作为有效输入信号,常将反相器图形符号中表示反相的小圆圈画在输入端。

实际电路图如下图:

20130415150734350.jpg

可以得出其输出端Y2"、Y1"、Y0"的输出逻辑式为:

20130415151048167.jpg

由逻辑代数式和电路图可以得出其真值表为:

20130415151221472.jpg

注:上图中最左侧的S应为S"。其中S"为选通输入端即只有在S"=0的条件下编码器才能正常工作。而在S"=1时,所有的输出端均被封锁在高电平。

   Ys"和Yex"用于扩展编码功能。只有当所有的编码输入端都是高电平(即没有编码输入),而且S"=0时,Ys"才是低电平。因此,Ys"的低电平输出信号表示“电路工作,但是无编码输入”。

   只要任何一个编码输入端有低电平信号输入,且S"=0,Yex"就为低电平。Yex"的低电平信号可以表示为“电路工作,而且有编码输入”。

 

                           此处是分界线                                       
 
二、译码器。
    译码器的逻辑功能是将每个输入的二进制代码译成对应的输出高、低电平信号或另外一个代码。因此,译码是编码的反操作。
    常用的译码器电路有二进制译码器、二---十进制译码器和显示译码器三类。
 
1、二进制译码器。
   二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应的高低电平信号。
 
   虽说二极管与门阵列构成的译码器比较简单。但是其存在两个严重的缺点。其一是电路的输入电阻较低而输出电阻较高,其二是输出的高低电平信号发生偏移。因此,通常只在一些大规模的集成电路内部采用这种结构,而在一些中规模集成电路译码器中多半采用三极管集成门电路。
 
   74HC138就是用CMOS门电路组成的3线--8线译码器,它的逻辑图和逻辑功能表如下所示。20130415194231244.jpg
20130415194417232.jpg
74HC138有三个附加的控制端S1、S2"、S3"当S1=1、S2"+S3"=0时。Gs输出为高电平(S=1),译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平。这三个控制端也成为“片选”输入端。利用片选的作用可以将多片连接起来以扩展译码器的功能。
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户377574 2013-4-12 23:12

收集,学习

用户558726 2013-4-11 22:07

复习了 谢谢
相关推荐阅读
潇洒哥 2015-07-08 16:01
位操作符的使用技巧
在C语言编程中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效...
潇洒哥 2015-04-04 17:39
finish shell分析之底层usart
rt_thread的finsh shell系统不愧是调试的一项利器,它可以除了完成一般shell的功能外,甚至还可以自定义命令。这个对功能单一的嵌入式系统来说是十分可贵的。在此我并不想对finsh...
潇洒哥 2015-04-01 21:29
__main() 和 main()
因为我们通常在BOOTLOADER中都已做好了比较细致的初始化工作,包括代码的搬运,所以我们最好别再调用库函数__main(),因为__main()作为ADS集成好的库函数,会对系统进行初始化设置...
潇洒哥 2015-03-26 22:54
RT-Thread学习之scons篇--解析rtconfig.py文件
rtconfig.py文件,主要用于指定编译器以及安装路径。除此之外,该文件中定义了大量的变量,这些变量包括编译选项,汇编选项,链接选项。   import os # toolchain...
潇洒哥 2015-03-26 22:53
RT-Thread学习之scons篇--SConsruct脚本文件解析
       scons的构建文件名称是统一的都称为SConstruct。其是scons所接受的编译脚本主文件。当然为了方便目录的组织,也允许在各个目录下面存放SConscript, 然后最上面S...
潇洒哥 2015-03-26 22:53
RT-Thread学习之scons篇--SConcript文件解析
SConscript文件是用来指定哪些文件会加入编译。先来分析下BSP主目录下的SConscript文件: import rtconfig Import('RTT_ROOT') fro...
EE直播间
更多
我要评论
2
23
关闭 站长推荐上一条 /3 下一条