一、实验目的与要求
1.了解和正确使用MSI组合逻辑部件;
2.掌握一般组合逻辑电路的特点及分析、设计方法;
3. 学会对所设计的电路进行静态功能测试的方法;
4. 观察组合逻辑电路的竞争冒险现象。
预习要求:
(1)复习组合逻辑电路的分析与设计方法;
(2)根据任务要求设计电路,并拟定试验方法;
(3)熟悉所用芯片的逻辑功能、引脚功能和参数;
(4)了解组合逻辑电路中竞争冒险现象的原因及消除方法。
(5)二、 实验说明
译码器是组合逻辑电路的一部分。所谓译码就是不代码的特定含义“翻译”出来的过程,而实现译码操作的电路称为译码器。译码器分成三类:
1.二进制译码器:把二进制代码的各种状态,按照其原意翻译成对应输出信号的电路。如 中规模2线—4线译码器74LS139,3线—8线译码器74LS138等。
2.二—十进制译码器:把输入BCC码的十个代码译成十个高、低电平信号。
3.字符显示译码器:把数字、文字和符号的二进制编码翻译成人们习惯的形式并直观地显示出来的电路,如共阴极数码管译码驱动的74LS48(74LS248),共阳极数码管译码驱动的74LS49(74LS249)等。
三、 实验设备
1. RXB-1B数字电路实验箱
2.器件
74LS00 四2输入与非门
74LS20 双4输入与非门
74LS138 3线—8线译码器
四、 任务与步骤
任务一:测试3线—8线译码器74LS138逻辑功能
将一片3线—8线译码器74LS138插入RXB-1B数字电路实验箱的IC空插座中,按图3-15接线。A0、A1、A2、STA、STB、STC端是输入端,分别接至数字电路实验箱的任意6个电平开关。Y7、Y6、Y5、Y4、Y3、Y2、Y1、Y0输出端,分别接至数字电路实验箱的电平显示器的任意8个发光二极管的插孔8号引脚地接至RXB—IB型数字电路实验箱的电源“”,16号引脚+5V接至RXB-1B数字电路实验箱的电源“+5V”。按表3-2中输入值设置电平开关状态,观察发光二极管(简称LED)的状态,并将结果填入表中。
根据实验数据归纳出74LS138芯片的功能。
表3-2 3线-8线译码器74LS138功能表
图3-15 3线-8线译码器74LS138接线图
任务二:用3线—8线译码器74LS138和门电路产生如下多输出逻辑函数
,Z2=A2A1A0+A2A1A0+A2A1,Z3=A2A1+A2A1A0
1. 设计方法提示
按题意把函数Z1、Z2、Z3写成最小项形式,译码器的输出 , , , , , , , 是最小项的反函数形式,在附加与非门的配合下,函数就可用译码器的输出来表达。
2. 实验方法提示
1 )根据设计方法提示把Z1写成用译码器输出~表示的函数表达式;
2 ) 根据函数表达式画出电路接线图并接好线,其中输入变量A2、A1、A0接至数字电路实验箱的任意3个电平开关的插孔,输出函数Z1、Z2和Z3分别接至数字电路实验箱电平显示器的任意3个LED。
3 )自行设计的表格,记录所设计的电路的真值表。
4 )通过真值表推出函数表达式,验证所设计电路的正确性。
五、 实验过程及内容
任务一:测试3线—8线译码器74LS138逻辑功能
表3-2 3线-8线译码器74LS138功能表
实验结果分析:
由三位二进制译码器真值表(表1)得实验中3线-8线译码器74LS138实现了逻辑功能。
表1 三位二进制译码器真值表
根据实验数据归纳出74LS138芯片的功能为:
输入端高电平有效,输出端低电平有效。74LS138有三个使能端、、,其中,只有当=1且 =0时,译码器工作,否则,译码功能被禁止。
当=1, =0时,输出逻辑表达式为:
任务二:用3线—8线译码器74LS138和门电路产生如下多输出逻辑函数
实验结果:
Z2=A2A1A0+A2A1A0+A2A1,Z3=A2A1+A2A1A0
表2 逻辑电路的真值表
六、 实验结论
实验成立,成功的做到的实验的要求,这次实验,我们发现了对课本嗨不够熟悉,以至于做实验理解起来很慢,下次一定需要注意。
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
第二篇:数字电路——2-4译码器设计
目 录
1 绪论... 1
1.1设计背景... 1
2 电路分析... 2
2.1 2-4功能分析... 2
2.2 2-4译码器逻辑图... 3
3 系统建模与仿真... 4
3.1 建模... 4
3.2 仿真波形... 5
4 仿真结果分析... 8
5 小结与体会... 9
参考文献... 10
1 绪论
1.1设计背景
在数字系统中,经常需要将一中代码转换为另一种代码,以满足特定的需求,完成这种功能的电路称为码转化电路。译码器就属于其中一种。而译码就是编码的逆过程,它的功能是将具有特定含义的二进制码转换成对应的有效输出信号,具有译码功能的的逻辑电路称为译码器。而2-4译码器是唯一地址译码器,是将一系列的代码转换成与之一一对应有效的信号。常用于计算机中对存储单元地址的译码,因此,设计2-4译码器具有很强的现实意义。
1.2 matlab简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。它主要由
MATLAB和Simulink两大部分组成。本设计主要采用simulink进行设计与仿真。Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。掌握这个软件的应用具有十分重要的意义。
2 电路分析
2.1 2-4译码器功能分析
2-4译码器有2个输入端,4个输出端和一个使能端。在使能端为有效电平时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平。输出信号可以是高电平有效,也可以是低电平有效。具体来说,2输入变量,A1 ,A0共有4种不同状态组合,因而译码器有4个输出信号 03
并且输出为低电平有效,其真值表如表1所示
表1 2-4译码器真值表
另外设置了使能控制器,当其为1时,无论A1, A0为何种状态输出全为1,译码器处于非工作状态。而当为0时,对应的A1, A0的某种状态组合,其中只有一个输出为0,其余各输出量均为1.例如,A1 A0=00,输出0为0,03均为1.由此可见,2-4译码器是通过输出端的逻辑电平以识别不同的代码。而根据此,可写出其各输出端的逻辑表达式
2.2 2-4译码器逻辑图
由上面的分析可得2-4译码器的逻辑图
图2 2-4译码器逻辑图
3 系统建模与仿真
3.1 建模
在了解2-4译码器逻辑图与表达式后,可在simulink中建立模型并仿真。首先对应电路的原理框图,利用框图在simulink的mdl文件里画出原理图,调整原理图里的每个模型的参数,使之符合所需的要求。再进行连线, 开始仿真,在scope和fft scope里面看波形是否符合预想标准。2-4译码器的仿真模型如图3所示。
图3 2-4译码器仿真模型
如图3所示,constant表示的值,为了使译码器能正常工作,将constant值设为1。Pulse generator 1与2是2输入端,表示A1, A0的电平显示,通过它们可以显示连续的脉冲,观察输出的波形。通过设定00,01,10,11这四种情况,观察模型是否能正常工作。再连线3个2输入与非门与4个三输入与非门。最后的输出接scope,观察显示的波形。
3.2 仿真波形
当使能端为1时,仿真波形如图4所示
图4 使能端为高电平波形图
对应的输出波形如图5所示
图5对应使能端为高电平时输出波形
而当设定使能端为低电平,设定其2输入端的输入波形如下,含有11,01,10,00四种情况,如图6所示
图6 输入端的输入波形
由Y0,Y1,Y2,Y3观察到的波形如图7所示
图7 输出端的输出波形
4 仿真结果分析
通过建立的模型,通过输入的波形可以检查模型是否符合预订设计要求,可以通过改变pulse generator的周期来实现不同的波形输入。
当使能端=1时,如图4所示,由逻辑表达式分析可知,无论输入如何,对应的各输出Y0,Y1,Y2,Y3均为1。对应的输出波形如图5所示,可以看出,对应的4个输出均为1,符合预期的要求。
当使能端=0时,通过改变2个pulse generator的周期来控制A1 ,A0不同情况下的输入,如图6所示,周期性的输入为00,01,10,11,从而观察对应的输出波形。由2-4译码器的逻辑表达式可求的在上述Y0,Y1,Y2,Y3输出情况下的输出顺序应为1110,1101,1011,0111,并作周期性变化。与对应的输出波形图7相比较,完全符合上述要求,与预期结果相符的,模型完全正确,达到预期效果。
5 小结与体会
MATLAB软件功能强大,本设计是运用MATLAB来设计2-4译码器电路,这只是它的一个简单的应用,MATLAB还在多方面有应用,如数学和计算算术发展模型;模拟仿真和原型;数据分析,开发和可视化;科学和工程图形;应用发展包括图形用户界面设计等方面。由于时间问题,不能一一举例,只有自己在以后的学习中慢慢学习,自己探索,更好的掌握这款软件。
MATLAB语言是一种简单,高效,功能极强的高级语言,且具有强大的矩阵运算能力和极高的编程效率,这一方面使得MATLAB程序可以被高度向量化,另一方面使得程序易读易写。MATLAB已变得非常普及。
通过这几天对MATLAB的学习,对其有了一个大致的认识并能简单的应用,解决一些简单的线性代数及电路问题,当然在今后的学习中,还会加强自己对这款软件的学习,应为这款软件应用太广,且自己对C语言会,而且有线性代数的基础,个人认为掌握MATLAB这款软件不是问题。
通过对MATLAB这款软件在以后的专业课学习中的应用很广泛,掌握好MATLAB,为以后的专业课学习将有很大的帮助。
通过基本设计电路介绍了如何应用MATLAB语言编程的方法来对电路进行分析和设计与仿真。该方法不仅可以节约计算时间、方便地调试电路参数,而且还可以非常直观地观察和测量电路中的电压、电流和功率等物理量。结论表明,MATLAB提供了高效简洁的编程方法, 其强大而简易的绘图功能、矩阵和数组运算能力以及很强的扩充性,能充分满足基本电路分析、计算的需要,从而可以大大地提高计算精度和工作效率,在电路理论学科研究与工程实践中具有很好的应用价值。
参考文献
[1]张志勇,精通MATLAB6.5版。北京北京航空航天大学出版社,2003
[2]蒲俊,MATLAB6.0教学手册。上海:浦东电子出版社,2002
[3]刘志俭, MATLAB应用程序接口用户指南。北京:科学出版社,2000
[4]飞思科技产品研发中心。MATLAB7辅助控制系统设计与仿真。北京:电子工业出版社,2005
[5]李国勇。智能控制及其MATLAB实现。北京:电子工业出版社,2005
[6]陈洪亮,王蔼. 基本电路理论 .上海科学技术文献出版社 . 2002
[7]The MathWorks. Parallel Computing Toolbox 4.2, Perform Parallel Computations on Multicore Computers and Computer Clusters[DB/OL]. 2006