实验五 移位运算实验
一、实验目的
掌握移位控制的功能及工作原理。
二、预习要求
1、了解8位双向移位寄存器74LS299的功能引出端功能符号和管脚分配;
2、预习移位运算电路的工作原理。
三、实验原理
本模块由逻辑控制单元由一片带三态输出的移位寄存器74LS299组成 74LS299具有并
行置数、左移、右移、保持等功能,且具有三态输出,其功能见表5-1。
表 5-1 74LS299 的功能表
说明:
1、当输出控制端
或
中有一个或两个为高时,则八个输入/输出端都为高阻
态,但不影响寄存器的时序工作和清零。
2、b0…b7 = 分别为输入 IO0 至 IO7 的稳态输入电平,这些数据在触发器输出与输入
/输出端隔绝时送入各触发器。
3、H = 高电平, L = 低电平, × = 不定, ↑ = 从低电平转换到高电平。
四、实验步骤
1、设置初始状态 拨动DSW2的9和10,分别将U1的 、 脚和U2的 脚置高,此时,
与LED数码管连接的八根数据线为高阴态,LED数码管熄灭(为什么?),移位方式控制开关
拨向下方的逻辑移位一侧。
2、向U1置数 拨动DSW1产生一个数比如A6H(注意,数据的高位在下,低位在上),具
体操作如下:
0
1
1
0
0
1
0
1
U1 的 =1
=1
U2 的 =0
A6H 已显示
在 LED 上并
DSW1
U1 的 =0
=0
3、数据左移(低位向高位移动,D0进入最低位),操作步骤如下:
送到 U1
U1 的 CLK=
U1 的 S1=1, S2=1
U2 的 =1
A6H 已
置入
LED 显示的
A6H 是 U1
输出的数据
0
1
1
0
0
1
0
1
LED
U1 的 S1=0, S2=1
U1 的 CLK=
LED 上显示
移位结果
4CH
4、数据右移(高位向低位移动,D7进入最高位),操作步骤如下:
0
0
1
1
0
0
1
0
LED
U1 的 S1=1, S2=0
U1 的 CLK=
LED 上显示
移位结果
A6H
5、移位方式控制开关拨向上方的循环移位一侧,重复第3、4步,记下操作结果。
五、思考题
画出能实现算术移位的移位控制电路。
1、逻辑左移
输入端输入80H,即10000000,可以发现U1的输出端也为10000000,即数据
已送到U1.
S0=0,S1=1时,数据左移,再给CLK一个上升沿,即可实现数据左移。
因为10000000左移一位为00000001,所以结果为01H。
若反复给CLK一个上升沿,数据可一直左移。
2、逻辑右移
D0端接地,即可实现右移。
S0=1,S1=0时,数据右移,再给CLK一个上升沿,即可实现数据右移。
因为10000000右移一位为01000000,所以结果为40H。
若反复给CLK一个上升沿,数据可一直右移。
右移到00H停止,同时也可以观察到U1,U2的输出端也在随着右移的数据变化。
通过实验,可发现逻辑右移的结果为:
3、循环左移
D0端接Q0端,即可实现循环左移,如下图所示:
S0=0,S1=1时,数据左移,再给CLK一个上升沿,即可实现数据左移。
在上面的逻辑左移的过程中,移动到80H会停止,但在循环左移时,数据左移
到80H后,会继续左移为01H。
如下图所示,数据将继续左移,不会停止。
通过实验,可发现循环左移的结果为:
4、循环右移
D0端接Q7端,即可实现循环右移,如下图所示:
S0=1,S1=0时,数据右移,再给CLK一个上升沿,即可实现数据右移。
在上面的逻辑右移的过程中,移动到00H会停止,但在循环右移时,数据右移
到01H后,会继续右移为80H。