试验三8259实验.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试验三8259实验

实验三、使用8259的单级中断控制实验 一、实验目的: 1、通过本实验,要掌握8259的使用方法。 二、实验内容 8259的IR3引脚接单脉冲发生电路。产生的中断次数由8086计数,并将计数个数显示在一位LED上。 三、实验分析: 本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0-IR7对应的中断类型号为8-F,其中断矢量关系如下表所示。 8259中断源 中断类型号 中断向量表地址 IR0 8 20H-23H IR1 9 24H-27H IR2 A 28H-2BH IR3 B 2CH-2FH IR4 C 30H-33H IR5 D 34H-37H IR6 E 38H-3BH IR7 F 3CH-3FH 中断向量表的写入: 使用STOSW 命令将AX的内容存储在ES:DI地址。ES=0,DI=002CH。AX先为中断服务程序的地址偏移量(offset INTQ3)、后为段地址0000. Y6是由74LS138输出端引出的,由CPU地址线的A4、A5、A6分别连到138的ABC端。所以,可以确定Y6作为选通信号A6A5A4=110。 CPU的A0和8259的A0相连。 故8259A 有2 个端口地址。选择的是60H、61H. 60H 用来写ICW1, 61H 用来写ICW2、ICW3、ICW4,初始化命令字写好后, 再写操作命令字。OCW2、OCW3 用口地址60H,OCW1用口地址61H。 所以:对8259的初始化值如下: ICW1:13H ICW2:08H ICW4:09H IMR :0F7H 图中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。CPU响应中断后,在中断服务中, 对中断次数进行计数并显示。 使用[0701H] 存放计数次数,从1到F。如果〉F ,重新显示。 所以中断服务程序需要更改计数值。 四、实验线路连接 1)8259模块上的INT1连8088的INTR(在主板键盘矩阵下面)。 2)8259模块上的INTA连8088的INTA(在主板键盘矩阵下面)。 3)MP区SP插孔和8259的3号中断IR3插孔相连,SP端初始为低电平。 4)8259模块上的D0~D7连到BUS 2区的XD0~XD7。 5)8259模块上的CS1端接Y6。 6)8259模块上的A0连到BUS1 区的XA0上。 7)8259模块上的RD、WR信号线分别连到BUS 3区的XRD、XWR上。 8)8259的Vcc、GND 与试验箱5V电源、GND分别连接 五、 实验步骤 1、按图连好实验线路 2、编写运行实验程序 3、按AN按钮,统计按键次数并显示。 六、源程序: // [0701H] 存放的是计数次数,从1到15 码值表如下: 数据 显示内容 数据 显示内容 数据 显示内容 0c0h 0 0f9h 1 0a4h 2 0b0h 3 99h 4 92h 5 82h 6 0f8h 7 80h 8 90h 9 88h A 83h B 0c6h C 0a1h d 86h E 8eh F DISP入口显示地址: 077FH 077EH 077DH 077CH 077BH 077AH CODE SEGMENT ASSUME CS:CODE PORT1 EQU 0060H ;定义8259的控制口和数据口地址。 PORT2 EQU 0061H ORG 11A0H START: CLD ;写 INTRRUPT向量表 。。。。。。。。。。。 ;写 INTRRUPT向量表 ;补充程序,完成8259初始化,边沿触发、单片使用不需要写ICW3,需要设置ICW4,OCW1除了IR3的中断,其它全部屏蔽掉 。。。。。。。。。。。。。。。。。。。。。。。。。。 ;补充程序,完成8259初始化,边沿触发、单片使用不需要写ICW3,需要设置ICW4,OCW1除了IR3的中断,其它全部屏蔽掉 MOV BYTE PTR DS:[0701H],0 ;中断计数初值0 STI WATING: JMP WATING ;中断子程序,完成:有中断则计数值+1,并且查表,将要显示的数值的码值送往端口0FF22H 完成显示。 IRQ3:MOV AL,DS:[0701H] INC AL MOV DS:[0701H],AL ;查表,将查的的结果送ff22端口显示。 。。。。。。。。。。。。。。。。。。。 ;查表,将查的的结果送ff22端口显示。

文档评论(0)

sb9185sb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档