第一部分 8位算术逻辑运算实验
1、掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
2、掌握简单运算器的数据传送通路组成原理。
3、验证算术逻辑运算功能发生器74LSl8l的组合功能。
4、按给定数据,完成实验指导书中的算术/逻辑运算。
1、实验原理
实验中所用的运算器数据通路如图1-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到内部数据总线BUSD0~D7插座BUS1~2中的任一个(跳线器JA3为高阻时为不接通),内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至内部总线BUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。
图1-1中算术逻辑运算功能发生器 74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至6位功能开关,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。
另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。
2、实验接线
A.本实验用到4个主要模块:
- 低8位运算器模块;(74LS181芯片2片 74LS273 芯片2个,分别存放数据A和B)
(2)数据输入并显示模块;(KD0~KD7)
(3)数据总线显示模块;(LD0~LD7)
(4)功能开关模块(借用微地址输入模块,S0~S3,M,CN)
B.控制方式:手动控制方式;
C.脉冲信号:T4,将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲信号。
D.控制信号:由跳线拨决定,跳线拨在上面为"1",拨在下面为"0",电平值由对应的显示灯显示。
高有效信号 | 运算器运算方式:S0~S3,M,CN;锁存器控制:LDDR1、LDDR2; |
低有效信号 | 输入控制台:SWB 运算器输出控制:ALUB |
E.根据实验原理详细接线如下:
- J20,J21,J22,接上短路片,
- J24,J25,J26接左边;
- J27,J28 右边;
- J23 置右边T4选“ SD”
- JA5 置“接通”;
- JA6 置“手动”;
- JA3 置“接通”;
- JA1,JA2,JA4置“高阻”;
- JA8 置上面“微地址”;
- EXJ1接BUS3;
- 开关CE 、AR 置1;
说明:LDDR1、LDDR2、ALUB`、SWB`四个信号电平由对应的开关LDDR1、LDDR2、ALUB、SWB给出, T4由手动脉冲开关给出。AR为算术运算时是否影响进位及判零标志控制位,低电平有效。
F.实验原理图
3、实验预习
(1)用二进制数码开关KD0—KD7向DR1和DR2寄存器置数。
ALU输出三态门(ALUB`置 1),目的是关闭输出三态门;
SW输入三态门(SWB置 0),目的是开启输入三态门;
令LDDR1= 1 ,LDDR2= 0 ,通过KD0-KD7开关输入数据35H,按动手动脉冲发生按钮,将数据35H置入DR1寄存;
令LDDR1= 0 ,LDDR2= 1 ,通过KD0-KD7开关输入数据48H,按动手动脉冲发生按钮,将数据48H置入DR2寄存。
(2) 检验DR1和DR2中存入的数据是否正确。
具体方法:利用算术逻辑运算功能发生器 74LS181的逻辑功能,即M=1 。通过正确的逻辑运算,能够依次读出DR1和DR2的数据。
实现过程为:关闭数据输入三态门SWB`= 0 ,打开ALU输出三态门ALUB`= 0 ,当置S3、S2、S1、S0、M为 11111 时,总线指示灯显示 DR1 中的数,而置成 10101 时,总线指示灯显示DR2中的数。
4、实验步骤
(1)连接线路,仔细查线无误后,接通电源。
(2)用二进制数码开关KD0~KD7向DRl和DR2寄存器置数。
方法:关闭ALU输出三态门(ALUB’=1),开启输入三态门(SWB’=0),输入脉冲T4按手动脉冲发生按钮产生。设置数据开关具体操作步骤图示如下:
说明:LDDRl、LDDR2、ALUB’、SWB’四个信号电平由对应的开关LDDRl、
LDDR2、ALUB、SWB给出,拨在上面为“1”,拨在下面为“0”,电平值由对应的显示灯显示,T4由手动脉冲开关给出。
(3)检验DRl和DR2中存入的数据是否正确,利用算术逻辑运算功能发生器74LSl 8l的逻辑功能进行验算,即M=1。具体操作如下:关闭数据输入三态门SWB’=1,打开ALU输出三态门ALUB’=0,当置S3、S2、S1、S0、M为11111时,总线指示灯显示DR1中的数,而置成10101时总线指示灯显示DR2中的数。
(4)验证74LSl81的算术运算和逻辑运算功能(采用正逻辑)
在给定DRl=35H、DR2=48H的情况下,改变算术逻辑运算功能发生器的功能设置,观察运算器的输出,填入实验报告表中,并和理论分析进行比较、验证。
(5)以本组同学的学号后两位作为两个输入数据完成第(4)部分要求。
本实验中使用的运算器数据通路如图1.1所示。
图1.1 运算器数据通路
实验中用到的运算器74LS181功能表如表1.1所示。
表1.1 运算器74LS181功能表(正逻辑)
4位ALU | S3 S2 S1 S0 | M=0(算数运算) | M=1 (逻辑运算) | |
Cn=1 无进位 | Cn=0 有进位 | |||
0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | F=A F=A+B F=A+B F=减1 F=A加(A*B) F=(A+B)加(A*B) F=A减B减1 F=(A*B)减1 F=A加A*B F=A加B F=(A+B)加A*B F=A*B减1 F=A加A F=(A+B)加A F=(A+B)加A F=A减1 | F=A加1 F=(A+B)加1 F=(A+ B)加1 F=0 F=A加(A*B)加1 F=(A+B)加(A* B)加1 F=A减B F=(A*B) F=A加A*B加1 F=A加B加1 F=(A+ B)加A*B加1 F=A*B F=A加A加1 F=(A+B)加A加1 F=(A+ B)加A加1 F=A | F= A F=(A+B) F= A*B F=0 F= (A*B) F= B F=(A⊕B) F=(A* B) F= A+B F= (A⊕B) F=B F=A*B F=1 F=A+B F=A+B F=A |
其中:①表中“+”表示逻辑或,“⊕”表示逻辑异或,“/”表示逻辑非,“AB”表示逻辑与。
②加法运算时,CY=1表示运算结果有进位,CY=0表示运算结果无进位;
减法运算时,CY=1表示运算结果无借位,CY=0表示运算结果有借位。
五、实验数据
1、实验数据记录
加数1 DR1 | 加数2 DR2 | S3 S2 S1 S0 | M=0(算术运算) | M=1 (逻辑运算) | |
Cn=1 无进位 | Cn=0 有进位 | ||||
35 | 48 | 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | F= (35) F= (7D) F= (B7) F= (FF) F= (6A) F= (B2) F= (EC) F= (34) F= (35) F= (7D) F= (B7) F= (FF) F= (6A) F= (B2) F= (EC) F= (34) | F=(36) F=(7E) F=(B8) F=(00) F=(6B) F=(B3) F=(ED) F=(35) F=(36) F=(7E) F=(B8) F=(00) F=(6B) F=(B3) F=(ED) F=(35) | F=(CA) F=(82) F=(48) F=(00) F=(FF) F=(B7) F=(7D) F=(35) F=(CA) F=(82) F=(48) F=(00) F=(FF) F=(B7) F=(7D) F=(35) |
以学号为作为输入数据
加数1 DR1 | 加数2 DR2 | S3 S2 S1 S0 | M=0(算术运算) | M=1 (逻辑运算) | |
Cn=1 无进位 | Cn=0 有进位 | ||||
03 | 07 | 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | F=03 F=07 F=FB F=FF F=03 F=07 F=FB F=FF F=06 F=0A F=FE F=02 F=06 F=0A F=FE F=02 | F=04 F=08 F=FC F=00 F=04 F=08 F=FC F=00 F=07 F=0B F=FF F=03 F=07 F=0B F=FF F=03 | F=FC F=F8 F=04 F=00 F=FC F=F8 F=04 F=00 F=FF F=FB F=07 F=03 F=FF F=FB F=07 F=03 |
- 六、实验结果分析及总结
- 实验结果分析
74LS81运算器的功能图及其相关开关状态可以对数字进行不同的运算,如加、减、进位等。实验结果也是通过开关控制从而使74LS81运算器行驶不同功能,当M=0(进行算术运算时)分为有进位(Cn=0)和无进位(Cn=0)两种状态,对输入在74LS81的数字进行简单有无进位运算;当M=1(进行逻辑运算时),对输入74LS181的数据进行逻辑运算。
2.总结
通过本次实验,我掌握了算术逻辑运算器单元ALU(74LS181)的工作原理和简单运算器的数据传送通路组成原理。
并且通过自己验证算术逻辑运算功能发生器74LSl8l的组合功能,即按给定数据,完成实验指导书中的算术运算和逻辑运算。
知道了DVCC实验箱的正确使用,了解每一个功能区的具体所在位置。
需要注意的是在做实验时尤其要注意接线及起始状态开关,这可能会对接下来的实验数据造成一定影响。
74LS181逻辑功能表中“+”表示逻辑或,“⊕”表示逻辑异或,“/”表示逻辑非,“AB”表示逻辑与。加法运算时,CY=1表示运算结果有进位,CY=0表示运算结果无进位;减法运算时,CY=1表示运算结果无借位,CY=0表示运算结果有借位。
七、思考题
1、在向DR1和DR2寄存器置数时S3、S2、S1、S0、M、Cn如何设置?
答:S3、S2、S1、S0、M、Cn都置零。
2、DR1置数完成后,如果不关闭控制端,LDDR1会怎样?
答:LDDR1是寄存器DR1存数控制信号,高电平有效;LDDR2是寄存器DR2存数控制信号,高电平有效。DR1置数完成后,如果不关闭控制端,当再次输入数据时,数据会将之前已经存入的数据覆盖。
3、为什么在读取74LS181的输出结果时要打开输出三态门的控制端ALUB’ ?
答:打开输入三态门的控制端ALUB是为了读取74LS18,因为ALUB会控制运算器的的运算输出结果送到数据总线BUS中。