微机原理实验指导书非电专业.docx
- 文档编号:27206067
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:32
- 大小:264.67KB
微机原理实验指导书非电专业.docx
《微机原理实验指导书非电专业.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书非电专业.docx(32页珍藏版)》请在冰豆网上搜索。
微机原理实验指导书非电专业
信息工程学院实验指导书系列
前言
本实验指导书针对非计算机专业的《微机原理与应用》设置了2个实验,分别是8259中断实验和8255并口实验,通过这些实验,使学生对32位微机的基本接口芯片和简单应用等有一定的认识。
掌握相关的接口电路原理及应用编程方法。
在本书的编写过程中,得到了西安唐都科教仪器公司的大力支持,并提供了详细的资料。
在此编者深表感谢!
由于作者水平有限,书中难免存在不足之处,敬请读者批评指正。
编者
2010年10月
目录
前言I
目录II
实验准备系统认识1
实验一8259中断控制器应用实验7
一、实验目的7
二、实验内容7
三、实验所用仪表及设备7
四、实验原理与步骤7
五、思考题17
六、实验报告内容及要求18
实验二8255并口控制器应用实验19
一、实验目的19
二、实验内容19
三、实验所用仪表及设备19
四、实验原理与步骤19
五、思考题26
六、实验报告内容及要求26
实验准备系统认识
本实验室用于微机原理与接口技术的实验的每套实验系统包括两种基本的设备,即:
PC机和TD-PIT++实验系统(或TD-PIT+实验系统)。
另外,PC机上应该安装了相应的软件,每个实验台上分别有一台PC机和一套TD-PIT++实验系统(或TD-PIT+实验系统)。
TD-PIT++实验系统是或TD-PIT+实验系统的升级版,实验硬件环境和软件环境均没有太大的功能性差异,在硬件模块部分,TD-PIT++实验系统增加了一个“时钟源”功能模块,可以提供三种不同频率的时钟信号。
在本实验教程以TD-PIT++实验系统为范本进行讲解。
在进行接口技术的实验时,需要TD-PIT++实验平台与PC机之间正常连接且保证通讯良好。
下面先对实验中涉及的软、硬件环境进行简单介绍。
1.TD-PIT++实验平台
TD-PIT++实验平台是微机接口实验的主要操作平台。
其电路结构主要分两个部分,即:
系统总线单元电路和实验单元电路。
如图1-1所示:
图1-1TD-PIT++实验台平面图
(1)系统总线单元电路
系统总线单元实现了80x86微机系统主要的系统总线信号,符合80x86总线时序标准。
满足该标准的接口电路均可以直接连接到该总线上。
系统总线单元的信号如表1-1所示。
实验系统向PC机申请了接口实验所需的配置资源。
其中包括16MB的存储地址空间、256字节的I/O地址空间和一个中断请求线。
中断请求线映射到PC机内15个中断请求线中的一个。
系统总线单元将地址空间进行译码,为I/O和存储器分别提供4个片选信号,片选信号与偏移地址空间的对应关系如表1-2所示。
表1-1系统总线单元信号
信号名称
含义
XD[31:
0]
32位数据总线
XA[23:
2]
22位地址总线
XMER、XMEW、XIOR、XIOW
存储器读写信号、I/O读写信号
IOY0、IOY1、IOY2、IOY3
I/O空间片选信号
MY0、MY1、MY2、MY3
存储器空间片选信号
BE0、BE1、BE2、BE3
32位数据字节使能信号
HOLD、HOLDA
总线保持请求和总线保持响应信号
M/IO
存储器/输入输出有效
INTR
中断请求信号(上升沿有效)
CLK
系统时钟(1.041667MHz)
PCLK
扩展时钟(1.8432MHz)
RST、RST#
系统复位信号
表1-2片选信信号与偏移地址的对应关系
片选信号
偏移地址范围
片选信号
偏移地址范围
IOY0
00H—3FH
MY0
000000H—3FFFFFH
IOY1
40H—7FH
MY1
400000H—7FFFFFH
IOY2
80H—0BFH
MY2
800000H—0BFFFFFH
IOY3
0C0H—0FFH
MY3
0C00000H—0FFFFFFH
用PC机分配的I/O或存储空间的起始地址加上片选信号所对应的偏移地址就是本实验系统中各端口所占用的实际地址。
PC机分配的起始地址的获取在软件介绍中详细说明。
(2)实验平台单元电路
实验平台单元电路包括很多实验单元,例如地址译码单元、基本输入/输出单元、开关及LED显示单元、键盘及数码管显示单元、16550单元、8259单元、8237单元、8255单元、8254单元、A/D转换单元等。
其中,地址译码单元提供一片开放的74LS138译码器用于地址译码;基本输入/输出单元包括2组8位的数据输入/输出端口,用于基本I/O端口设计及编程。
每组有一个端口地址,供输入/输出使用。
2.Tdpit集成操作软件说明
(1)软件界面介绍
Tdpit集成操作软件是在Windows2000/XP系列操作系统下进行汇编和C语言接口实验的集成编辑调试环境。
它允许用户在该环境下编辑、编译、运行及源语言级调试汇编和C语言程序。
并且提供了详细的软件操作及实验操作帮助系统,用户可以在实验过程中随时查看实验操作步骤、方法等帮助说明。
软件运行后的主界面如图1-2所示。
主要分为两部分:
程序编辑区和信息栏。
图1-2Tdpit集成操作软件运行界面
①程序编辑区
位于界面上部区域,用户可在程序编辑区用“新建”命令打开一个新文档或用“打开”命令打开一个已存在的文档,在文档中用户可编辑程序。
用户可在程序编辑区打开多个文档,点击文档标签可激活任一文档。
编译、链接、加载以及调试命令只针对当前活动文档。
用户调试程序时,将切换到调试界面中,调试界面如图1-3所示。
图1-3调试界面窗口
②信息栏
位于界面下部,主要显示编译和链接的结果,如果编译时有错误或警告,双击错误或警告信息,错误标识符会指示到相应的有错误或警告的行。
(2)程序编译使用说明
①端口资源的获取
在软件菜单项中有一个“查看”菜单项,点击该项出现的下拉子菜单中有一个菜单项为“端口资源”,单击该菜单项后,可以查看到实验系统被分配的端口资源,在系统总线上共有4个I/O片选IOY0~IOY3,每个I/O空间所对应的地址范围在弹出的窗口中给出。
如图1-4所示。
图1-4查看菜单项中的查看端口资源
②编译语言的选择
在软件菜单项中有一个“语言设置”菜单项,点击该项出现的下拉子菜单中可以选择编译程序所使用的语言编译环境,本实验系统支持用汇编语言和C语言的编译连接和调试。
图1-5语言设置菜单项
③程序的编译与执行
在软件菜单项中有一个“编译”菜单项,该菜单项中提供了对程序编译、链接、执行的相应命令。
图1-6编译菜单项
编译(C):
编译当前活动文档中的源程序,在源文件目录下生成目标文件。
如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。
编译时自动保存源文件中所做的修改。
链接(L):
链接编译生成的目标文件,在源文件目录下生成可执行文件。
如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。
运行(R):
执行当前连接成功的可执行程序。
当前激活的程序编译连接成功或者该程序已经编译过,可执行程序已经存在,这时就可运行该程序。
如果该程序没有连接成功,或者没有被连接过,可执行程序不存在,则不可以执行“运行”。
所有实验例程均设计为按任意键退出运行状态。
调试(D):
打开调试环境进行当前程序的调试。
每次打开或者新建一个新的程序,都必须先进行编译连接,然后才可以执行该操作,进入调试环境。
调试完毕后按“Alt+X”键退出调试环境。
调试环境的操作详见调试环境的帮助。
显示模式:
可以将程序调试或者运行环境调整到全屏或者窗口模式。
也可以利用工具栏上的快捷按钮实现对程序的操作。
图1-7编译工具栏
编译按钮:
编译当前活动文档中的源程序,在源文件目录下生成目标文件。
链接按钮:
链接编译生成的目标文件,在源文件目录下生成可执行文件。
运行按钮:
执行当前连接成功的可执行程序。
调试按钮:
打开调试环境进行当前程序的调试。
进入DOS环境按钮:
此按钮提供一个进入DOS环境的快捷工具,若想进入DOS环境进行命令行操作,可以按此按钮。
查看端口资源按钮:
此按钮功能可用来查看实验系统被分配的端口资源。
扩展存储区显示按钮:
此按钮可以查看并修改当前PIT++上的SRAM单元中的存储器内容。
3.微机实验操作注意事项
(1)实验用PCI总线扩展卡插入PC机后,应尽量避免插拔,以免损坏PC机的PCI插槽。
(2)实验前应确保PCI总线扩展卡与实验平台间扁平电缆连接的正确性。
(3)做接口实验时,程序运行时不可关闭实验平台电源,否则可能会死机。
(4)实验平台电源关闭后,不能立即重新开启。
关闭与重新开启之间至少应有30秒间隔。
(5)实验前后应仔细检查实验平台,防止导线、元件等杂物落入装置内。
实验一8259中断控制器应用实验
一、实验目的
1.学习可编程中断控制器8259的工作原理。
2.掌握可编程中断控制器8259的应用编程方法。
二、实验内容
1.单中断实验。
利用系统总线上中断请求信号INTR,设计一个单中断应用。
使用单次脉冲模拟中断产生。
编写中断处理程序,在显示器屏幕上显示一个字符。
2.扩展中断源查询方式应用实验。
利用实验平台上8259控制器对系统总线上的中断线INTR进行扩展。
编写程序对8259控制器的IR0和IRI中断请求进行处理。
三、实验所用仪表及设备
1.PC机一台。
2.TD-PIT++实验系统一套。
四、实验原理与步骤
1.实验原理
(1)PC微机系统中的8259介绍
中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需增加其他电路的情况下,通过多片8259的级连,能构成多达64级的矢量中断系统。
它的管理功能包括:
1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。
8259A的命令字共有7个,可分为两类。
一类是初始化命令字,另一类是操作命令字。
8259的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。
ICW1-ICW4各命令字格式如表2-1所示,OCW1-OCW3各命令字格式如表2-2所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和结束方式的操作命令字,OCW3用于设置和撤消特殊屏蔽方式,设置中断查询方式以及设置对8259A内部寄存器的读出命令。
表2-1初始化命令字
D7
D6
D5
D4
D3
D2
D1
D0
ICW1
X
X
X
1
1:
电平触发
0:
边沿
触发
X
1:
单片
8259
0:
多片
8259
1:
需要ICW4
0:
不需要
ICW4
ICW2
中断向量的高5位
X
X
X
ICW3(主)
分别对应8个IRQ,Di=1,IRQi上有级连芯片,=0,无级连芯片
ICW3(从)
0
0
0
0
0
指明从片连接在主片的哪个IRQ上
ICW4
0
0
0
1:
特殊全嵌套
0:
非特
殊全嵌
套
1:
缓冲
0:
非缓冲
1:
主片
0:
从
片
1:
自动EOI
0:
非自
动EOI
1:
8086系统
0:
8080系统
表2-2操作命令字
D7
D6
D5
D4
D3
D2
D1
D0
OCW1
Di=0:
开放IRi中断请求
Di=1:
禁止IRi中断请求
OCW2
优先级
循环控
制位
L2~L0
有效控
制位
中断结
束命令
位
0
0
中断级编码
OCW3
X
0X:
无意义
10:
撤销特殊屏蔽
11:
设置特殊屏蔽
0
1
中断查
询控制
位
0X:
无意义
10:
读IRR寄存器
11:
读ISR寄存器
(2)PC微机系统中的8259A
在80x86系列PC微机系统中,系统中包含了两片8259中断控制器,通过级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表2-3所示。
两片8259的端口地址为:
主片8259使用020H和021H两个端口;从片使用0A0H和0AlH两个端口。
系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为:
0级最高,依次为1级、8级~15级,然后是3级~7级。
在实验平台上系统总线单元的INTR信号对应的中断线就是PC机保留中断其中的一个。
对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。
表2-3PC微机系统中的硬件中断
中断号
功能
中断向量号
中断向量地址
主8259IRQ0
时钟/计数器0
08H
0020H~0023H
主8259IRQ1
键盘
09H
0024H~0027H
主8259IRQ2
接从片8259
0AH
0028H~002BH
主8259IRQ3
串行口2
0BH
002CH~002FH
主8259IRQ4
串行口1
0CH
0030H~0033H
主8259IRQ5
并行口2
0DH
0034H~0037H
主8259IRQ6
软盘
0EH
0038H~003BH
主8259IRQ7
并行口1
0FH
003CH~003FH
从8259IRQ8
实时钟
70H
01C0H~01C3H
从8259IRQ9
保留
71H
01C4H~01C7H
从8259IRQ10
保留
72H
01C8H~01CBH
从8259IRQ11
保留
73H
01CCH~01CFH
从8259IRQ12
保留
74H
01D0H~01D3H
从8259IRQ13
协处理器中断
75H
01D4H~01D7H
从8259IRQ14
硬盘控制器
76H
01D8H~01DBH
从8259IRQ15
保留
77H
01DCH~01DFH
2.实验步骤
(1)单中断应用实验
实验说明:
实验平台上系统总线单元的INTR中断请求信号已经是对应到PC机内部的某一级中断。
INTR产生一个上升沿的中断请求,PC机内部相应的那级中断就会得到响应。
所以,使用INTR中断请求信号,就相当在使用PC机内部相应的那一级中断。
本实验要求使用总线上INTR中断请求线完成一次单中断应用实验。
用单次脉冲上升沿模拟中断源,中断处理程序完成在屏幕上的显示字符“9”。
图2-18259单中断实验参考接线图
实验步骤如下:
①实验接线图如图2-1所示,按图接线。
②运行Tdpit集成操作软件,调用程序代码(T8259-1.ASM),填写程序代码中的空缺处,编译、链接。
(程序源码路径:
C:
\TangDu\PitPP\ASM\)
③使用运行命令运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“9”,说明响应了中断。
实验代码如下:
INTR_IVADDEQU01C8H;INTR对应的中断矢量地址
INTR_OCW1EQU0A1H;INTR对应PC机内部8259的OCW1地址
INTR_OCW2EQU0A0H;INTR对应PC机内部8259的OCW2地址
INTR_IMEQU0FBH;INTR对应的中断屏蔽字
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
MESDB'Pressanykeytoexit!
',0AH,0DH,0AH,0DH,'$'
CS_BAKDW?
;保存INTR原中断处理程序入口段地址的变量
IP_BAKDW?
;保存INTR原中断处理程序入口偏移地址的变量
IM_BAKDB?
;保存INTR原中断屏蔽字的变量
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;显示退出提示
MOVAH,09H
INT21H
CLI
MOVAX,0000H;替换INTR的中断矢量
MOVES,AX
MOVDI,INTR_IVADD
MOVAX,ES:
[DI]
MOVIP_BAK,AX;保存INTR原中断处理程序入口偏移地址
MOVAX,OFFSETMYISR
MOVES:
[DI],AX;设置当前中断处理程序入口偏移地址
ADDDI,2
MOVAX,ES:
[DI]
MOVCS_BAK,AX;保存INTR原中断处理程序入口段地址
MOVAX,SEGMYISR
MOVES:
[DI],AX;设置当前中断处理程序入口段地址
MOVDX,INTR_OCW1;设置中断屏蔽寄存器,打开INTR屏蔽位
INAL,DX
MOVIM_BAK,AL;保存INTR原中断屏蔽字
ANDAL,INTR_IM
OUTDX,AL
STI
WAIT1:
MOVAH,1;判断是否有按键按下
INT16H
JZWAIT1;无按键则跳回继续等待,有则退出
QUIT:
CLI
MOVAX,0000H;恢复INTR原中断矢量
MOVES,AX
MOVDI,INTR_IVADD
MOVAX,IP_BAK;恢复INTR原中断处理程序入口偏移地址
MOVES:
[DI],AX
ADDDI,2
MOVAX,CS_BAK;恢复INTR原中断处理程序入口段地址
MOVES:
[DI],AX
MOVDX,INTR_OCW1;恢复INTR原中断屏蔽寄存器的屏蔽字
MOVAL,IM_BAK
OUTDX,AL
STI
MOVAX,4C00H;返回到DOS
INT21H
MYISRPROCNEAR;中断处理程序MYISR
PUSHAX
_______________;使用DOS功能调用输出字符9
_______________;选择DOS功能调用号
INT21H
MOVDL,20H
INT21H
OVER:
MOVDX,INTR_OCW2;向PC机内部8259发送中断结束命令
MOVAL,20H
OUTDX,AL
MOVAL,20H
OUT20H,AL
POPAX
IRET
MYISRENDP
CODEENDS
ENDSTART
(代码结束)
(2)扩展中断应用实验
实验说明:
利用实验单元中的8259控制器,可以对总线上的INTR进行中断源的扩充。
将8259的INT连接到INTR,8259的8路中断请求线IR0~IR7就成了单一INTR中断请求线的扩充。
这8路中断源共用INTR的中断矢量,共用INTR的中断服务程序。
在INTR的中断服务程序中通过对8259的OCW3的查询,以确定是IR0~IR7中哪个产生中断,然后转到相应的服务线程进行处理。
本实验要求实现8259控制器IR0、IR1两路中断都可以通过INTR向PC发起中断请求。
用KK1+和KK2+模拟两个中断源,在IR0对应的服务程序中显示字符“0”,在IR1对应的服务程序中显示字符“1”。
图2-38259扩充中断源实验参考接线图
实验步骤如下:
①实验接线图如图2-3所示,按图接线。
②运行Tdpit集成操作软件,调用程序代码(T8259-2.ASM),填写程序代码中的空缺处,编译、链接。
(程序源码路径:
C:
\TangDu\PitPP\ASM\)
③使用运行命令运行程序,按动KK1+、KK2+按键,观察中断是否产生。
实验代码如下:
INTR_IVADDEQU01C8H;INTR对应的中断矢量地址
INTR_OCW1EQU0A1H;INTR对应PC机内部8259的OCW1地址
INTR_OCW2EQU0A0H;INTR对应PC机内部8259的OCW2地址
INTR_IMEQU0FBH;INTR对应的中断屏蔽字
IOY0EQU3000H;片选IOY0对应的端口始地址
MY8259_ICW1EQUIOY0+00H;实验系统中8259的ICW1端口地址
MY8259_ICW2EQUIOY0+04H;实验系统中8259的ICW2端口地址
MY8259_ICW3EQUIOY0+04H;实验系统中8259的ICW3端口地址
MY8259_ICW4EQUIOY0+04H;实验系统中8259的ICW4端口地址
MY8259_OCW1EQUIOY0+04H;实验系统中8259的OCW1端口地址
MY8259_OCW2EQUIOY0+00H;实验系统中8259的OCW2端口地址
MY8259_OCW3EQUIOY0+00H;实验系统中8259的OCW3端口地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
MESDB'Pressanykeytoexit!
',0AH,0DH,0AH,0DH,'$'
CS_BAKDW?
;保存INTR原中断处理程序入口段地址的变量
IP_BAKDW?
;保存INTR原中断处理程序入口偏移地址的变量
IM_BAKDB?
;保存INTR原中断屏蔽字的变量
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;显示退出提示
MOVAH,09H
INT21H
CLI
MOVAX,0000H;替换INTR的中断矢量
MOVES,AX
MOVDI,INTR_IVADD
MOVAX,ES:
[DI]
MOVIP_BAK,AX;保存INTR原中断处理程序入口偏移地址
MOVAX,OFFSETMYISR
MOVES:
[DI],AX;设置当前中断处理程序入口偏移地址
ADDDI,2
MOVAX,ES:
[DI]
MOVCS_BAK,AX;保存INTR原中断处理程序入口段地址
MOVAX,SEGMYISR
MOVES:
[DI],AX;设置当前中断处理程序入口段地址
MOVDX,INTR_OCW1;设置中断屏蔽寄存器,打开INTR屏蔽位
INAL,DX
M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 指导书 专业