寄存器实验
一、实验目的
1.熟悉通用寄存器的数据通路。
2.了解通用寄存器的构成和运用。
二、实验要求
掌握通用寄存器R3~R0的读写操作。
三、实验原理
实验中所用的通用寄存器数据通路如下图所示。由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。DRCK信号为寄存器组打入脉冲,上升沿有效。准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图1 通用寄存器数据通路
四、实验内容
- 实验连线
K23K0置“1”,灭M23M0控位显示灯。然后按下表要求“搭接”部件控制电路。
连线 信号孔 接入孔 作用 有效电平
1 DRCK CLOCK 单元手动实验状态的时钟来源 上升沿打入
2 X2 K10(M10) 源部件译码输入端X2 三八译码
八中选一
低电平有效
3 X1 K9(M9) 源部件译码输入端X1
4 X0 K8(M8) 源部件译码输入端X0
5 XP K7(M7) 源部件奇偶标志:0=偶寻址,1=奇寻址
6 SI K20(M20) 源寄存器地址:0=CX,1=DX
7 RWR K18(M18) 通用寄存器写使能 低电平有效
8 DI K17(M17) 目标寄存器地址:0=CX,1=DX
9 OP K16(M16) 目标部件奇偶标志:0=偶寻址,1=奇寻址
2.寄存器的读写操作
①目的通路
当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。
通用寄存器“手动/搭接”目的编码
目标使能 通用寄存器目的编址 功能说明
RW(K18) DI(K17) OP(K16) T
0 0 0 ↑ R0写
0 0 1 ↑ R1写
0 1 0 ↑ R2写
0 1 1 ↑ R3写
②通用寄存器的写入
通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:
通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:
③源通路
当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。
通用寄存器“手动/搭接”源编码
源使能 通用寄存器源编址 功能说明
K10 K9 K8 K20 K7
X2 X1 X0 SI XP
0 0 1 0 0 R0送总线
0 1 R1送总线
1 0 R2送总线
1 1 R3送总线
④通用寄存器的读出
关闭写使能,令K18(RWR)=1,按下流程分别读R0、R1、R2、R3。
首先打开仪器之后,按照实验要求进行连线。把k23-k0置“1”(接入孔上“0”下“1”)
根据实验数据读入,如下表
计科211班
R0 学号后两位
R1 学号后两位+10
R2 学号后两位+20
R3 学号后两位+30
通用寄存器的写入
第一步:K10-K7置“1000”,然后置数K18-K16置“000”,R0=14,按单拍按钮,然后K18-K16置“001”,R1=24,按单拍按钮。第二步:K10-K7置“1000”,然后置数K18-K16置“010”,R2=34,按单拍按钮,然后K18-K16置“011”,R3=44,按单拍按钮。
通用寄存器的读出
首先k10-k8置“001”,然后读入R0=14,k20和k7置“00”,数据总线显示14。读入R1=24,k20和k7置“01”,数据总线显示24。读入R2=34,k20和k7置“10”,数据总线显示34。读入R3=44,k20和k7置“11”,数据总线显示44。
实验结果如图所示:
图1
图2
图3
图4
五、问题及解决方法
在第一次写入数据时,寄存器中的数据出现错误现象。在经过研究后发现是k20和k7置0和1时置错了,把0置成了1,1置成了0,改正之后能正确读出。
六、实验小结
通过本次实验熟悉了通用寄存器的数据通路,同时也了解了通用寄存器的构成和运用以及通用寄存器R3-R0的读写操作。在开始做实验时,我对实验仪器感到非常的陌生,不知道该如何来操作这个看起来非常复杂的通用寄存器组。但是通过老师的讲解以及对对实验原理的解读,我发现其实它并不难,听过老师的讲解之后按照实验步骤就能做出来。
在实验过程中,需要了解线路的连接来组成通用寄存器组,千万不能连错,要不然数据根本不会显示。最后这次实验通过实际操作让我学习到了新的知识-寄存器的组成与原理。