掌握运算器的组成及工作原理Word格式.docx
《掌握运算器的组成及工作原理Word格式.docx》由会员分享,可在线阅读,更多相关《掌握运算器的组成及工作原理Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
is
图1-1(b)GAL芯片进位控制电路
算术逻辑单元ALU是由两片74LS181构成。
74LS181的功能控制条件由S3、S2、
S1、SO、M、Cn决定。
高电平工作方式74LS181的功能、管脚分配和引出端功能符号
详见表1-1、图1-2和表1-2。
两片74LS273构成两个八位数据暂存器,运算器的输出采用三态门74LS244。
它们
的管脚分配和引出端功能符号详见图1-3和图1-4。
74LS181功能表见表1—1,其中符号“+”表示逻辑“或”运算,符号“*”表示逻辑“与”运算,符号“/”表示逻辑“非”运算,符号“加”表示算术加运算,符号
"
减”表示算术减运算。
选择
M=1
逻辑操作
M=0算术操作
S3S2S1SO
Cn=1(无进位)
Cn=0(有进位)
0000
F=/A
F=A
F=A加1
0001
F=/(A+B)
F=A+B
F=(A+B)加1
0010
F=/A*B
F=A+/B
F=(A+/B)加1
0011
F=0
F=M1(2的补)
0100
F=/(A*B)
F=A加A*/B
F=A加A*/B加1
0101
F=/B
F=(A+B)加A*/B
F=(A+B)加A*/B加1
0110
F=(/A*B+A*/B)
F=A减B减1
F=A减B
0111
F=A*/B
F=A*/B减1
1000
F=/A+B
F=A加A*B
F=A加A*B加1
1001
F=/(/A*B+A*/B)
F=A加B
F=A力口B力口1
1010
F=B
F=(A+/B)加A*B
F=(A+/B)加A*B加1
1011
F=A*B
F=A*B减1
1100
F=1
F=A加A
F=A加A加1
1101
F=(A+B)加A
F=(A+B)加A加1
1110
F=(A+/B)加A
F=(A+/B)加A加1
1111
F=A减1
-rqddqqddqd
-c11223344N
G
表1-174LS181功能表
五、工作原理:
运算器的结构框图见图1-5:
数据总线(D.BUS)
算术逻辑单元ALU是运算器的核心。
集成电路74LS181是4位运算器,两片
74LS181以并/串形式构成8位运算器。
它可以对两个八位二进制数进行多种算术或逻
辑运算,74LS181有高电平和低电平两种工作方式,高电平方式采用原码输入输出,低电平方式采用反码输入输出,这里采用高电平方式。
三态门74LS244作为输出缓冲器由ALU-G信号控制,ALU-G为“0”时,三态门开通,此时其输出等于其输入;
ALU-G为“1”时,三态门关闭,此时其输出呈高阻。
两片74LS273作为两个八位数据暂存器,其控制信号分别为LDR1和LDR2,当
LDR1和LDR2为高电平有效时,在T4脉冲的前沿,总线上的数据被送入暂存器保存。
六、实验内容:
验证74LS181运算器的逻辑运算功能和算术运算功能。
七、实验步骤:
I、单片机键盘操作方式实验
注:
在进行单片机键盘控制实验时,必须把开关K4置于“OFF”状态,否则系统
处于自锁状态,无法进行实验。
1.实验连线(键盘实验):
实验连线图如图1-6所示。
(连线时应按如下方法:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;
对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
)
图1-6实验一键盘实验连线图
2.实验过程:
在监控指示灯滚动显示【CLASSSELECt】时按【实验选择】键,显示【ES--__】
输入01或1,按【确认】键,监控指示灯显示为【ES01】,表示准备进入实验一程序,也可按【取消】键来取消上一步操作,重新输入。
再按【确认】键,进入实验一程序,监控指示灯显示【InSt--】,提示输入运算指令,输入两位十六进制数(参考表1-
3和表1-1),选择执行哪种运算操作。
按【确认】键,监控指示灯显示【Lo=0】,此
处Lo相当于表1-1中的M,默认为“0”,进行算术运算,也可以输入“1”,进行逻
辑运算。
按【确认】,显示【Cn=0】,默认为“0”,由表1-1可见,此时进行带进位运算,也可输入“1”,不带进位运算(注:
如前面选择为逻辑运算,则Cn不起作
用)。
按【确认】,显示【Ar=1】,不用改变,使用默认值“1”,按【确认】,显示
【DATA】,提示输入第一个数据,输入十六进制数【34H】,按【确认】,显示
【DATA】,提示输入第二个数据,输入十六进制数【B6H】,按【确认】键,监控指
示灯显示【FINISH】,表示运算结束,可从数据总线显示灯观察运算结果。
再按【确
认】后监控显示灯显示【ES01】,可执行下一运算操作。
运算指令(S3S2S1SO)
输入数据(十六进制)
00或0
01或1
02或2
03或3
04或4
05或5:
06或6
07或7
08或8
09或9
0A或A
0B或B
0C或C
0D或D
0E或E
0F或F
表1-3运算指令关系对照表
在给定LT仁34H、LT2=B6H的情况下,改变运算器的功能设置,观察运算器的输出,填入表中,并和理论值进行比较和验证:
LT1
LT2
S3S2S1S0
M=0(算术运算)
M=1(逻辑运算)
Cn=1
(无进位)
Cn=0(有进位)
34H
B6H
F=
01或1:
F=「
03或3「
F=1
05或5—1
07或71
09或91
0B或B1
0D或D1
0E或E1
n、开关控制操作方式实验
为了避免总线冲突,首先将控制开关电路的ALU-G和C-G拨到输出高电平
“1”状态(所对应的指示灯亮。
本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表
低电平“0”。
1.按图1—7接线图接线:
连线时应注意:
为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;
对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
图1—7实验一开关实验接线图
2.通过数据输入电路的拨开关开关向两个数据暂存器中置数:
注意:
本实验中ALU-G和C-G不能同时为0,否则造成总线冲突,损坏芯片!
故每次
实验时应时刻保持只有一路与总线相通。
1)置ALU-G=1:
关闭ALU的三态门U31(74LS244);
再置C-G=0:
打开数据输入
电路的三态门;
2)向数据暂存器LT1(U27,74LS273)中置数:
(1)设置数据输入电路的数据开关“D7……D0”为要输入的数值,如“0101
0101”;
(2)置LDR1=1:
使数据暂存器LT1(U27,74LS273)的控制信号有效,置
LDR2=0:
使数据暂存器LT2(U28,74LS273)的控制信号无效;
(3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1(U27,
74LS273)送时钟,上升沿有效,把数据存在LT1中。
3)向数据暂存器LT2(U28,74LS273)中置数:
(1)设置数据输入电路的数据开关“D7……DO”为想要输入的数值,如
“10101010”;
(2)置LDR1=0:
数据暂存器LT1的控制信号无效;
置LDR2=1:
使数据暂存器LT2的控制信号有效。
(3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT1(U27,
74LS273)送时钟,上升沿有效,把数据存在LT2中。
(4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。
4)检验两个数据暂存器LT1和LT2中的数据是否正确:
(1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU
的三态门;
(2)置“S3S2S1S0M”为“11111”,数据总线显示灯显示数据暂存器LT1中的数“01010101”,表示往暂存器LT1置数正确;
(3)置“S3S2S1S0M”为“10101”,数据总线显示灯显示数据暂存器LT2中的数“10101010”,表示往暂存器LT2置数正确。
3.验证74LS181的算术和逻辑功能
p0100
A
p000
: