第一部分 移位寄存器实验
验证移位寄存器的组合功能。
1、实验原理
移位运算实验原理如图1.1所示。移位运算实验原理如图3-4所示,使用了一片74LS299(U34)作为移位发生器,其八位输入/输出端通过74LS245引到总线,JA4接通时输出到总线。299B`信号由开关299B提供,控制其使能端,T4为其时钟脉冲,手动方式实验时将T4与手动脉发生器输出端SD相连,即J23跳线器上T4连SD。由信号S0 、S1、 M控制其功能状态,详细见表1.1。
图1.1 移位运算实验原理图
2、实验接线
- J20,J21,J22,接上短路片;
- J24,J25,J26接左边;
- J27,J28 右边;
- J23 置右边T4选“ SD”;
- JA5 置“接通”;
- JA6 置“手动”;
- JA3,JA4 置“接通”;
- JA1,JA2,置“高阻”;
- JA8 置上面“微地址”
- EXJ1接BUS3;
- CE、ALU_B 置“1”;
- 299B 置“0”;
- 总清开关拨到“1”位置。
3、实验步骤
① 连接实验线路,仔细查线无误后接通电源。
② 置数,具体步骤如下:
③ 移位,参照表4.1改变S0、 S1、 M、 299B 的状态,按动手动脉冲开关以产生时钟脉冲T4,观察移位结果。
四、实验数据记录
1、移位寄存器初始数据为:35H(CY=0)
第1次按动手动脉冲开关,移位寄存器数据为:35H
第2次按动手动脉冲开关,移位寄存器数据为:9AH
第3次按动手动脉冲开关,移位寄存器数据为:4DH
第4次按动手动脉冲开关,移位寄存器数据为:9AH
第5次按动手动脉冲开关,移位寄存器数据为:34H
299B | S1 | S0 | M | 移位操作 | 理论计算结果 | 移位后结果 | CY |
* | 1 | 1 | * | 装数 | 00110101(35H) | 00110101(35H) | 0 |
0 | 0 | 0 | * | 保持 | 00110101(35H) | 00110101(35H) | 0 |
0 | 1 | 0 | 0 | 循环右移 | 10011010(9AH) | 10011010(9AH) | 0 |
0 | 1 | 0 | 1 | 带进位循环右移 | 01001101(4DH) | 01001101(4DH) | 0 |
0 | 0 | 1 | 0 | 循环左移 | 10011010(9AH) | 10011010(9AH) | 0 |
0 | 0 | 1 | 1 | 带进位循环左移 | 00110100(34H) | 00110100(34H) | 1 |
2、实验结果记录表
置入移位寄存器数据 | 进位 Cy | 299B S1 S0 M | 移位操作 | 移位后结果 | 理论计算结果 |
9AH | 0 | 0 0 1 0 | 循环左移 | 00110101 | 00110101 |
1 | 循环左移 | 00110101 | 00110101 | ||
0 | 0 0 1 1 | 带进位循环左移 | 00110100 | 00110100 | |
1 | 带进位循环左移 | 00110101 | 00110101 | ||
0 | 0 1 0 0 | 循环右移 | 01001101 | 01001101 | |
1 | 循环右移 | 01001101 | 01001101 | ||
0 | 0 1 0 1 | 带进位循环右移 | 01001101 | 01001101 | |
1 | 带进位循环右移 | 11001101 | 11001101 |
以自己的学号后两位作为输入数据
置入移位寄存器数据 | 进位 Cy | 299B S1 S0 M | 移位操作 | 移位后结果 | 理论计算结果 |
04 | 0 | 0 0 1 0 | 循环左移 | 00001000 | 00001000 |
1 | 循环左移 | 00001000 | 00001000 | ||
0 | 0 0 1 1 | 带进位循环左移 | 00001000 | 00001000 | |
1 | 带进位循环左移 | 00001001 | 00001001 | ||
0 | 0 1 0 0 | 循环右移 | 00000010 | 00000010 | |
1 | 循环右移 | 00000010 | 00000010 | ||
0 | 0 1 0 1 | 带进位循环右移 | 00000010 | 00000010 | |
1 | 带进位循环右移 | 10000010 | 10000010 |
五、实验结果分析及总结
1、实验结果分析
将8位01数据存入移位运算器,通过控制信号S0、S1、M控制其功能状态,实现8位01数据的循环左移、循环右移、带进位循环左移、带进位循环右移四种运算功能,同时可以使Cy=0或1时的状态得到不同的数据答案。如当循环左移且Cy=0时,将8位01数据的最后一位放入临时状态位Cy中,然后剩下7位数向左移动一个位置,最后将Cy中的数放入第一位空出来的位置,这时再读取8位01数据即为所求数据。
2、总结
通过这次实验,我掌握了移位运算器的原理和功能控制原理,并通过实验数据验证了其正确性,学习到了移位运算器的工作原理,并仿照实现其功能。本次实验使用了一片74LS299(U34)作为移位发生器,其八位输入/输出端通过74LS245引到总线,JA4接通时输出到总线。299B`信号由开关299B提供,控制其使能端,T4为其时钟脉冲,手动方式实验时将T4与手动脉发生器输出端SD相连,即J23跳线器上T4连SD。由信号S0 、S1、 M控制其功能状态,
六、思考题
若移位寄存器存放一个8位数,通过怎样的移位运算后可使移位寄存器存放的数据保持不变?
答:循环左移8n次或循环右移8n次,n为整数时可使其数据不变。