[芯片] 1、接口技术·实验一·中断8259

目录

一、实验目的和要求

二、实验原理与背景

2-1、微处理器的中断类型

2-2、8259A内部结构

2-3、8259A读写控制逻辑

2-4、PC上可屏蔽中断

三、实验具体的内容

四、实验的代码说明

五、实验结果的分析

附录材料



一、    实验目的和要求

学会8259芯片和微机接口原理和方法。

掌握8259中断芯片的基本工作原理、工作方式和编程原理。

二、    实验原理与背景

2-1、微处理器的中断类型

          图2.1 微处理器中断结构图

2-2、8259A内部结构

          图2.2 8259A内部结构图

2-3、8259A读写控制逻辑

          图2.3 8259A读写控制逻辑

2-4、PC上可屏蔽中断

PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源:

  •   中断源     中断类型号    中断功能
  •   IRQ0          08H        时钟
  •   IRQ1          09H        键盘
  •   IRQ2          0AH        保留
  •   IRQ3          OBH        串行口2
  •   IRQ4          0CH        串行口1
  •   IRQ5          0DH        硬盘
  •   IRQ6          0EH        软盘
  •   IRQ7          0FH        并行打印机

8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。对于PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级联,对外可以提供16个中断源:

  •   中断源     中断类型号   中断功能
  •   IRQ8          070H       实时时钟
  •   IRQ9          071H       用户中断
  •   IRQ10         072H       保留
  •   IRQ11         O73H       保留
  •   IRQ12         074H       保留
  •   IRQ13         075H       协处理器
  •   IRQ14         076H       硬盘
  •   IRQ15         077H       保留

TPC-USB实验板上,将中断源固定接到3号中断IRQ3上,即进行中断实验时,所用中断类型号为0BH。

三、实验具体的内容

直接用手动产生单脉冲作为中断请求信号。要求每按一次开关产生一次中断,在屏幕上显示一次“TPCA Interrupt!”,中断10次后程序退出。步骤如下:

①   连接实验电路如图3.1所示。

图3.1  TPC-USB平台中断实验连线图

②   根据流程图1.2,编程并运行,观察实验结果。

              图3.2  TPC-USB平台中断实验流程图

四、实验的代码说明

 1 data segment
 2   mess db ‘tpca interrupt!‘,0dh,0ah,‘$‘
 3 data ends
 4 code segment
 5     assume cs:code,ds,data
 6 start:
 7
 8     mov ax, cs
 9     mov ds, ax
10     mov dx,offset int3     ;中断子程序入口偏移量
11     mov ax,250bh            ;设置中断的中断矢量
12     int 21h
13
14     cli                     ;CPU清中断标志
15     in  al,21h             ;设置中断屏蔽OCW1
16     and al,0f7h            ;开放IRQ3中断
17     out 21h,al
18     mov cx,10              ;循环10次的循环计数器
19     sti                     ;CPU开中断
20 ll:                         ;循环等待
21     jmp ll
22 ;-------------------------------------------------
23 int3:                       ;中断子程序
24     mov ax,data             ;09中断显示字符
25     mov ds,ax
26     mov dx,offset mess
27     mov ah,09
28     int 21h
29
30     mov al,20h              ;发出EOI结束中断
31     out 20h,al
32
33     loop next               ;循环(CX为循环计数器)
34
35     in al,21h               ;循环结束后关闭IRQ3中断
36     or al,08h
37     out 21h,al
38
39     sti                      ;开中断
40     mov ah,4ch              ;结束程序
41     int 21h
42
43 next:
44     iret
45 code ends
46 end start

五、实验结果的分析

直接用手动产生单脉冲作为中断请求信号。要求每按一次开关产生一次中断,在屏幕上显示一次“TPCA Interrupt!”,中断10次后程序退出。

         图5.1 实验DOS窗口截图

附录材料

本文链接: http://www.cnblogs.com/zjutlitao/p/4172171.html

更多精彩:http://www.cnblogs.com/zjutlitao/p/4125085.html

文档下载:http://pan.baidu.com/s/1i3469X7

时间: 2024-08-06 12:13:53

[芯片] 1、接口技术·实验一·中断8259的相关文章

[芯片] 3、接口技术·实验三·可编程并行接口8255A

目录 一.实验目的和要求 二.实验原理与背景 2-1.8255A简介 2-2.8255A编程 三.实验具体的内容 3-1.8255方式0实验1 3-2.8255方式0实验2 3-3.8255方式1输出实验 3-4.8255方式1输入实验 四.实验的代码说明 4-1.8255方式0实验1代码及说明 4-2.8255方式0实验2代码及说明 4-3.8255方式1输出实验代码及说明 4-4.8255方式1输入实验代码及说明 五.实验结果的分析 5-1.8255方式0实验1实验分析 5-1.8255方式

[芯片] 2、接口技术·实验二·定时/计数器8253

目录 一.实验目的和要求 二.实验原理与背景 三.实验具体的内容 3-1.计数器方式0实验 3-2.计数器方式3实验 3-3.计数器级联实验 四.实验的代码说明 4-1.计数器方式0实验代码及说明 4-2.计数器方式3实验代码及说明 4-3.计数器级联实验代码及说明 五.实验结果的分析 5-1.计数方式0实验分析 5-2.计数方式3实验分析 5-3.级联方式实验分析 附录资料 一.实验目的和要求 学会8253芯片和微机接口原理和方法. 掌握8253定时\计数芯片的基本工作原理.工作方式和编程原理

[芯片] 4、接口技术·实验四·串行接口8251A

目录 一.实验目的和要求... 2 二.实验原理与背景... 3 三.实验具体的内容... 3 四.实验的代码说明... 4 五.实验结果的分析... 6 附录资料 一.实验目的和要求 学会8251芯片和微机接口原理和方法. 掌握8251串口芯片的基本工作原理.工作方式和编程原理. 二.实验原理与背景 TPC-USB平台上有一块8251A串行接口芯片,除了片选引脚,其他信号都已接好. 三.实验具体的内容 从键盘输入一个字符,将其ASCII码加 1 后串行发送出去,再从串行口接收回来在屏幕上显示,

WLGK-51单片机接口技术基础实验 ——LED闪烁灯

WLGK-51单片机接口技术基础实验-LED闪烁灯 当我们开始接触单片机,首先接触的第一个实验就是LED灯的使用,类似于我们学习软件开始接触的第一个程序"HelloWorld",这个实验是带领我们走入"软硬件综合使用"的一个很好入门示例,51单片机是他的一个载体.下面小伙伴们,让我们一起来揭开LED的神秘面纱吧! 万立高科官网:www.wanligaoke.com 万立高科官方商城:http://www.wlgkbj.com 万立高科淘宝直销店铺:https://r

微机接口技术与汇编语言上机实验报告_汇编初步(intel8086)

实验环境:intel x386 一.要求:将3000H单元开始置数为00H-0FH SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE, SS:SSTACK START: PUSH DS XOR AX, AX MOV DS, AX MOV SI, 3000H MOV CX, 16 AA1: MOV [SI], AL INC SI INC AL LOOP AA1 ;CX == 0? NEXT():AA1

ecos stm32 步步深入8 - 手工打造串口usart2驱动实验ecos中断

最近忙别的事情,很长时间没碰ecos了,这两天有点空,抽空写个串口驱动玩玩,也验证一下ecos的中断调用.LZ花了两天时间写好这个驱动,中间遇到了几个比较恶心的问题,后来发现是前面的基础没打好,所幸都解决了. 尽管ECOS已经写好了串口的驱动程序,只需要在配置工具中使能即可.不过别人写的毕竟不是自己的,还是自己写的用的方便,这次试验的主要目的是为了调试ecos的中断服务,让串口中断能收发数据. 首先遇到的最大的问题,事实上跟什么串口都没关系,就是debug时一执行task delay,调试程序就

跟着百度学PHP[4]OOP面对对象编程-12-对象接口技术(interface)

PHP与大多数面向对象编程语言一样,不支持多重继承.也就是说每个类只能继承一个父类. 接口正是解决每个类只能继承一个父类这个问题的 接口用什么权限,继承的那个方法也要使用什么权限. 接口的声明使用:interface 接口的继承使用:implements 目录++++++++++++++++++++++++++++++++++++++++++++ 00x1 接口的声明以及接口的引用(案例一) 00x2 如何继承多个接口(案例二) 00x3 判断某个对象是否实现了某个接口(案例三) +++++++

PHP5接口技术入门

在PHP中我们声明类一般都用class来声明. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php     class Student{ //用class声明一个Student类         function __construct(){ //实例化类的时候自动加载的构造方法__construct()         }         public function index(){    //成员方法         }         a

身份证/行驶证/驾驶证识别SDK及API接口技术

一.身份证/行驶证/驾驶证识别SDK及API接口技术应用背景 这些年,随着移动互联网的的发展,越来越多的公司都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如果手动去输入身份证号码和姓名,速度非常慢,且用户体验非常差.为了提高在移动终端上输入身份证信息的速度和准确性,我们开发出证件识别:身份证/行驶证/驾驶证识别SDK及API接口技术,以满足各行业应用需求,给用户带来更好的体验.只需将证件识别:身份证/行驶证/驾驶证识别SDK及API接口技术集成到APP中