微机原理实验5DOCWord文档格式.docx
《微机原理实验5DOCWord文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理实验5DOCWord文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
有ICW4
无ICW4
13H
20H
ICW2
中断向量地址T7~T3位
08H
21H
ICW3(主)
IRQi线上有级联从片
无级联从片
—
ICW3(从)
不用
与主片对应的从片识别码,从000~111
ICW4
特殊嵌套
一般嵌套
缓冲
非缓冲
主片
从片
自动EOI
正常EOI
0DH
操作命令字OCW1~OCW3可根据需要随时进行设置,其命令字格式如下:
OCW1
置中断屏蔽位,0:
清除中断屏蔽位
OCW2
R
SL
EOI
L2
L1
L0
OCW3
00和01:
无意义
10:
撤销特殊屏蔽
11:
设定特殊屏蔽
P:
查询命令
读IRR
读ISR
其中对于OCW2命令字具体意义如下:
1L2~L0:
对应IRi的编码,取值从000~111
2R、SI、EOI组合编码
001
常规EOI命令
中断结束
011
特殊EOI命令
101
在常规EOI时循环
自动循环
100
在自动EOI时循环(置位)
000
在自动EOI时循环(复位)
111
在特殊EOI时循环
特殊循环
110
置优先权命令
010
无操作
2、系统中的8259A芯片
系统中的8259A芯片工作于单片方式,但可由用户扩展接成级联方式,线路如下所示。
图中的圈点表示此为排针形式引出脚。
系统启动时,8259A被初始化,其初始化是通过系统中的初始化程序设置初始化命令字ICW来实现的。
系统初始化时,规定0#和4#中断源分别提供给实时时钟和与PC微机联机的串口通信使用,用户可以使用其余中断源。
在进入监控后,只有4#中断源处于开启状态,其他中断源都被屏蔽了。
中断矢量地址和中断号之间的关系如下表:
中断序号
2
3
4
5
6
7
功能调用
09H
0AH
0BH
0CH
0EH
0FH
矢量地址
-
23H
24H
27H
28H
2BH
2CH
2FH
30H
33H
34H
37H
38H
3BH
3CH
3FH
说明
时钟
可用
串口2
串口1
3、接口实验单元中的R-S触发器电路
图R-S触发器图实验
(1)线路
实验内容:
一、8259应用实验
(1)
按上右图所示实验线路编写程序,使每次响应外部中断IRQ7时,显示字符“7”,中断10次后,程序退出。
主程序
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK
START:
PUSHDS
MOVAX,0000H
MOVDS,AX;
数据段段寄存器清零
MOVAX,OFFSETIRQ7;
取中断服务程序入口地址(相对地址)
ADDAX,2000H;
加装载时IP地址(绝对地址)
MOVSI,003CH;
填8259中断7中断矢量
MOV[SI],AX;
填偏移地址
MOVAX,0000H
MOVSI,003EH
填段地址
CLI;
关中断
POPDS
INAL,21H;
读8259中断屏蔽字
ANDAL,7FH;
开8259中断7
OUT21H,AL
MOVCX,000AH;
设置中断次数
A1:
CMPCX,0000H
JNZA2
ORAL,80H;
关8259中断7
STI
HLT
A2:
STI
JMPA1
IRQ7:
MOVAH,01H;
中断服务程序入口
MOVAL,37H
INT10H
MOVAL,20H;
“空格”
DECCX
MOVAL,20H
OUT20H,AL;
结束中断命令
CLI
IRET
CODEENDS
ENDSTART
实验步骤:
(1)按图连接试验线路,检查无误后打开实验箱电源。
(2)输入程序并检查无误,经汇编、连接后通过调试窗口装入系统0000:
2000处。
(3)G=0000:
2000运行程序。
(4)重复按KK2微动开关,观察显示屏上显示结果。
二、8259应用实验
(2)
编写程序实现:
⏹当无中断请求时,执行主程序,延时显示“main”,每显示一个空一格;
⏹若有中断请求,则执行其中断服务程序,显示对应中断号“6”或“7”;
⏹若正在执行较低级的中断服务程序,则允许比它优先级高的中断被相应(IRQ6>
IRQ7)。
实验程序如下:
DATASEGMENT
TABLEDB4DH,41H,49H,4EH,20H,00H
DATAENDS
MOVAX,DATA
MOVDS,AX
PUSHDS
MOVDS,AX
MOVAX,OFFSETIRQ6;
取中断服务程序入口地址
ADDAX,2000H
MOVSI,0038H;
填8259中断6中断矢量
MOV[SI],AX
MOVSI,003AH
MOVSI,003CH;
填8259中断7中断矢量
MOVSI,003EH
MOVAL,13H;
初始化ICW1
OUT20H,AL
MOVAL,08H;
初始化ICW2
OUT21H,AL
MOVAL,09H;
初始化ICW4
MOVAL,3DH;
配置OCW1
MOVCX,0007H
MOVAL,0DH
MOVAH,01H
INT10H;
显示回车
MOVAH,06H
MOVBX,OFFSETTABLE
显示main
CALLDALLY
LOOPA2;
循环显示main
JMPA1
IRQ6:
STI;
开中断
MOVAL,36H
MOVAH,01H
INT10H;
显示6
MOVAL,20H
OUT20H,AL
开中断
MOVAL,37H
显示7
OUT20H,AL
DALLY:
PUSHCX;
出栈CX
PUSHAX
MOVCX,0040H
A3:
MOVAX,056CH
A4:
DECAX
JNEA4
LOOPA3
POPAX
POPCX
RET
CODEENDS
ENDSTART
(1)画出以上程序流程图,并在程序后面填写相应注释。
(2)按图连接实验电路,检查无误后打开实验箱电源。
(3)输入程序并检查无误,经汇编、连接后装入系统。
(4)G=0000:
2000运行实验程序,记录运行结果:
1没有按键时:
延时显示MAIN,每显示一个空一格
2单独按下KK1或KK2时:
按下KK1显示6,接着延时显示MAIN,每显示一个空一格
按下KK2显示7,接着延时显示MAIN,每显示一个空一格
3先按下KK1再按下KK2时:
延时显示6,接着延时显示MAIN,
4先按下KK2再按下KK1时:
延时显示67,接着延时显示MAIN
分析结果:
实验小结:
实验5主要是中断实验,通过这次实验:
1、掌握了8259A的工作原理;
2、掌握了编写中断服务程序的方法;
3、掌握了初始化中断向量的方法。
教师评语:
实验六8253定时/计数器应用实验
1、熟悉定时/计数器在系统中的典型接法。
2、掌握定时/计数器的工作方式及应用编程
一、8253可编程定时/计数器介绍
8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。
它有3个独立的十六位计数器,计数频率范围为0-2MHz,所有计数方式和操作方式都通过编程进行控制。
1、8253的功能
在实际应用当中,8253可以在不同场合实现以下功能:
延时终端、可编程频率发生器、事件计数器、分频器、实时时钟、数字单稳、复杂的电机控制器。
2、8253的工作方式
方式0
计数结束产生中断
方式1
可重触发的单稳触发器
方式