中断次数统计Word格式文档下载.docx
《中断次数统计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《中断次数统计Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
级联缓冲器/比较器:
用于多片8259A的连接,能构成多达64级的矢量中断系统。
1.1.2
2.1.28259A编程及初始化
(1)写初始化命令字
写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。
写初始化命令字ICW2,以定义中断向量的高五位类型码。
写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A从片。
第i位=0,表明IRi引脚上无从片
第i位=1,表明IRi引脚上有从片
写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。
(2)写控制命令字
写操作命令字0CW1,用来设置或清除对中断源的屏蔽。
第i位=0,对应的中断请求IRi开放
第i位=1,对应的中断请求IRi屏蔽
注:
OCW1如不写,则在初始化命令写入后,OCW1为全开放状态。
操作命令字OCW2,设置优先级是否进行循环、循环方式及中断结束方式。
注:
8259A复位时自动设置IR0优先权最高,IR7优先权最低。
操作命令字OCW3,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。
2.1
2.28255芯片
1.2.1
2.2.1工作方式控制字
工作方式控制字的格式如图9.18所示,它规定了控制字各位的含义。
D7为方式控制字标志位,“1”为有效。
D6~D3为A组控制位,其中D6D5用于设置A口的工作方式(A口有3种工作方式),D4用于设置A口的输入/输出状态,D3用于设置C口高4位的输入/输出状态。
D2~D0为B组控制位,其中D2用于选择B口的工作方式(B口只有两种工作方式),D1用于选择B口的输入/输出状态,D0用于选择C口低4位的输入/输出状态。
工作方式控制字的这种格式表明:
图2.2.18255工作方式控制字格式
端口A和端口B要分别作为一个整体确定工作方式,而端口C则是分成高4位、低4位两部分分别确定工作方式。
端口A和端口B的工作方式可以不同,端口C的上半部和下半部的工作方式也可以不同。
8255这四部分的工作方式可以任意组合,这就使8255的I/O结构有很大的灵活性,几乎能适应任何一种外部设备的连接需要,还能满足同时连接几种不同I/O设备的需要。
图2.2.28255C口按位置位/复位控制字格式
虽然8255的I/O有上述四个部分,每部分的工作方式又可以不同,但是所有各个部分的工作方式却是CPU用一条输出指令,通过一个控制字写入一个控制寄存器而确定的。
这对于简化初始化编程是十分有利的。
C口按位置位/复位的功能主要用于对外设的控制。
利用这一功能,可使C口某一位输出一个开关量或一个脉冲,作为外设的启动或停止信号。
当端口A或B工作在方式1和方式2时,利用这一功能,也可使作为应答控制线的C口有关位产生所需的联络信号(脉冲或电平)。
这样,显然提高了应答线使用的灵活性,当然在程序上也增加了一些额外的控制步骤。
在使用C口按位置位/复位功能时要注意如下三点。
这一功能可使C口的任一位置“1”或置“0”,但一次(一条输出指令,一个控制字)只能使C口的一位置“1”或置“0”。
如果C口几位都要置“1”或置“0”,必须用几条输出指令,写入几个不同控制字。
表9.2给出了按位置位/复位控制字中的D6D5D4取000时,C口各位的置位、复位控制字。
如果要在某位上输出一个开关量信号,对该位的置“1”置“0”操作必须成对使用。
比如要使PC5输出一个负跳变信号,可用下列80X86指令:
MOVAL,0BH;
PC5置“1”控制字送AL
MOVDX,×
×
11B;
控制寄存器口地址送DX
OUTDX,AL;
置“1”控制字送控制寄存器
MOVAL,0AH;
PC5置“0”控制字送AL
置“0”控制字送控制寄存器
三、方案设计与论证
3.1实验连线:
(1)将微机原理试验箱与计算机连接
(2)将8259的INT与8088的INTR(X15)相连
(3)将8259的INTA连8088的INTA(Xl2)
(4)将“
”插孔和8259的3号中断IR3插孔相连(单脉冲与时钟单元)
(5)将8259的CS端接EX1(60H)
(6)将JX4与JX17相连
(7)将8259的IOWR与8088的IOWR相连
(8)将8259的IORD与8088的IORD相连
(9)将8259的A0与8088的A0相连
(10)将8255的PC口和PB口与数码管相接
图2.1硬件连接
此中断次数统计中,单脉冲信号作为中断请求信号,用8259对中断进行计数,最后用8255再经数码管显示出来。
3.2设计流程图
图2.2设计流程图
2.2
3.3中断子程序流程图:
图2.3中断子程序流程图
中断判断过程子程序:
CLI;
关中断
ADDINTCNT,01H;
中断次数加1
MOVBL,INTCNT;
将中断次数给BL
MOVBH,0;
将BH清零
CMPBX,10;
看中断次数是否满10
JNELP1;
没超过10次则执行LP1
MOVBX,0;
超过则清零
MOVINTCNT,BL;
将中断次数归零
MOVSI,0
3.4程序源代码
CODESEGMENT
ASSUMECS:
CODE
INTPORT1EQU0FF60H
INTPORT2EQU0FF61H
AEQU0FF28H
BEQU0FF29H
CEQU0FF2AH
CTLEQU0FF2BH
ORG12D0H
START:
JMPSTART0
INTCNTDB?
TABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
START0:
MOVDX,CTL
MOVAL,90H;
8255控制字
OUTDX,AL
XORAL,AL
MOVDX,B
MOVDX,C
OUTDX,AL;
8255初始化
NOP
MOVAL,0C0H;
使B端口输出0
CALLWRINTVER;
WRITEINTRRUPT
MOVAL,13H;
设置ICW1
MOVDX,INTPORT1
MOVAL,08H;
设置ICW2
MOVDX,INTPORT2
MOVAL,09H;
设置ICW4
MOVAL,0F7H;
设置ICW3
MOVINTCNT,00H;
中断次数为0
STI
WATING:
NOP
JMPWATING
;
将中断类型码为0BH(11)的中断源所对应的中断服务程序首地址INTREEUP3存放在0000:
002CH开始的4个单元中
WRINTVER:
MOVAX,0H
MOVES,AX
MOVDI,002CH
MOVAX,OFFSETINTREEUP3
STOSW;
将AX中的字节内容送入ES:
DI指向的目的串中
MOVAX,0000H
STOSW
RET
INTREEUP3:
PUSHAX
PUSHBX
PUSHCX
PUSHDX;
压栈
CLI;
MOVBX,0;
MOVINTCNT,BL;
取中断次数所对应的数码管的显示字符
LP1:
MOVBL,INTCNT
MOVBH,0
MOVSI,BX
MOVBX,OFFSETTAB
MOVAL,[BX+SI]
MOVDX,B
OUTDX,AL
INTRE2:
MOVAL,20H
POPDX
POPCX
POPBX
POPAX;
出栈
IRET
CODEENDS
ENDSTART
2.3
.一
.二
一、
二、
四、测试数据与试验结果
3.1显示结果
图3.1部分结果显示图
本次实验采用3号中断源IR3,将“
”插孔和IR3相连,中断方式为边沿触发方式,每拨一次开关产生一次中断,从0开始计数,满10次清零重新计数。
所以,实验时可以看到,每动一次开关,数码管数值增加1,到9时则会跳到0重新计数。
.三
三、
五、总结与体会
8259中断控制器是专为控制优先级中断设计的芯片。
它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。
本次课程设计采用3号中断源IR3,将“”插孔和IR3相连,中断方式为边沿触发方式,每拨一次开关产生一次中断,从0开始计数,满10次清零重新计数。
此次课程设计最大的问题就是怎样将中断请求进行计数,并通过数码管显示出来,刚开始设计的时候只能显示初始值,拨动开关产生中断请求,数码管显示的数值始终不变。
之后参照《微型计算机及其接口实验指导书(8086汇编)》,结合对8259中断原理的理解,与同学交流后,仔细研究相应的程序,经过反复的运行与调试,最终得出中断次数统计的程序。
这次的课程设计中,我们认识到要善于发挥团队合作精神,小组成员之间分工明确,善于思考,力求用简洁的程序语言达到相应的课程设计要求。
多向老师同学请教,以完善设计方案。
我们也能够在设计过程中,认识到各自的不足,在以后的学习中要多加改进。
最后,感谢老师对我们的帮助,在设计中有许多不懂的地方都是马老师帮助我们解决的。
总的来说,经过这次课程设计,我们学到了许多书上所没有的知识,让我们受益匪浅,真的很高兴能有这样一次课程设计!
四、
六、参考文献
[1]朱金钧麻新旗,微型计算机原理及应用技术(第2版),机械工业出版社,2005.7.
[2]顾元刚,汇编语言与微机原理教程,电子工业出版社(第2版),2000.6
[3]顾元刚,汇编语言与微机原理教程,电子工业出版社(第3版),2010.1
[4]刘婷婷王辉,微机原理及接口技术,北京师范大学出版社
课程设计独创性声明:
本设计是我们小组成员结合老师的建议独立完成的,所有电路图,元器件参数设定都是经过小组讨论得出。
学生签名:
指导教师评语:
课程设计成绩:
指导教师签名:
教研室意见:
教研室主任签名: