算术逻辑运算实验
- 格式:doc
- 大小:102.50 KB
- 文档页数:4
算术逻辑运算实验
实验目的:
(1) 了解运算器的组成与结构。
(2) 掌握运算器的工作原理。
(3) 学习运算器的设计方法。
(4) 掌握简单运算器的数据传输通路。
(5) 验证运算功能发生器74LS181的组合功能。
实验仪器设备:
TDN-CM+或者TDN-CM++教学试验系统一套和导线若干。
实验原理:
图1 运算器通路图
运算器数据通路图如图1。图中运算器主要由两片74LS181(功能见表1)芯片并/串形式构成,实现数据的运算,是运算器核心部件为。图中是8位字长的运算器,其中左边为高4位,右边为低4位。低位片的进位输出端Cn+4与高位的Cn相连,使进位可以输入高位片。
数据存储由DR1与DR2两个寄存器分别寄存,由锁存器74LS273实现。高电平有效。其控制端分别为LDDR1与LDDR2。当T4脉冲到达时总线上的数据就被锁存进DR1与DR2中。
数据输出是在输出端连接一个三态门(用74LS245实现),当三态门控制端ALU-B为低电平的时候,运算结果即可以输出到总线。否则为高阻态。
数据输入(实验板上INPUT DEVICE部分)用以给出参与运算的数据。由一个三态门(74LS245)控制输入。输入开关经三态门与内总线相连,当其控制信号SW-B为低电平的时,数据通过三态门送入内总线。
T4为脉冲信号,需要连接到“STATE UNIT”单元中的微动开关KK2。
S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B各电平控制信号使用“SWITCH UNIT”单元中的二进制数据开关模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。
对于单总线的数据通路,实验时要分时控制总线,即当数据输入时(DR1、与DR2工作寄存器送入数据时),数据开关三态门打开(SW-B=0),同时保证运算输出三态门关闭(ALU-B=1);同样,当输出结果至总线时,数据输出三态门处于打开(ALU-B=0),同时保证数据输入三态门处于关闭(SW-B=1)状态。
实验步骤:
实验中所用数据为:
A=65)16 =01100101)2,B=A7)2 =10100111)2,C=61)16=01100001)2。
主要运算为A+B和A+B-C。
步骤
(1)按图2连接实验电路并检查无误。
(2)打开电源开关。
(3)用输入开关向暂存器DR1置数。 1.拨动输入开关形成二进制数01100101(数据显示:灯亮为0,灯灭为1)。
2.使SWITCH UNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU输出三态门)、LDDR1=1、LDDR2=0。
3.按动微动开关KK2,则将二进制数01100101置入DR1中。
(4)用输入开关向暂存器DR2置数。
1.拨动输入开关形成二进制数10100111。
2.SW-B=0、ALU-B=1保持不变,改变LDDR1,LDDR2,使LDDR1=0、LDDR2=1。
3.按动微动开关KK2,将二进制数10100111置入DR2中。
(5)检验DR1和DR2中存的数是否正确。
1.关闭输入数据三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器。
2.置S3、S2、S1、S0、M为1、1、1、1、1,总线显示灯显示DR1中的数。
3.置S3、S2、S1、S0、M为1、0、1、0、1,总线显示灯显示DR2中的数。
(6)改变运算器的功能设置,观察运算器的输出。
1.SW-B=1,ALU-B=0保持不变。
2.按表1置S3、S2、S1、S0、M、Cn的数值,并观察总线显示灯的显结果。
3.置S3、S2、S1、S0、M、Cn为1、0、0、1、0、1,运算器进行无进位加法运算(至此进行了A+B的和运算)。
4.使LDDR1=1、LDDR2=0,同时保证SW-B=1,ALU-B=0保持不变。按动微动开关KK2,将A+B的结果00001100置入DR1中。(为多步运算做准备)
(7)用输入开关向暂存器DR2置数。
1.拨动输入开关形成二进制数01100001。
2.使SW-B=0、ALU-B=1(关闭ALU输出三态门),LDDR1=0、LDDR2=1。
3.按动微动开关KK2,则将二进制数01100001置入DR2中。
(8)改变运算器的功能设置,观察运算器的输出。
1.SW-B=1,ALU-B=0保持不变。
2.置S3、S2、S1、S0、M、Cn为0、1、1、0、0、0,运算器进行有进位减法运算(至此进行了A+B-C的运算)。结果为10101011.
实验数据
M=0 M=1
DR1 DR2 S3 S2 S1 S0 Cn=1 Cn=0
65 A7 0 0 0 0 65 66 9A
65 A7 0 0 0 1 E7 E8 18
65 A7 0 0 1 0 7D 7E 82 这三步为验证
65 A7 0 0 1 1 FF 00 00
65 A7 0 1 0 0 58 59 25
65 A7 0 1 0 1 28 29 A7 这三步为自己的计算
0C 61 0 1 1 0 AB 这步为A+B-C中的“-C”
65 A7 1 0 0 1 0C 这步为A+B
实验总结
完成A+B-C操作后,
总线显示灯最后的结果为暗、亮、暗、亮、暗、亮、暗、暗,即运算器最后输出的结果为10101011。完成了01100101+10100111-01100001=10101011运算。 以上结果跟理论计算的结果是一致,从而验证了运算器输出的正确性。
如果要进行更多步的运算(比如说A+B-C+D),只要重复步骤(6)的第4步以后的步骤即可。(多几步就重复几次)
通过这次实验我成功验证运算功能发生器74LS181的组合功能,对运算器的组成结构和工作原理有了一定的认识。
问题讨论
1. 在实验中必须要注意控制信号的发生时机和分时控制,其中一定要区分74LS181、74LS245和74LS273有效时候的电平情况。74LS273是高电平有效,其他的两块芯片为低电平有效。否则会造成数据输入有误,结果出错。
2. 在进行多步运算时要注意前一步运算结果的保存位置是DR1还是DR2,一定要根据自己所写的运算式一致。否则会使结果出错。
图2