实验1通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。2.了解通用寄存器的构成和运用。二、实验要求掌握通用寄存器R3~R0的读写操作。三、实验原理实验中所用的通用寄存器数据通路如下图所示。由四片8位字长的74LS574组成R1R0(CX)、R3R2(DX)通用寄存器组。图中X2X1X0定义输出选通使能,SI、XP控制位为源选通控制。RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。DRCK信号为寄存器组打入脉冲,上升沿有效。准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。图2-3-3通用寄存器数据通路四、实验内容1.实验连线K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。连线信号孔接入孔作用有效电平1DRCKCLOCK单元手动实验状态的时钟来源上升沿打入2X2K10(M10)源部件译码输入端X2三八译码八中选一低电平有效3X1K9(M9)源部件译码输入端X14X0K8(M8)源部件译码输入端X05XPK7(M7)源部件奇偶标志:0=偶寻址,1=奇寻址6SIK20(M20)源寄存器地址:0=CX,1=DX7RWRK18(M18)通用寄存器写使能低电平有效8DIK17(M17)目标寄存器地址:0=CX,1=DX9OPK16(M16)目标部件奇偶标志:0=偶寻址,1=奇寻址2.寄存器的读写操作①目的通路当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。通用寄存器“手动/搭接”目的编码目标使能通用寄存器目的编址功能说明RW(K18)DI(K17)OP(K16)T000↑R0写001↑R1写010↑R2写011↑R3写②通用寄存器的写入通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:③源通路当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。通用寄存器“手动/搭接”源编码源使能通用寄存器源编址功能说明K10K9K8K20K7X2X1X0SIXP置数I/O=XX33h数据来源I/O单元寄存器R2=33hK10~K7=1000按【单拍】按钮置数I/O=XX44h寄存器R3=44h按【单拍】按钮K18~K16=010K18~K16=011置数I/O=XX11h数据来源I/O单元寄存器R0=11hK10~K7=1000按【单拍】按钮置数I/O=XX22h寄存器R1=22h按【单拍】按钮K18~K16=000K18~K16=00100100R0送总线01R1送总线10R2送总线11R3送总线④通用寄存器的读出关闭写使能,令K18(RWR)=1,按下流程分别读R0、R1、R2、R3。五、实验心得通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。读R2数据来源通用寄存器数据总线显示R2值K10~K8=001K20K7=10读R3数据总线显示R3值K20K7=11读R0数据来源通用寄存器数据总线显示R0值K10~K8=001K20K7=00读R1数据总线显示R1值K20K7=01实验2运算器实验一、实验目的掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。二、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。三、实验原理实验中所用的运算器数据通路如图2-3-1所示。ALU运算器由CPLD描述。运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。图2-3-1运算器数据通路图中AWR、BWR在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的脉冲把总线上的数据打入,实现运算源寄存器A、暂存器B的写入操作。四、实验内容1.运算器功能编码表2.3.1ALU运算器编码表算术运算逻辑运算K15K13K12K11功能K15K13K12K11功能MS2S1S0MS2S1S00000A+B+C1000B0001A—B—C1001/A0010RLC1010A-10011RRC1011A=00100A+B1100A#B0101A—B1101A&B0110RL1110A+10111RR1111A2.实验连线K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。表2.3.2运算实验电路搭接表连线信号孔接入孔作用有效电平1DRCKCLOCK单元手动实验状态的时钟源上升沿打入2X2K10(M10)源部件译码输入端X2三八译码八中选一低电平有效3X1K9(M9)源部件译码输入端X14X0K8(M8)源部件译码输入端X05XPK7(M7)源部件奇偶标志:0=偶寻址,1=奇寻址6MK15(M15)运算控制位:0=算术运算,1=逻辑运算7S2K13(M13)运算状态位S28S1K12(M12)运算状态位S19S0K11(M11)运算状态位S010AWRK17(M17)A运算源寄存器写使能低电平有效11BWRK18(M18)B运算源暂存器写使能低电平有效示例1算术运算1.运算源寄存器写流程通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。3.加法与减法运算令MS2S1S0(K15K13~K11=0100),为算术加,FUN及总线单元显示A+B的结果令MS2S1S0(K15K13~K11=0101),为算术减,FUN及总线单元显示A-B的结果。示例2逻辑运算1.运算源寄存器写流程通过“I/O输入输出单元”开关向寄存器A和B置数,具体操作步骤如下:读AK15=1数据来源FUN数据总线DBUS=AK10~K7=1100K13~K11=111读BK15=1K13~K11=000数据总线DBUS=B置数I/O=XX44h数据来源I/O单元累加器A=44K10~K7=1000按【单拍】按钮置数I/O=XX22h暂存器B=22按【单拍】按钮K18K17=10K18K17=012.运算源寄存器读流程关闭A、B写使能,令K17=K18=1,按下流程分别读A、B。①若运算控制位设为(MS2S1S0=1111)则F=A,即A内容送到数据总线。②若运算控制位设为(MS2S1S0=1000)则F=B,即B内容送到数据总线。3.逻辑运算令MS2S1S0(K15K13~K11=1101),为逻辑与,FUN及总线显示A逻辑与B的结果。令MS2S1S0(K15K13~K11=1100),为逻辑或,FUN及总线显示A逻辑或B的结果。示例3移位运算(1)A寄存器置数拨动“I/O输入输出单元”开关向移位源寄存器A置数,具体操作步骤如下:(2)A寄存器移位流程完成上流程的操作后,按表2.3.3改变K13、K11的状态,再按动【单拍】钮,观察A的变化。①当K13K11=11,每按一次【单拍】钮,A右移一位。②当K13K11=10,每按一次【单拍】钮,A左移一位。③当K13K11=01,每按一次【单拍】钮,A带进位右移一位。④当K13K11=00,每按一次【单拍】钮,A带进位左移一位。实验思考:验证表2.3.1ALU运算器编码表所列的运算功能。在给定A=55h、B=77h的情况下,K23~K0置“1”,改变运算器的功能设置位MS2S1S0(K15K13~K11),观察运算器的输出,填入下页表格中,并和理论分析进行比较、验证。表2.3.4ALU运算器真值表运算控制运算表达式K15K13K12K11AB运算结果MS2S1S0带进位算术加A+B+C00005577FUN=(CC)带借位算术减A-B-C00015577FUN=(DE)改变K13K11移位控制数据来源FUNDBUS=FUNK10~K7=1100移位结果打入A按【单拍】按钮K17K15K12=001置数I/O=XX80h数据来源I/O单元写数A=80K10~K7=1000按【单拍】按钮关写控位K18K17=10K18K17=11读AK15=1数据来源FUN数据总线DBUS=AK10~K7=1100K13~K11=111读BK15=1K13~K11=000数据总线DBUS=B置数I/O=XX22h数据来源I/O单元累加器A=22K10~K7=1000按【单拍】按钮置数I/O=XX44h暂存器B=44按【单拍】按钮K18K17=10K18K17=01带进位左移RLCA00105577FUN=(AA)带进位右移RRCA0011FUN=(2A)算术加A+B0100FUN=(CC)算术减A-B0101FUN=(DE)左移RLA0110FUN=(AA)右移RRA0111FUN=(AA)取B值B10005577FUN=(77)A取反NOTA10015577FUN=(AA)A减1A-110105577FUN=(54)清零01011FUN=(00)逻辑或AORB1100FUN=(77)逻辑与AANDB1101FUN=(55)A加1A+11110FUN=(56)取A值A1111FUN=(55)五、实验心得这个实现让我掌握了八位运算器的数据传输格式,并且验证运算功能发生器及进位控制的组合功能,顺利的完成了算术、逻辑、移位运算的实验,熟悉了ALU运算控制位的运用。实验3准双向I/O口实验一、实验目的熟悉与了解准双向I/O口的构成原理。二、实验要求掌握准双向I/O口的输入/输出特性的运用。三、实验原理Dais-CMX08+向用户提供的是按准双向原理设计的十六位输入/输出I/O口,当该位为“1”时才能用作输入源,上电或复位(手动态按【返回】键),该十六位I/O口被置位(即为“0FFFFh”)。通常情况下,在用作输入的时候就不能再有输出定义。电路结构如图2-3-4所示。该口外接十六位二进制数据开关,适用于外部数据的输入,该口跨接十六个发光二极管和经缓冲驱动的四个七段显示,能以二进制和十六进制两种方式显示I/O口的输入输出状态。发光管在高电平“1”时发光点亮。图2-3-4准双向I/O电路实验中所用的I/O口数据通路如图2-3-5所示。I/O的输入经2片74LS245缓冲与数据总线相连,I/O口的输出由2片74LS574锁存后输出,锁存器的输入端与数据总线相连。图2-3-5十六位I/O的数据通路四、实验内容1.实验连线K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。连线信号孔接入孔作用有效电平1IOCKCLOCK单元手动实验状态的时钟来源上升沿打入2X2K10(M10)源部件译码输入端X2三八译码八中选一低电平有效3X1K9(M9)源部件译码输入端X14X0K8(M8)源部件译码输入端X05XPK7(M7)源部件奇偶标志:0=偶寻址,1=奇寻址6IOWK17(M17)I/O输出使能,本例定义到M17位低电平有效7OPK16(M16)目标部件奇偶标志:0=偶寻址,1=奇寻址2.搭接方式I/O的寻址定义I/O口源编址I/O口目的编址源编码I/O编址注释目的I/O编址注释K10K9K8K7K17K16X2X1X0XPIOWOP1000S7~S0读00S7~S0写1S15~S8读1S15~S0写3.I/O口奇送偶(S15~S8送S7~S0)4.I/O口偶送奇(S7~S0送S15~S8)五、实验心得通过这个实现让我彻底的掌握了准双向I/O口的输入/输出特性的运用,并且熟悉与了解了准双向I/O口的构成原理。置数S7~S0=99数据来源S7~S0写数据S15~S8=99K10~K7=1000K17~K16=01I/O开关S15~S0置1按【返回】键按【单拍】按钮置数S15~S8=66数据来源S15~S8写数据S7~S0=66K10~K7=1001K17~K1