实验二算术逻辑运算实验
一、实验目的
(1)了解运算器芯片(74LS181)的逻辑功能。
(2)掌握运算器数据的载入、读取方法,掌握运算器工作模式的设置。
(3)观察在不同工作模式下数据运算的规则。
二、实验原理
1.运算器芯片(74LS181)的逻辑功能
74LS181是一种数据宽度为4个二进制位的多功能运算器芯片,封装在壳中,封装形式如图2-3所示。
5V A1 B1 A2 B2 A3 B3 Cn4 F3
BO A0 S3 S2 S1 S0 Cn M F0 F1 F2 GND
图 2-3 74LS181封装图
主要引脚有:
(1)A0—A3:第一组操作数据输入端。
(2)B0—B3:第二组操作数据输入端。
(3)F0—F3:操作结果数据输入端。
(4)F0—F3:操作功能控制端。
(5):低端进位接收端。
(6):高端进位输出端。
(7)M:算数/逻辑功能控制端。
芯片的逻辑功能见表2-1.从表中可以看到当控制端S0—S3为1001、M为0、
为1时,操作结果数据输出端F0—F3上的数据等于第一组操作数据输入端A0—A3上的数据加第二组操作数据输入端B0—B3上的数据。
当S0—S3、M、
上控制信号电平不同时,74LS181芯片完成不同功能的逻辑运算操作或算数运算操作。
在加法运算操作时,、进位信号低电平有效;减法运算操作时,、
借位信号高电平有效;而逻辑运算操作时,、进位信号无意义。
2.运算器实验逻辑电路
试验台运算器实验逻辑电路中,两片74LS181芯片构成一个长度为8位的运算器,两片74LS181分别作为第一操作数据寄存器和第二操作数据寄存器,一片74LS254作为操作结果数据输出缓冲器,逻辑结构如图2-4所示。
途中算术运算操作时的进位Cy判别进位指示电路;判零Zi和零标志电路指示电路,将在实验三中使用。
第一操作数据由B-DA1(BUS TO DATA1)负脉冲控制信号送入名为DA1的第一操作数据寄存器,第二操作数据由B-DA2(BUS TO DATA2)负脉冲控制信号送入名为DA2的第二操作数据寄存器。
74LS181的运算结果数据由(ALU TO BUS)低电平控制信号送总线。
S0—S3、M芯片模式控制信号同时与两片74LS181的S0—S3、M端相连,保证二者以同一工作模式工作。
实验电路的低端进位接收端Ci与低4位74LS181的相连,用于接收外部进位信号。
低4为74LS181的与高4位74LS181的上相连,实现高、低4位之间进位信号的传递。
高4位之间进位信号的传递。
高4位74LS181的送进位Cy判别和进位指示电路。
表2-1 74LS181 芯片逻辑功能表
三、实验过程
1.连线
参照实验逻辑原理图进行连线,实验台上数据线用总线连接器连接好后一般不动,控制信号线需手工连接,本实验要连接的控制线如下。
(1)把输入、输出单元(INPUT/OUTPUT UNIT)的
、与手动控制
控制电平说明:“L”或“0”表示低电平,“H”或“1”表示高电平
逻辑操作符说明:“—”表示非操作,“+”表示“或”操作,“•”表示“与”操作,“⊕”表示“异或”
算术操作符说明:“加”表示加法操作,“减”表示减法操作
开关单元(MANUAL UNIT )的、相连接。
(INPUT/OUTPUT UNIT)的Ai 接地。
把算术逻辑部件(ALU UNIT)的S3—S0、M 、Ci 与手动控制开关单元(MANUALUNIT)的S3-S0、M 、Ci 相连接。
把算术逻辑部件(ALU UNIT)的B-DA1、B-DA2
、与手动控制开关单
元(MANUALUNIT)的B-DA1、B-DA2、
相连接。
图2 - 4 算数逻辑运算部件原理图
2.数据输入过程 (1)把开关
、
、B - DAI 、B - DAI2、
拔上,确保为高
电平,使这些信号处于无效状态。
(2)在输入数据的开关上拨好数据代码,例如“00010001”,即16进制数11H(以后再许多情况下要使用16进制表达方式)。
(3)把输入控制信号开关拔下成低电平。
这时总线上显示的状态应该与输入数据一致。
(4)把第一组数据输入控制信号B - DAI的开关拨动一次,即实现“1 - 0 - 1”,产生一个负脉冲,作用是把数据“11H”送第一数据寄存器DAI中。
3.数据输出过程
(1)为了检验数据送入的正确性,现把DAI中的内容送到总线上。
(2)把输入数据的开关上的输入数据代码拨成00H,与刚才送第一数据寄存器DAI的数据区分开。
(3)把输入控制信号开关拨上成高电平无效,这是总线上的状态应该与输入数据无关,显示为FFH。
(4)把74LS181功能控制端S3—S0设置为1111,M为1,参照表2—1 74LS181逻辑功能表,其输出数据F等于第一组数据输入端A,既DA1上的数据。
(5)把控制信号拨成低电平,可以看到第一数据寄存器DA1中的数据“11H”经74LS181的A输入端传送到输出口F,再传送到总线BUS。
(6)使用类似的方法把“00100001”(即16进制数21H)用第二数据寄存器输入控制信号B-DA2,将其送到第二数据寄存器DA2,再把第二数据寄存器DA2中的数据送总线。
74LS181的功能控制端S3-S0为“1010”,M为1的功能是把第二组数据输入端B的数据送输出端F。
同样把——ALU-B控制信号拨成低电平,把数据传送到总线BUS。
4.数据运算过程
(1)在完成数据输入、输出的基础上进行数据运算操作。
(2)从LS181逻辑功能表上查得“A加B,不考虑低端进位”操作的功能控制码为S3—S0=1001、M=0、Ci=1,把这些控制码拨好。
(3)把控制信号拨下呈低电平,这时运算结果(正常的运算结果应为“00110010”,即16进制数32H)送到总线,在总线指示灯上可观察到此数据。
(4)把控制信号开关拨动一次,即实现“1—0—1”,产生一个负脉
冲,这时总线上的数据就输出缓冲器,显示在LED指示灯L7—L0上。
(5)Ci是低端位进位输入,Ci=1表示无进位,Ci=0表示有进位。
在进行“A加B”操作时,Ci=1,操作结果是“00110010”,即16进制数32H;Ci=0,操作结果是“00110011”,即即16进制数32H,从而可以验证低端位进位输入的作用。
(6)变换操作功能控制码S3—S0=1001、M=0,进行A-B操作,进行减法操作时,Ci=0表示无进位,用上面的数据做减法运算,结果为16进制数10H (21H减11H减借位=10H)。
(7)变换不同的操作数据,观察不同的运算结果;变换不同的功能控制码S3—S0,M,进行不同的操作过程,观察不同的结果。
四、结果与总结
(1)在实验过程中把实验步骤用时序图的形式表示出来。
(2)变换不同的操作数据和不同的运算模式,把观察到的数据填入算术逻辑运算表2-2中。
表2-2 实验记录
(3)分析试验中出现的问题,总结解决问题的方法和过程,结合上面两个问题,把观察到的现象和对课本上原理的理解写入实验报告。