总线传输实验Word格式.docx
- 文档编号:20709317
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:23
- 大小:317.67KB
总线传输实验Word格式.docx
《总线传输实验Word格式.docx》由会员分享,可在线阅读,更多相关《总线传输实验Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
1)调剂适合的T3节拍波形
2)连接实验线路
3)写存储器
先通过数据开关输入指定存储单元的地址,并将其打入地址寄放器,再通过数据开关输入要寄存的数据。
●CE高,LDAR高,SW-B低
●INPUT地址,T3脉冲
●LDAR低,CE低,WE高,SW-B低
●INPUT数据,T3脉冲
4)读存储器
先通过数据开关输入指定存储单元的地址,再进行存储器读操作,在总线上观看读出的数据是不是与输入的数据一致
●LDAR低,SW-B高,CE低,WE低
●观看数据总线灯
实验三、中断实验
一.实验要求
编写中断程序,在请求8259A中断1时,能够响应8259A的硬件中断,并在数码管上显示“Irq0…”字样,中断终止时,显示“E…IRQ”。
二.实验目的
1.了解8259A中断操纵器的工作原理。
2.了解PC机中断的原理和进程。
3.学会中断处置程序的编写。
三.实验电路及连线
模块中的+PLUSE接⑨模块中的INT_0,⑨模块中的INT接实验机内核模块中的88INTR,⑨模块中的INTA接实验机内核模块中的88/INTA。
CS8259接200H,CS8279已固定接至238H。
四.实验说明
1、运行该实验程序的方式是:
先通过加载选项将8259A的初始化程序与中断处置程序送到RAM中。
2、本实验指导书只提供硬件中断0实验,中断方式为边沿触发、单片、全嵌套中断方式,且中断号从中断8开始。
利用者能够依照自己的需要设定为其他中断方式,且中断号能够设定从任一中断号开始。
3、实验方式:
以硬中断0为例,先加载8259A主中断程序(假定地址为8100:
0),然后再加载中断程序IRQ0程序(假定地址为8200:
0)。
然后进入TALKWITH88ET选项下,键入SW0:
0020<
回车>
0000,8200<
,再执行G8100:
0<
Y即可。
如此设计的目的是为了让学生们更能明白得中断的执行原理与进程。
五.实验程序框图
六、程序清单
;
ORG8100:
INT00EQU200h
INT01EQU201h
Z8279EQU239H
D8279EQU238H
LEDMODEEQU00H
SCANFRQEQU38H
datasegment
dataends
stacksegment
stadw50dup(?
)
topequlengthsta
stackends
CODESEGMENT
ASSUMECS:
CODE,DS:
data,SS:
stack
START:
CLI;
关中断
MOVAL,13H;
ICW1:
边沿触发,单片,要ICW4
MOVDX,INT00
OUTDX,AL
NOP
MOVAL,8;
中断号从8开始
MOVDX,INT01
MOVAL,3;
全嵌套方式,86/88系统9
MOVAL,00H;
八个中断全数开放
MOVAL,20H;
非特殊EOI终止中断
MOVDX,Z8279;
8279左侧输入,八位显示,外部译码
MOVAL,LEDMODE
MOVAL,SCANFRQ;
设置扫描频率
MOVAL,0D0H
MOVCX,0FFH
L2:
LOOPL2
MOVAL,90H;
写显示缓冲区RAM命令字
MOVDX,D8279
MOVAL,67H;
显示中断前字样"
IRQ"
MOVAL,50H
MOVAL,0FH
STI;
开中断
x2:
hlt;
等待硬件中断
movcx,5
x1:
pushcx
movcx,0
loop$
popcx
loopx1
movdx,z8279
movax,0d0h
outdx,al
movcx,0ffh
l5:
loopl5
moval,90h
movdx,d8279
moval,67h;
中断返回,显示"
E...IRQ0"
字样
moval,50h
moval,0fh
moval,80h
moval,79h
jmpshortx2
codeends
endstart
ORG8200:
STI
MOVDX,Z8279
l1:
loopl1
MOVAL,90H
MOVAL,3FH
MOVAL,67H
IRET
CODEENDS
ENDSTART
实验四、运算器组成的实验
一、实验目的
一、把握算术逻辑运算加、减、乘、与的工作原理。
二、熟悉简单运算的数据传送通路。
3、验证明验台运算的8位加、减、与、直通功能。
4、验证明验台的4位乘4位功能。
五、按给定数据,完成几种指定的算术和逻辑运算。
二、实验电路
图6示出了本实验所用的运算器数据通路图。
ALU由1片ispLSI1024组成。
四片4位的二选一输入寄放器74HC298组成两个操作数寄放器DR1和DR2,保留参与运算的数据。
DR1接ALU的B数据输入端口,DR2接ALU的A数据输入端口,ALU的输出在ispLSI1024内通过三态门发送到数据总线DBUS7-DBUS0上,进位信号C保留在ispLSI1024内的一个D寄放器中。
当实验台下部的IR/DBUS开关拔到DBUS位置时,8个红色发光二极管指示灯接在数据总线DBUS上,可显示运算结果或输入数据。
还有一个指示灯C显示运算进位信号状态。
由ispLSI1024组成的8位运算器的运算类型由选择端S2,S1,S0选择,功能如表3所示。
表3运算器运算类型选择表
选择
操作
S2
S1
S0
A&
.B
1
.A(直通)
A+B
A-B
A(低4位)×
B(低4位)
进位C只在加法运算和减法运算时产生,与、乘、直通操作不阻碍进位C的状态,即进位C维持不变。
减法运算采纳加减数的反码再加以1实现。
在加法运算中,C代表进位;
在减法运算中,C代表借位。
运算产生的进位在T4的上升沿送入ispLSI1024内的C寄放器保留。
在SW-BUS#信号为0时,参与运算的数据通过一个三态门的74HC244(SW-BUS)送到DBUS总线上,进而送至DR1或DR2操作数寄放器。
输入数据可由实验台上的8个二进制数据开关SW0-SW7来设置,其中SW0是最低位SW7是最高位。
开关向上时为1,开关向下时为0。
图中尾巴上带粗短线标记的信号都是操纵信号,操纵信号均为电位信号。
T3,T4是脉冲信号,印制板上已连接到实验台的时序电路产生的T3,T4信号上。
S2,S1,S0,ALU-BUS,LDDR2,LDDR1,M1,M2,SW-BUS#各电位操纵信号用电平开关K0-K15来模拟。
K0-K15是一组用于模拟各操纵电平信号的开关,开关向上时为1,开关向下时为0,每一个开关无固定用途,可依如实验具体情形选用。
S2,S1,S0,ALU-BUS,LDDR2,LDDR1为高电平有效,SW-BUS#为低电平有效。
M1=1时,DR1选择D1-A1作为数据输入端;
M1=0时,DR1选择D0-A0作为数据输入端。
当LDDR1=0时,在T3的下降沿,选中的数据被打入DR1寄放器。
M2=1时,DR2选择D1-A1作为数据输入端;
M2=0时,DR2选择D0-A0作为数据输入端。
当LDDR2=0时,在T3的下降沿,选中的数据被打入DR2寄放器。
数据总线DBUS有5个数据来源:
运算器ALU,寄放器堆RF,操纵台开关SW0-SW7,双端口存储器IDT7132和中断地址寄放器IAR。
在任何时刻,都不许诺2个或2个以上的数据源同时向数据总线DBUS输送数据,只许诺1个(或没有)数据源向数据总线DBUS输送数据。
在本实验中,为了保证数据的正确设置和观看,请令RS-BUS#=1,LRW=0,IAR-BUS#=1。
为了在实验中,每次只产生一组T1,T2,T3,T4脉冲,需将实验台上的DP、DB、DZ开关进行正确设置。
将DP开关置1,将DB,DZ开关置0,每按一次QD按钮,那么顺序产生T1,T2,T3,T4各一个单脉冲。
本实验中采纳单脉冲输出。
三、实验设备
一、TEC-2运算机组成原理实验系统1台
二、双踪示波器一台
3、直流万用表一只
4、逻辑测试笔一支
四、实验任务
(1)按图6所示,正确连接运算器模块与实验台上的电平开关K0-K15。
由于运算C指示灯,8位数据开关SWO-SW7,T2,T4的连线已由印制电路板连好,故接线任务仅仅是完成有关操纵信号与电平开关K0-K15的连线。
正确设置开关DZ,DB,DP。
用数据开关SWO-SW7向DR1和DR2寄放器置数。
1)置ALU-BUS=0,关闭ALU向数据总线DBUS的输出,置SW-BUS#=0,开启数据开关SWO-SW7向数据总线DBUS的输出。
注意,关于数据总线DBUS(或其他任何总线),在任一时刻,只能有一个数据向它输出。
置IR/DBUS开关于DBUS位置,在数据开关SWO-SW7上设置各类数据,观看数据指示灯状态是不是与数据开关状态一致。
2)置M1=1,选择DBUS作为DR1的数据源,置LDDR1=1,按QD按钮,那么将DBUS的数据打入DR1。
置M2=1。
选择DBUS作为DR2的数据源,置LDDR2=1,按QD按钮,那么将DBUS的数据打入DR2。
向DR1存入01010101,向DR2存入。
3)置SW-BUS#=1,关团数据长关SWO-SW7对数据总线的DBUS的输出;
置ALU-BUS=1,开启ALU对DBUS的输出。
选择S2=0,S1=0,S0=1,使运算器进行直通运算,通过DBUS指示灯验证DR2中的内容是不是为第2步设置的值。
令S2=0,S1=1,S0=0,使运算器进行加运算,通过DBUS指示灯验证DR1中的内容是不是为第2步设置的值。
在表4中填入操纵信号状态与DBUS显示状态。
表4DR1,DR2设置值检查
ALU-BUS
SW-BUS#
寄存器内容
S2S1S0
DBUS
DR1(01010101),DR2(10)
DR1(01010101),DR2()
(2)验证运算器的算术运算和逻辑运算功能。
1)令DR1=01100011B,DR2=B,正确选择S2,S1,S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。
2)令DR1=B,DR2=01100011B,正确选择S2,S1,S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。
3)令DR1=01100011B,DR2=01100011B,正确选择S2,S1,S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。
4)令DR1=01001100,DR2=,正确选择S2,S1,S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。
5)令DR1=,DR2=,正确选择S2,S1,S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。
(3)M1,M2操纵信号的作用是什么?
改变M1,M2的高低电平,重复第
(2)步,观看显现什么问题?
实验五、微程序操纵器设计实验
一、实验目的
(1)把握时序产生器的组成原理。
(2)把握微程序操纵器的组成原理。
(3)加深明白得微指令与机械指令的关系。
二、实验电路
1.时序发生器
TEC-2运算机组成原理实验系统的时序电路如图6所示。
图6时序信号发生器图
电路采纳2片GAL22V10(U6,U7),可产生两级等距离时序信号T1-T4和W1-W4,其中一个W由一轮T1-T4循环组成,它相当于一个微指令周期或硬联线操纵器的一拍,而一轮W1-W4循环可供硬联线操纵器执行一条机械指令。
本实验不涉及硬联线操纵器。
微程序操纵器只利历时序信号T1-T4,产生T信号的功能集成在GAL22VlO芯片TIMER1(U6)中,另外它还产生节拍信号W一、W二、W3、W4的操纵时钟CLK1。
TIMER1的输入信号中,MF接实验台上晶体振荡器的输出,频率为1MHz。
T1至T4的脉冲宽度为100ns。
CLR(注意,事实上是操纵台上的CLR#信号,因为ABEL语言的书写关系改成CLR,仍为低有效信号)为复位信号,低有效。
实验仪处于任何状态下令CLR#=0,都会使时序发生器和微程序操纵器复位(回到初始状态),CLR#=l时,那么能够正常运行。
复位后时序发生器停在T4、W4状态,微程序地址为000000B。
建议每次实验仪加电后,先用CLR#复位一次。
操纵台上有一个CLR#按钮,按一次,产生一个CLR#负脉冲,实验台印制板上已连好操纵台CLR#到时序电路CLR的连线。
TJ(停机)是操纵器的输出信号之一。
持续运行时,若是操纵信号TJ=l,会使机械停机,停止发送时序脉冲T1-T4、W1-W4,时序停在T4。
在实验台上为了将时序信号发生器的输入信号TJ和操纵存储器产生的TJ信号区分开来,以便于连线操作,在实验台上时序信号发生器的输入信号TJ命名为TJI,而操纵存储器产生的信号TJ仍命名为TJ。
QD(启动)是来自启动按钮QD的脉冲信号,在TIMER1中,对QD用MF进行了同步,产生QD1和QD2。
ACT表示QD1上升沿,表达式是QDl&
!
QD2,脉冲宽度为1000ns。
QDR是运行标志,QD信号使其为l,CLR信号将其置0。
DP(单拍)是来自操纵台的DP开关信号,当DP=l时,机械处于单拍运行状态,按一次启动按钮QD,只发送一条微指令周期的时序信号就停机。
利用单拍方式,每次只执行一条微指令,因此能够观看微指令代码和当前微指令的执行结果。
DZ(单指)信号是针对微程序操纵器的,接操纵台开关DZ和P1信号配合利用。
Pl是微指令字判定字段中的一个条件信号,从微程序操纵器输出。
Pl信号在微程序中每条机械指令执行终止时为l,用于检测有无中断请求INTQ,而时序发生器用它来实现单条机械指令停机。
在DB=0且DP=0的前提下,当DZ=0时,机械持续运行。
当DZ=1时,机械处于单指方式,每次只执行一条机械指令。
DB、SKIP、CLK1信号和W1-W4时序信号都是针对硬布线操纵器的。
W1-W4是节拍信号,硬布线操纵器执行一条机械指令需要一组W1-W4信号。
DB(单步)信号确实是每次发送一组W信号后停机,可见其功能与DZ类似。
执行某些机械指令不需要完整的一组W信号周期,SKIP信号确实是用来跳过本指令剩余的W节拍信号的。
中断许诺标志IE由操纵存储器的输出信号INTS将其置1,由操纵存储器的输出信号INTC将其置0。
在TIMER2内部,操纵台产生的中断请求历时钟CLK1进行同步,产生了INTR1。
只有在INTE=l时,操纵台产生的中断请求脉冲INTR才能起作用,即产生向操纵器输出中断信号INTQ,INTQ=INTE&
INTR1。
2.数据通路
微程序操纵器是依照数据通路和指令系统来设计的。
那个地址采纳的数据通路是在综合前面各实验模块的基础上,又增加程序计数器PC(U18)、地址加法器ALU2(U17)、地址缓冲寄放器R4(U2五、U26)和中断地址寄放器IAR(U19)。
PC和ALU2各采纳一片GAL22V10,二者配合利用,可完成程序地址的存储、增1和加偏移量的功能。
R4由两片74HC298组成,带二选一输入端。
IAR是一片74HC374,用于中断时保留断点地址。
3.微指令格式与微程序操纵器电路
依照给定的12条机械指令功能和数据通路整体图的操纵信号,采纳的微指令格式见图7。
微指令字长共35位。
其中顺序操纵部份10位(后继微地址6位,判别字段4位),操作操纵字段25位,列位进行直接操纵。
微指令格式中,信号名带有后缀“#”的信号为低有效信号,不带有后缀“#”的信号为高有效信号。
图7微指令格式
对应微指令格式,微程序操纵器的组成如图8所是示:
图8微程序操纵器的组成
操纵存储器采纳5片EEPROM28C64(U8,U9,U10,U11,U12)。
28C64的输出是D0-D7,别离与引脚1一、1二、13、1五、1六、17、1八、19相对应,CM0是最低字节,CM4是最高字节。
微地址寄放器6位,用一片6D触发器74HC174(U1)组成,带有清零端。
两级与门、或门组成微地址转移逻辑,用于产生下一微指令的地址。
在每一个T1上升沿时刻,新的微指令地址会打入微地址寄放器中,操纵存储器随即输出相应的微命令代码。
微地址转移逻辑生成下一地址,等下一个T1上升沿时打入微地址寄放器。
跳转开关JUMP(J1)是一组6个跳线开关。
当用短路子将它们连通时,微地址寄放器μAR从本实验系统提供的微程序地址译码电路取得新的微程序地址μD0-μD5。
当他们被断开时,用户提供自已的新微程序地址μD0-μD5。
如此用户能够利用自己设计的微程序地址译码电路。
5片EEPROM的地址A6(引脚4)直接与操纵台开关SWC连接,当SWC=1时,微地址大于或等于40H,当SWC=0时,微地址的范围00H-3FH。
SWC要紧用于实现读寄放器堆的功能。
微地址转移逻辑的多个输入信号中,INTQ是中断请求,本实验中能够不睬会它。
SWA、SWB是操纵台的两个二进制开关信号,实验台上线已接好。
C是进位信号,IR7-IR4是机械指令代码,由于本次实验不连接数据通路,这些信号都接到二进制开关K0—Kl5上。
三
、机械指令与微程序
为了在教学中简单明了,本实验仪利用12条机械指令,均为单字长(8位)指令。
表5指令功能与格式
名
称
助记符
功
能
指
令
格
式
IR7
IR6
IR5IR4
IR3
IR2
IR1
IR0
加法
ADDRd,Rs
Rd+Rs->
Rd
0
0
RS1
RS0
RD1
RD0
减法
SUBRd,Rs
Rd-Rs->
1
RS1
RS0
乘法
MULRd,Rs
Rd*Rs->
逻辑与
ANDRd,Rs
Rd&
Rs->
1
存数
STARd,[Rs]
Rd->
[Rs]
取数
LDARd,[Rs]
[Rs]->
无条件转移
JMP[Rs]
PC
XX
条件转移
JCD
若C=1则
PC+D->
D3
D2
D1
D0
停机
STP
暂停运行
X
X
中断返回
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 总线 传输 实验