逻辑检测器在数字电路的试验与制作中是一件非常实用的小仪器,市售有各种逻辑测试笔,但因其电路简单,成本很低,更适合自制。
数字电路的逻辑电平一般具有“三态”,即高电平H(“1”)、低电平L(“0”)、高阻抗Z三种状态。利用逻辑检测器对三态状况的检测,可以判定数字电路的工作状态,以及印刷电路板上断线、短路、接触不良等所造成的高、低电平不能确定的状态,而这些故障有时用万用表或示波器是难以检测的。
—般的逻辑电平表现为“1”和“0”(“H”和“L”),但实际上从时间轴来看有四种状态如图。
“H”或“L”的静止状态。
“H”和“L”不断变化的状态(时钟波形)。
在“L”电平中有单个短时的“H”电平脉冲(正脉冲)存在,或有单个短时的“L”电平脉冲C负脉冲存在。
高阻抗状态。
常见的逻辑检测器可以检测数百ms的“H”和“L”电平,以及时钟脉冲,但以数百μs至数十ns的单个脉冲,则需用存储示波器或逻辑分析仪来检测。
本次制作的逻辑检测器的设计目标是在高、低电平检测的基础上增加正、负脉冲的检测功能。检测器电路见图1。整个电路采用了一只六反相器74HC04及四只发光二极管。
图1中的a、b部分即是为检测正、负脉冲而增加的单稳多谐振荡器,将数十ns的单个脉冲延时到人眼可分辨的程度。其原理是用输入脉冲对1000p电容充电,充入的电荷将维持一段“H”的时间,从而使LED点亮。LED1用于指示负脉冲,LED2指示正脉冲;当输入为时钟脉冲时,这两个LED都将连续闪亮。LED3用于低电平指示,LED4用于高电平指示。
因为在输入电路设有上拉电阻(22K),可对应所有TTL电平。
这个逻辑检测器自身不设电源,而从被测电路获取+5V电源。电源及信号的输入zuihao选购专用的成品测试杆(带伸缩钩的),若采用鳄鱼夹或万用表测试杆,容易造成被测电路短路。
这个简单的检测器,在调试单片机时确认CS端子信号、或确认传感器输出信号的有无、或确认外界干扰对门电路的误触发等都可发挥作用
逻辑函数在卡诺图上的表示??
1.给定逻辑函数为标准“与-或”表达式
当逻辑函数为标准“与-或”表达式时,只需在卡诺图上找出和表达式中Zui小项对应的小方格填上1,其余小方格填上0,即可得到该函数的卡诺图。??
例如,3变量函数F(A,B,C)=∑m(1,2,3,7)的卡诺图如图2.6所示。
图2.6函数F(A,B,C)=∑m(1,2,3,7)的卡诺图
2.逻辑函数为一般“与-或”表达式
当逻辑函数为一般“与-或”表达式时,可根据“与”的公共性和“或”的叠加性作出相应卡诺图。??
例如,4变量函数F(A,B,C,D)=AB+CD+A·BC的卡诺图如图2.7所示。
图2.7 函数F(A,B,C,D)=AB+CD+A·BC的卡诺图
填写该函数卡诺图时,只需在4变量卡诺图上依次找出和“与项”AB、CD、A·BC对应的小方格填上1,便可得到该函数的卡诺图。
当逻辑函数表达式为其他形式时,可将其变换成上述形式后再作卡诺图。
为了叙述的方便,通常将卡诺图上填1的小方格称为1方格,填0的小方格称为0方格。0方格有时用空格表示。
??
四卡诺图上Zui小项的合并规律
??
卡诺图的一个重要特征是,它从图形上直观、清晰地反映了Zui小项的相邻关系。当一个函数用卡诺图表示后,究竟哪些Zui小项可以合并呢?下面以2、3、4变量卡诺图为例予以说明。
1.两个小方格相邻,或处于某行(列)两端时,所代表的Zui小项可以合并,合并后可消去一个变量。
例如,图2.8给出了2、3、4变量卡诺图上两个相邻Zui小项合并的典型情况的。??
图2.8 两个相邻Zui小项合并的情况
??
2.四个小方格组成一个大方格、或组成一行(列)、或处于相邻两行(列)的两端、或处于四角时,所的表的Zui小项可以合并,合并后可消去两个变量。
例如,图2.9给出了3、4变量卡诺图上四个相邻Zui小项合并的典型情况的。??
图2.9 四个相邻Zui小项合并的情况
??
3.八个小方格组成一个大方格、或组成相邻的两行(列)、或处于两个边行(列)时,所代表的Zui小项可以合并,合并后可消去三个变量。
例如,图2.10给出了3、4变量卡诺图上八个相邻Zui小项合并的典型情况的。
图2.10 八个相邻Zui小项合并的情况
??
至此,以3、4变量卡诺图为例,讨论了2,4,8个Zui小项的合并方法。依此类推,不难得出n个变量卡诺图中Zui小项的合并规律。
归纳起来,n个变量卡诺图中Zui小项的合并规律如下:
(1)卡诺圈中小方格的个数必须为2m个,m为小于或等于n的整数。??
(2)卡诺圈中的2m个小方格有一定的排列规律,具体地说,它们含有m个不同变量,(n-m)个相同变量。??
(3)卡诺圈中的2m个小方格对应的Zui小项可用(n-m)个变量的“与”项表示,该“与”项由这些Zui小项中的相同变量构成。??
(4)当m=n时,卡诺圈包围了整个卡诺图,可用1表示,即n个变量的全部Zui小项之和为1。
??
五、卡诺图化简逻辑函数??
1.几个定义
??
蕴涵项:在函数的“与-或”表达式中,每个“与”项被称为该函数的蕴涵项(Implicant)。
显然,在函数卡诺图中,任何一个1方格所对应的Zui小项或者卡诺圈中的2m个1方格所对应的“与”项都是函数的蕴涵项。
??
质蕴涵项:若函数的一个蕴涵项不是该函数中其他蕴涵项的子集,则此蕴涵项称为质蕴涵项(PrimeImplicant),简称为质项。
显然,在函数卡诺图中,按照Zui小项合并规律,如果某个卡诺圈不可能被其他更大的卡诺圈包含,那么,该卡诺圈所对应的“与”项为质蕴涵项。
必要质蕴涵项:若函数的一个质蕴涵项包含有不被函数的其他任何质蕴涵项所包含的Zui小项,则此质蕴涵项被称为必要质蕴涵项(EssentialPrime Implicant),简称为必要质项。
在函数卡诺图中,若某个卡诺圈包含了不可能被任何其他卡诺圈包含的1方格,那么,该卡诺圈所对应的“与”项为必要质蕴涵项。??
??
2.求函数Zui简“与-或”表达式
(1)一般步骤:??
第一步:作出函数的卡诺图。
??
第二步:在卡诺图上圈出函数的全部质蕴涵项。按照卡诺图上Zui小项的合并规律,对函数F卡诺图中的1方格画卡诺圈。为了圈出全部质蕴涵项,画卡诺圈时在满足合并规律的前题下应尽可能大,若卡诺圈不可能被更大的卡诺圈包围,则对应的“与”项为质蕴涵项。
第三步:从全部质蕴涵项中找出所有必要质蕴涵项。在卡诺图上只被一个卡诺圈包围的Zui小项被称为必要Zui小项,包含必要Zui小项的质蕴涵项即必要质蕴涵项。为了保证所得结果无一遗漏地覆盖函数的所有Zui小项,函数表达式中必须包含所有必要质蕴涵项。
??
第四步:求出函数的Zui简质蕴涵项集。若函数的所有必要质蕴涵项尚不能覆盖卡诺图上的所有1方格,则从剩余质蕴涵项中找出Zui简的所需质蕴涵项,使它和必要质蕴涵项一起构成函数的Zui小覆盖。??
归纳起来,卡诺图化简的原则是:
☆在覆盖函数中的所有Zui小项的前提下,卡诺圈的个数达到Zui少。
☆在满足合并规律的前题下卡诺圈应尽可能大。
☆根据合并的需要,每个Zui小项可以被多个卡诺圈包围。??
3.求函数的Zui简“或-与”表达式
当需要求一个函数的Zui简“或-与”表达式时,可采用“两次取反法”。
具体如下:
☆先求出函数F的反函数F的Zui简“与-或”表达(合并卡诺图上的0方格);
☆对F的Zui简“与-或”表达式取反,从而得到函数F的Zui简“或-与”表达式。
??
例如,用卡诺图求逻辑函数F(A,B,C,D)=∑m(3,4,6,7,11,12,13,14,15)的Zui简“或-与”表达式。
??
解画出函数F的卡诺图如图2.13所示。
图2.13
图中,F的0方格即反函数F的1方格,它们代表F的各个Zui小项,将全部0方格合并就可得到反函数F的Zui简“与-或”表达式
F(A,B,C,D)=AB+CD+BD
再对上述函数式两边取反,即可求得函数的Zui简“或-与”表达式
??
卡诺图化简逻辑函数具有方便、直观、容易掌握等优点。但依然带有试凑性。尤其当变量个数大于6时,画图以及对图形的识别都变得相当复杂