文档视界 最新最全的文档下载
当前位置:文档视界 › 8259中断控制实验

8259中断控制实验

8259中断控制实验
8259中断控制实验

深圳大学实验报告课程名称:

实验项目名称:

学院:

专业:

指导教师:

报告人:学号:班级:

实验时间:

实验报告提交时间:

教务部制

实验目的与要求:

1. 掌握8259中断控制器的工作原理。

2. 学习8259的应用编程方法。

方法、步骤:

(1)按图4.15连接实验线路。

(2)编写实验程序,经编译、链接无误后装入系统。

(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”,说明响应了中断。

实验过程及内容:

1. 中断控制器8259简介

在Intel 386EX 芯片中集成有中断控制单元(ICU ),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A 是一致的,操作方法也相同。从片的INT 连接到主片的IR2信号上构成两片8259的级联。

在TD-PITE 实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图4.5:

主片8259A

从片8259A INT

INT CAS2:0

CAS2:0

IR2

IR4

IR6IR7

IR1

INTR (内核)

串口0MIR6MIR7

SIR1

图4.5 8259内部连续及外部管脚引出图

表4.1列出了中断控制单元的寄存器相关信息。

表4.1 ICU 寄存器列表

寄存器 口地址 功能描述

ICW1(主) ICW1(从) (只写) 0020H 00A0H 初始化命令字1:

决定中断请求信号为电平触发还是边沿触发。

ICW2(主) ICW2(从) (只写) 0021H 00A1H 初始化命令字2:

包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推。 ICW3(主) (只写) 0021H

初始化命令字3:

用于识别从8259设备连接到主控制器的IR 信号,内部的从8259连接到主8259的IR2信号上。 ICW3(从) (只写) 00A1H 初始化命令字3:

表明内部从控制器级联到主片的IR2信号上。 ICW4(主) ICW4(从) (只写) 0021H 00A1H 初始化命令字4:

选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。 OCW1(主) OCW1(从) (读/写) 0021H 00A1H 操作命令字1:

中断屏蔽操作寄存器,可屏蔽相应的中断信号。 OCW2(主) OCW2(从) (只写) 0020H 00A0H 操作命令字2:

改变中断优先级和发送中断结束命令。

OCW3(主) OCW3(从) (只写) 0020H 00A0H 操作命令字3:

使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断服务寄存器。 IRR (主)

0020H

中断请求:

IRR (从) (只读) 00A0H 指出挂起的中断请求。

ISR (主) ISR (从) (只读) 0020H 00A0H 当前中断服务:

指出当前正在被服务的中断请求。

POLL (主)

POLL (从) (只读)

0020H 0021H 00A0H 00A1H

查询状态字:

表明连接到8259上的设备是否需要服务,如果有中断请求,该字表明当前优先级最高的中断请求。

初始化命令字1寄存器(ICW1)说明见图4.6所示。

1

LS

00

1

7

0:边沿触发1:电平触发

ICW1

图4.6 初始化命令字1寄存器

初始化命令字2寄存器(ICW2)说明见图4.7所示。

T7

T6

T5

T4

T3

7

ICW2

中断向量地址

图4.7 初始化命令字2寄存器

初始化命令字3寄存器(ICW3)说明,主片见图4.8,从片见图4.9。

S7

S6

S5

S4

S3

S2

S1

7

S7-S3:0表示无8259被连接到主片上 1表示有8259被连接到主片上 S2:0表示内部从片没被使用

1表示内部从片被级联到主片的IR2上 S1:0表示无8259通过IR1连接到主片上 1表示有8259通过IR1连接到主片上

ICW3(主片)

图4.8 主片初始化命令字3寄存器

1

7

ICW3(从片)

图4.9 从片初始化命令字3寄存器

初始化命令字4寄存器(ICW4)说明见图4.10。

SNFM

AEOI

1

7

ICW4

SNFM :0=选择全嵌套模式

1=选择特殊全嵌套模式,仅主8259能够工作在特殊全嵌套模式AEOI :0=禁止中断自动结束

1=使能中断自动结束,仅主8259能够工作在中断自动结束方式

图4.10 初始化命令字4寄存器

操作命令字1寄存器(OCW1)说明见图4.11。

M7

M6

M5

M4

M3

M2

M1

M0

7

OCW1

M7--M0:0=对应IR 信号上的中断请求得到允许 1=对应IR 信号上的中断请求被屏蔽注意:设置屏蔽位不影响各自中断挂起位

图4.11 操作命令字1寄存器

操作命令字2寄存器(OCW2)说明如图4.12所示。

7

OCW2

R

SL

EOI

L2

L1

L0

R SL EOI 命令

0 0 0 取消优先级自动循环 *0 0 1 一般的中断结束命令0 1 0 无操作

0 1 1 特殊的中断结束命令 **1 0 0 中断优先级自动循环 *

1 0 1 在一般中断结束方式中优先级循环1 1 0 优先级特殊循环方式 **

1 1 1 在特殊中断结束方式中优先级循环 **

* 当8259工作在中断自动结束方式下时,这些情况可以改变优先级结构。** 在这些情况下优先级由L2:L0指定。

L2、L1、L0:在给出特殊的中断结束命令时,L2、L1、L0指出了具体要清除当前中断服务寄存器的哪一位;当给出特殊的优先级循环方式命令时,L2、L1、L0指出了循环开始时哪个中断的优先级最低。

图4.12 操作命令字2寄存器

操作命令字3寄存器(OCW3)说明如图4.13所示。

ESMM

SMM

1

P

RR

RIS

7

OCW3

ESMM SMM 0 0 无影响0 1 无影响1 0 禁止特殊屏蔽模式1 1 使能特殊屏蔽模式

P :设置该位使8259工作在中断查询方式RR RIS 0 0 无影响0 1 无影响1 0 读中断请求寄存器IRR 1 1 读当前中断服务寄存器ISR

图4.13 操作命令字3寄存器

查询状态字(POLL )说明如图4.14所示。

INT

----L2

L1

L0

7

POLL

INT :0=无请求

1=连接在8259上的设备请求服务

L2、L1、L0:当INT 为1时,这些位指出了需要服务的最高优先级的IR ;当INT 为0时这些位不确定。

图4.14 程序状态字寄存器

在对8259进行编程时,首先必须进行初始化。一般先使用CLI 指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。

系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC 联机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示:

主片中断序号 0 1 2 3 4 5 6 7 功能调用 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 矢量地址 20H ~23H 24H ~27H 28H ~2BH 2CH ~2FH 30H ~33H 34H ~37H 38H ~3BH 3CH ~3FH 说明 未开放 未开放 未开放 未开放 串口 未开放 可用 可用 从片中断序号 0 1 2 3 4 5 6 7 功能调用 30H 31H 32H 33H 34H 35H 36H 37H 矢量地址 C0H ~C3H C4H ~C7H C8H ~CBH CCH ~CFH D0H ~D3H D4H ~D7H D8H ~DBH DCH ~DFH 说明

未开放 可用 未开放 未开放 未开放 未开放 未开放 未开放

2. 8259单中断实验

实验接线图如图4.15所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。

图4.15 8259单中断实验接线图

实验程序清单(INT1.ASM )

SSTACK SEGMENT STACK

DW 32 DUP(?) SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE START: PUSH DS

MOV AX, 0000H MOV DS, AX

MOV AX, OFFSET MIR7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址

MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址

MOV SI, 003EH MOV [SI], AX

;填IRQ7的段地址矢量

CLI

系统总线

单次脉冲单元

MIR7KK1+

主8259

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

STI

AA1: NOP

JMP AA1

MIR7: STI

CALL DELAY

MOV AX, 0137H

INT 10H ;显示字符7

MOV AX, 0120H

INT 10H

MOV AL, 20H

OUT 20H, AL ;中断结束命令

IRET

DELAY: PUSH CX

MOV CX, 0F00H

AA0: PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

数据处理分析:

一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序放入堆栈中进行保护,所以, PUSH DS就起到这样的作用.在中断程序结束后,为了能回到之前执行的程序入口,还得用POP DS 指令返回现场. 这个实验是关于8259的单中断,不牵涉级联问题,所以,8259的初始化只需要看主片就可了.初始化的时候,一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入始化字.8259有四个初始化控制字ICW1,ICW2,ICW3,ICW4,由于8259只有一根地址线,因此对各个制字的操作是按照一定的顺序并结合某些数据位来进行寻址设置的.当初始化完成后,对8259的操作命令字的寻址是通过8259的地址线A0和某些数据位结合来进行的. 其初始化控制字和控制命令辽的赋值由我已经在注释中给出.另外,在初始化程序中我们用了STI这条指令打开中断,那么进入MIR7中断程中,我们为什么又执行STI这条指令呢,会不会重复了?经过实验,我们

知道这条指令并不是没用的,如果少后面这条STI指令,实验中我们会发现,当按一次KK1开关的时候,屏幕会显示一个字符7,但是,再按KK1的时候,就没有反应了,起初并不知道怎么解释这个现象,后来才知道8086CPU执行完一次中断后,会自动将相应的中断位屏蔽,所以,如果我们想按一次KK1就发生一次中断,就得重新在程序中打开中断,也就是STI. 另外,RET指令是短信返回指令,而IRET指令则是中断短程返回指令,一般中断程序也大多是短程的. 那么,中断发生的时候,CPU又是怎样进入中断子程序的呢?这就需要我们正确地设置中向量表的了.实验板上主中断序号7可用,也就是我们得利用3CH-3FH这矢量地址.所以在程序开始的候,就采用MOV AX, OFFSET MIR7,MOV SI, 003CH,MOV [SI], AX 这三句来获得偏移地址IP,接着高址位置又用MOV AX, CS,MOV SI, 003EH,MOV [SI], AX这三条指令来获得CS. CPU根据CS,IP就能转入正确的中断程序执行中断了. 而中断程序结尾处,用了MOV AL, 20H OUT 20H, AL以及IRET这三条指令, 是为了说明这是正常的EOI,可以通知8259A此次服务结束.

深圳大学学生实验报告用纸

实验结论:

中断的思想在程序的设计中无疑占有重要的位置.采取中断的方法,大大提高程序的有效和CPU的高效率工作. 因此,8259中断控制实验在微机的几个实验中,就显得尤其重点.掌握8259中断控制器的工作原理和应用编程方法,需要对课本上那些对8259的系统介绍一个深入的了解,以及级联方式下各个寄存器相应的控制和操作方法,这些,都是我们学习重点,我们应该熟练掌握.

指导教师批阅意见:

成绩评定:

指导教师签字:

年月日

备注:

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

《8259中断控制器实验》的实验报告

实验六8259中断控制器实验 6.1 实验目的 (1) 学习中断控制器8259的工作原理。 (2) 掌握可编程控制器8259的应用编程方法。 6.2 实验设备 PC微机一台、TD-PIT+实验系统一套。 6.3 实验内容 1. 单中断应用实验 (1)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。 (2)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示“Hello”,中断5次后退出。 2.扩展多中断源实验 利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进行处理。 6.4 实验原理 1. 8259控制器的介绍 中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图6-1所示。 8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图6-2所示,

实验四定时器8253与中断控制器8259A实验

实验四 定时器8253与中断控制器8259A 实验 一﹑实验目的 1. 掌握计数器/定时器8253的工作原理和编程方法。 2. 掌握8259中断控制器的工作原理; 3. 掌握中断服务程序的编写。 二﹑实验内容 1. 该实验用PC 机内部的中断控制器8259A ,中断源用TPC_H 实验箱上8253来产生,电路如下所示,将8253计数器0、计数器1分别设置为方式3和方式2,计数初值设为2000,每隔4秒产生一次。TPC_H 实验箱上的IRQ 已连接到PC 机内部主片8259A 的IRQ7,主片8259A 的端口地址为20H 和21H ,主机启动时,系统已将8259A 中断控制器进行了初始化(边沿触发﹑一般完全嵌套方式﹑非自动结束,ICW2为08H ,IRQ7对应的中断类型码为0FH); 2. 实验电路如下图: 注意:做中断实验时,JB 上的短路片应插在“I/O ”位置,JC 上的短路片插在“I/O ”位置。 3. 编写程序,要求每次主机响应外中断IRQ7时,显示"THIS IS A 8259A INTERRUPT !",在键盘上敲任意一个键,程序退出。 4. 修改电路和程序,直接用手动产生单个脉冲作为中断请求信号,要求每按一次开关产生一次中断,在屏幕上显示一次“THIS IS A IRQ7 INTRUPT !”,中断10次后程序退出。 JC I/O EM 实验连线6条,如图红色虚线所示 去IRQ7 去去50去1MHz 输出端

1.复习8259A工作原理,编程方法和使用方法。 2.根据要求编写相应的汇编程序。 四﹑报告要求 1.整理好经过运行是正确的源程序,并加上注释。 2.总结实验调试过程中遇到的问题。 3.通过实验回答思考题。 五﹑思考题 初始化时设置为非自动结束方式,那么在中断服务程序 将结束时必须设置什么操作命令?如果不设置这种命令会发 生什么现象? 六、实验原理 1、PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。 IBM-PC/XT机内有一片8259中断控制器对外可提供8个中断源: 中断源中断类型号中断功能 IRQ0 08H 时钟 IRQ1 09H 键盘 IRQ2 0AH 保留 IRQ3 0BH 串行口2 IRQ4 0CH 串行口1 IRQ5 0DH 硬盘 IRQ6 0EH 软盘 IRQ7 0FH 并行打印机 8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线总线插槽中可以引出,系统已设定中断请求信号为“边沿触发”、普通结束方式。对于286以上的微机又扩展了一片8259中断控制器,主片的IRQ2已用于从片的级连。本实验箱在出厂时,默认IRQ7引到实验台上。 2、编程说明:PC机中断控制器8259的地址为20H、21H,编程时要根据中断类型号设置中断矢量,8259中断屏蔽寄存器IMR对应位要清0(允许中断),中断服务程序返回前要使用中断结束命令: MOV AL,20H OUT 20H,AL 中断结束返回DOS时应将IMR对应位置1,以关闭中断。

微机接口实验报告-8259中断控制器应用实验

姓名 院专业班 年月日实验内容8259中断控制器实验指导老师 【实验目的】 (1)学习中断控制器8259的工作原理。 (2)掌握可编程控制器8259的应用编程方法。 【试验设备】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 (1) 编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。 (2) 编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示“9”,中断显示6次后退出。 【实验原理】 1. 8259控制器的介绍 中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图6-1所示。 8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1- OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。 图6-1 8259内部结构和引脚图

实验二 中断控制电路实验

实验二中断控制电路实验 一、实验目的 1、学习单片机的中断控制原理。 2、编程中断控制器。 二、实验环境 硬件环境:奔3以上处理器,512MB以上内存空间 软件环境:windowsXP以上操作系统,emu8086编译环境,Proteus7、5sp3。 三.实验内容与完成情况 1、实验电路图 2.实验原理 8259中断控制器就是专为控制优先级中断设计的芯片。它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式与中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。 (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优先权最低。

实验六 8259中断控制(1)

实验六8259中断控制(1) 一.实验目的 1. 学习8086/8088 CPU中断系统的知识。 2. 学习8259中断控制器的使用。 二.实验要求 编写程序,使8255的A口控制双色灯。CPU执行主程序时四个绿灯亮。用+pulse作为8259的IR2的输入信号,向CPU请求中断。CPU在中断服务程序中熄灭绿灯,并使红灯亮。中断服务程序结束,又返回主程序,再使绿灯亮。 三.实验电路及连线

1.将8255的PA0~PA3接双色灯的DG1~DG4。 2.将8255的PA4~PA7接双色灯的DR1~DR4。 3.将单脉冲电路的+pulse接8259的IR2。 4.将8255的CS接200~207H。 5.将8259的CS接210~217H。 6.将K15插针连上。 四.编程提示 1. 8255初始化:A口方式0输出。 2. 8259初始化:边沿触发。 3. 设置中断矢量,将中断服务程序入口地址送入中断矢量表的相应单元,在本系统中,80000H~800FFH相当于00000H~000FFH,其中用户可用中断矢量表区域为80014H~800FFH。 4. 主程序控制8255 PA0~PA3输出点亮绿灯。 5. 编制中断服务程序,使PA4~PA7输出点亮红灯,关闭绿灯。 五.实验步骤 1. 编制程序。 2. 在PC机上编辑、汇编及连接。 3. 在实验板上按实验连线要求连接硬件线路(注意先关闭实验板电源)。 4. 连接实验板与PC机的串行通信线,开实验板电源。 5. 将程序从PC机送入实验板。 6. 运行程序,此时双色灯绿灯亮,表明在运行主程序。 7. 按一下+pulse按钮,应当红灯亮绿灯灭,表明在执行中断服务程序;过一会儿红灯熄灭了,绿灯又亮了起来,表明中断服务程序已返回了主程序。 六.实验报告 应包括画电路图、试验程序框图、编程(要有注释)、调试过程及心得体会等。

8259A中断实验

实验8259单级中断控制器实验 一、实验目的 ⒈掌握8259中断控制器的接口方法。⒉ 掌握8259中断控制器的应用编程。 二、实验内容 利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。 三、实验接线图 图6-6 四、编程指南 ⑴8259芯片介绍 中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。

⑵本实验中使用3号中断源IR3,“”插孔和IR3相连,中断方式 为边沿触发方式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。 五、实验程序框图 IR3中断服务程序: IR7中断服务程序: 六、实验步骤 1、按图6-6连好实验线路图。

⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“” 插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;⑷8259的CS端接FF80H孔。 2、运行实验程序,在系统处于命令提示符“P.”状态下,按SCAL键,输入12D0,按EXEC键,系统显示8259-1。 3、拨动AN开关按钮,按满l0次显示good。 七、实验程序清单 CODE SEGMENT ;H8259.ASM ASSUME CS: CODE INTPORT1 EQU 0FF80H INTPORT2 EQU 0FF81H INTQ3 EQU INTREEUP3 INTQ7 EQU INTREEUP7 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 12D0H START: JMP START0 BUF DB ?,?,?,?,?,? intcnt db ? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h, 0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: CLD ;递加 CALL BUF1 ;写显示缓冲初值 CALL WRINTVER ;写中断向量 MOV AL,13H ;写ICW1 MOV DX,INTPORT1 OUT DX,AL MOV AL,08H ;写ICW2 MOV DX,INTPORT2 OUT DX,AL MOV AL,09H ;写ICW4 OUT DX,AL MOV AL,0F7H ;写OCW1 OUT DX,AL MOV intcnt,01H ;中断计数初值 STI ;开中断 WATING: CALL DISP ;DISP 8259-1

单片机实验二 定时器及中断控制实验

昆明理工大学信息工程与自动化学院学生实验报告 ( 2014 — 2015 学年第 2 学期) 课程名称:嵌入式技术开课实验室:信自楼402 2015年5月5日 年级、专业、班计科122 学号201210405204 姓名邹华宇成绩实验项目名称实验二定时器及中断控制实验指导教师江虹 教师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 年月日 一、实验目的 掌握定时器T0、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 二、实验原理 89C51单片机有五个中断源(89C52有六个),分别是外部中断请求0、外部中断请求1、定时器/计数器0溢出中断请求、定时器/计数器0溢出中断请求及串行口中断请求。每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器TCON和SCON中。当中断源请求中断时,相应标志分别由TCON和SCON的相应位来锁寄。五个中断源有二个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。在同一优先级别中,靠内部的查询逻辑来确定响应顺序。不同的中断源有不同的中断矢量地址。 中断的控制用四个特殊功能寄存器IE、IP、TCON (用六位)和SCON(用二位),分别用于控制中断的类型、中断的开/关和各种中断源的优先级别。 中断程序由中断控制程序(主程序)和中断服务程序两部分组成: 1)中断控制程序用于实现对中断的控制; 2)中断服务程序用于完成中断源所要求的中断处理的各种操作。 C51的中断函数必须通过interrupt m进行修饰。在C51程序设计中,当函数定义时用了interrupt m修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾

8259中断实验

XX学院 实验报告 实验名称 姓名 学号 班级 教师 日期

一、实验内容与要求 1.1 实验内容 本次实验分为如下3个子实验: (1)单中断请求实验:利用系统总线上中断请求信号MIR7,设计一个单一中断请求实验; (2)双中断优先级实验:利用系统总线上中断请求信号MIR6和MIR7,设计一个双中断优 先级应用实验,观察8253对中断优先级的控制; (3)级联中断实验:利用系统总线上中断请求信号MIR7和SIR1,设计一个级联中断应用 实验。 1.2 实验要求 本次实验中三个子实验的实验要求如下: (1)单中断请求实验:单脉冲KK1+与主片8259的IR7相连。每按KK1+,进入一次中断, 输出7; (2)双中断优先级实验:单脉冲KK1+连主片8259的IR7,KK2+连其IR6。每当KK1+按 下时显示“7”,每当KK2+按下显示“6”; (3)级联中断实验:单脉冲KK1+连主片8259的IR7,KK2+连从片的IR1。每当KK1+按 下时显示“M7”,每当KK2+按下显示“S1”。 二、实验原理与硬件连线 2.1 实验原理 (1)中断控制器8259简介 在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。 在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图1-1:

8259中断控制实验

《微机系统与接口技术》课程实验报告 学院:计算机学院 班级学号: 学生姓名: 指导老师: 成绩评定:

1 实验目的 1. 掌握8259中断控制器的工作原理。 2. 学习8259的应用编程方法。 3. 掌握8259级联方式的使用方法。 2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 3 实验内容及步骤 1. 中断控制器8259简介 在Intel 386EX 芯片中集成有中断控制单元(ICU ),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A 是一致的,操作方法也相同。从片的INT 连接到主片的IR2信号上构成两片8259的级联。 在TD-PITE 实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图4-1: 主片8259A 从片8259A INT INT CAS2:0 CAS2:0 IR2 IR4 IR6IR7 IR1 INTR (内核) 串口0MIR6MIR7 SIR1 图4-1 8259内部连续及外部管脚引出图 表4-1列出了中断控制单元的寄存器相关信息。 表4-1 ICU 寄存器列表 寄存器 口地址 功能描述 ICW1(主) ICW1(从) (只写) 0020H 00A0H 初始化命令字1: 决定中断请求信号为电平触发还是边沿触发。 ICW2(主) ICW2(从) (只写) 0021H 00A1H 初始化命令字2: 包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推。 ICW3(主) (只写) 0021H 初始化命令字3: 用于识别从8259设备连接到主控制器的IR 信号,内部的从8259连接到主8259的IR2信号上。 ICW3(从) (只写) 00A1H 初始化命令字3: 表明内部从控制器级联到主片的IR2信号上。 ICW4(主) ICW4(从) (只写) 0021H 00A1H 初始化命令字4: 选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。 OCW1(主) OCW1(从) 0021H 00A1H 操作命令字1: 中断屏蔽操作寄存器,可屏蔽相应的中断信号。

微机原理实验---中断控制实验

深圳大学实验报告 课程名称:微机计算机设计 实验项目名称:8259 中断控制实验 学院:信息工程学院 专业:电子信息工程 指导教师: 报告人:学号:2009100000班级:<1>班实验时间:2011. 05.19 实验报告提交时间:2011. 05. 26 教务处制

一、实验目的 1. 掌握8259 中断控制器的工作原理。 2. 学习8259 的应用编程方法。 3. 掌握8259 级联方式的使用方法。 二、实验要求 1、8259 单中断实验,由单次脉冲输出与主片8259 的IR7 相连可以实现每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。 2、8259 级联实验,由KK1+连接到主片8259 的IR7 上,KK2+连接到从片8259 的IR1 上,可实现当按一次KK1+时,显示屏上显示字符“M7”,按一次KK2+时,显示字符“S1”。 三、实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 四、实验原理 1、在Intel 386EX 芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A 是一致的,操作方法也相同。从片的INT 连接到主片的IR2 信号上构成两片8259 的级联。在TD-PITE 实验系统中,将主控制器的IR6、IR7 以及从控制器的IR1 开放出来供实验使用,主片8259 的IR4 供系统串口使用。8259 的内部连接及外部管脚引出如图: 2、在对8259 进行编程时,首先必须进行初始化。一般先使用CLI 指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259 有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259 时,写入初

实验六 8259中断控制(1)

星期二1-2节序号:1 实验六8259中断控制(1) 12120771 易远明 一、电路图 二、程序框图

三、实验程序及注释 ASSUME CS:CODE INTPORT1 EQU 0060H INTPORT2 EQU 0061H INTQ3 EQU INTREEUP3 INTCNT DB ? ORG 1200H START: CLD MOV DX,0FF2BH MOV AL,80H ;设置8255方式字:A口出 OUT DX,AL CALL WRINTVER ;WRITE INTRRUPT MOV AL,13H ;ICW1=00010011B,边沿触发、单8259、需ICW4 MOV DX,INTPORT1 OUT DX,AL MOV AL,08H MOV DX,INTPORT2 OUT DX,AL MOV AL,09H ;ICW4=00001001B,非特殊全嵌套方式、缓冲/从、正常EOI OUT DX,AL MOV AL,0F7H ;OCW1=11110111B OUT DX,AL MOV INTCNT,01H ;延时 STI WATING: MOV DX,0FF28H ;主程序绿灯亮(低四位为0则绿灯亮,高四位为1故红灯灭)MOV AL,0F0H OUT DX,AL JMP WA TING WRINTVER: MOV AX,0H

MOV ES,AX MOV DI,002CH ;中断向量地址2CH=0BH*4 LEA AX,INTQ3 STOSW ;送偏移地址 MOV AX,0000h STOSW ;送段地址 RET INTREEUP3:CLI ;中断服务子程序开始 MOV DX,0FF28H ;中断服务子程序执行红灯亮 MOV AL,0FH ;低四位为1则绿灯灭,高四位为0故红灯亮 OUT DX,AL CALL DELAY1S MOV AL,20H ;OCW2=001 00 000B非特殊EOI命令,结束命令,用于完全嵌套方式的中断结束 MOV DX,INTPORT1 OUT DX,AL STI ;开系统中断 IRET DELAY1S: MOV CX,0FFFFH MOV BX,5 L:DEC CX JNZ L DEC BX JNZ L RET CODE ENDS END START

实验二 中断控制电路实验

实验二中断控制电路实验 一. 实验目的 1.学习单片机的中断控制原理。 2.编程中断控制器。 二. 实验环境 硬件环境:奔3以上处理器,512MB以上内存空间 软件环境:windowsXP以上操作系统,emu8086编译环境,Proteus7.5sp3。 三.实验内容与完成情况 1.实验电路图 2.实验原理 8259中断控制器是专为控制优先级中断设计的芯片。它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。 (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优先权最低。

中断实验报告报告

中断试验试验报告 班级:电信1001 姓名:张贵彬学号:201046830213 一、实验目的 1、掌握PC机中断处理系统的基本原理。 2、学会编写中断服务程序。 二、实验原理与内容 1、实验原理 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。 2、实验内容 实验电路如图9-1,直接用手动产单脉冲作为中断请求信号(只需连接一根导线)。要求每按一次开关产生一次中断,在屏幕上显示一次“TPCA Interrupt!”,中断10次后程序退出。 三、实验电路图

实验一8259单级中断控制器实验

实验一8259单级中断控制器实验 一、实验目的 ⒈掌握8259中断控制器的接口方法。 ⒉掌握8259中断控制器的应用编程。 二、实验内容 利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。 三、实验接线图 图6-6 四、编程指南 ⑴8259芯片介绍 中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。

⑵本实验中使用3号中断源IR3,“”插孔和IR3相连,中断方式为边沿触发方式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。 五、实验程序框图 IR3中断服务程序: IR7中断服务程序: 六、实验步骤

1、按图6-6连好实验线路图。 ⑴ 8259的INT连8088的INTR; ⑵ 8259的INTA连8088的INTA; ⑶“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平; ⑷ 8259的CS端接FF80H孔; ⑸连JX4→JX17。 2、DJ-8086k软件启动和联机 ⑴启动和联机。双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件; ⑵新建文件:单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序 编辑窗口,此时可在此窗口编辑、输入源程序(注:新建文件扩展名为 .ASM)。 或打开文件F3:单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。; 3、调试程序 ⑴编译装载F9: 打开源文件,依次单击:调试”\“编译装载F9”或工具栏上的编译装载图标,状 态栏会提示正在编译、编译成功、正在装载数据、装载数据结束,几秒钟后便会弹出‘源文件调试窗口’,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可; ⑵连续运行; 单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序,系统显示8259-1。 ⑶在系统处于命令提示符“P.”状态下,输入12D0,按EXEC键,系统显示8259-1。 ⑷拨动AN开关按钮,按满6次显示good。 七、实验程序清单 CODE SEGMENT ; ASSUME CS: CODE INTPORT1 EQU 0FF80H INTPORT2 EQU 0FF81H INTQ3 EQU INTREEUP3 INTQ7 EQU INTREEUP7 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 12D0H START: JMP START0 BUF DB ?,?,?,?,?,? intcnt db ?

DSP实验定时器中断实验精

实验四定时器中断实验 一:实验目的 1.熟悉定时器初始化的步骤; 2.熟悉定时器控制寄存器(TCR)的含义和使用; 3.熟悉定时器的原理和应用。 二:实验内容 本实验要求编写一个简单的定时器中断程序,设置一定的周期控制与XF引脚相连的LCD指示灯。当定时器中断产生时可以观察到LCD周期性闪烁。 三:实验原理 1.定时器 SRESET .C54xx 系列的 DSP 都具有一个或两个预定标的片内定时器,这种定时器是一个倒数定时器,它可以被特定的状态位实现停止、重启动、重设置或禁止。定时器在复位后就处于运行状态,为了降低功耗可以禁止定时器工作。应用中可以用定时器来产生周期性的 CPU 中断或脉冲输出。定时器的功能方框图如图 9.1 所示,其中有一个主计数器( TIM )和一个预定标计数器( PSC )。 TIM 用于重装载周期寄存器 PRD 的值, PSC 用于重装载周期寄存器 TDDR 的值。 图5.1中有一个信号,是在器件复位时,DSP向外围电路(包括定时器)发送的一个信号,此信号将在定时器上产生以下效果:寄存器TIM和PRD装载最大值(0FFFFH);TCR的所有位清0;结果是分频值为0,定时器启动,TCR的FREE 和SOFT为0。 图5.1定时器的功能方框图 定时器实际上是有20bit的周期寄存器。它对CLKOUT信号计数,先将PSC(TCR 中的D6~D9位)减1,直至PSC为0,然后把TDDR(TCR中的低4位)重新装载入PSC,同时将TIM减1,直到TIM减为0。这时CPU发出TINT中断,同时在TOUT引脚输出一个脉冲信号,脉冲宽度与CLKOUT一致,然后将PRD重新装入TIM,重复 TSS 下去直到系统或定时器复位。

使用8259A的单级中断控制实验

实验五使用8259A的单级中断控制实验 一、实验目的 1、掌握中断控制器8259A与微机接口的原理和方法。 2、掌握中断控制器8259A的应用编程。 二、预备知识 1、8259A的内部结构 8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8 级中断。 如图5-19所示,它由中断请求寄存器(IRR)、优先级分析器、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。 图5-19 中断请求寄存器:寄存所有要求服务的请求IR0~IR7。 中断服务寄存器:寄存正在被服务的中断请求。 中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号,该位为1,屏蔽该号中断,否则开放该号中断。 数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线,通过它可以由CPU对8259A写入状态字和控制字。 读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。 级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。 2、8259A编程及初始化 (1) 写初始化命令字

优先级排队和确定系统用单片还是多片。 * 写初始化命令字ICW2,以定义中断向量的高五位类型码。 * 写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A从片。 第i位=0,表明IRi引脚上无从片 第i位=1,表明IRi引脚上有从片 * 写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中断

8259中断控制实验报告

8259中断控制实验 一.实验目的 1. 掌握8259 中断控制器的工作原理。 2. 掌握系统总线上IR1,IR2 中断请求的应用编程方法。 二.实验设备 IA-32 架构的微机系统及应用教学平台一套。 三.实验原理 3.1 中断控制器8259简介 中断控制器8259 是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。8259 的内部结构和引脚如图1 所示。 图 1 8259 内部结构和引脚图 8259 的命令共有7 个,一类是初始化命令字,另一类是操作命令。8259 的编程就是根据应用需要

将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4 各命令字格式如图2所示,OCW1-OCW3各命令字格式如图3 所示,其中OCW1 用于设置中断屏蔽操作字,OCW2 用于设置优先级循环方式和中断结束方式的操作命令字,OCW3 用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259 内部寄存器的读出命令。 图 2(a) ICW1格式 图 2(b) ICW2格式 图 2(c) ICW3格式 图 2(d) ICW4格式

中断控制器实验

实验5 8259单级中断控制器实验 一、实验目的 ⒈掌握8259中断控制器的接口方法。 ⒉掌握8259单级中断控制器的应用编程。 二、实验内容 利用8259实现对外部中断的响应和处理,要求按键以后使发光二极管按照每次加1的方式进行亮灭。 三、实验接线图 四、编程指南 ⑴8259芯片介绍 中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通

过多片8259A的级联,能构成多达64级的矢量中断系统。 ⑵本实验中使用3号中断源IR3, “”插孔和IR3相连,中断方式为全 嵌套、边沿触发、非级联、普通中断结束,中断类型码根据上表分析,每按一次开关触发一次中断请求。此时发光二极管按照加1方式亮灭,延时用软件延时的方式。端口地址见连线图。 五、实验程序框图 IR3中断服务程序:

六、实验步骤 1、按图连好实验线路图。 ⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA ;⑶“”插 孔和8259的3号中断IR3 插孔相连,“”端初始为低电平;⑷8259的CS 端接FF80H孔;⑸8255A芯片的PA0-PA7依次和发光二极管L1~L8相连。 2、运行实验程序并观察结果。 CODE SEGMENT ASSUME CS: CODE START: JMP START0 PA EQU 0FF28H PB EQU 0FF29H PC EQU 0FF2AH CTL EQU 0FF2BH START0: xor ax,ax mov es,ax cld mov di, 002ch mov ax, offset int_2 stosw mov ax, seg int_2 stosw mov al,13h mov dx,0ff80h out dx,al mov al,08h mov dx,0ff81h out dx,al mov al,01h out dx,al mov al, 0f7h out dx,al mov al,80h mov dx,0ff2bh out dx,al mov al,0ffh mov dx,0ff28h out dx,al mov bl,0 sti jmp $ int_2: push ax sti inc bl mov al,bl not al mov dx,0ff28h out dx,al mov al,20h mov dx, 0ff80h out dx,al pop ax iret CODE ENDS END START 七、思考题 1、改为AEOI方式,如何编程。 2、每按一次键LED左移一位,如何编程。

单片机实验――利用中断控制LED灯(精)

单片机实验——利用中断控制LED灯 1.实验目的 (1掌握单片机中断的基本原理。 (2掌握单片机中断程序的编制方法。 2.预习要点 (1单片机中断基本原理 (2中断程序编制方法 3.实验设备 计算机、单片机实验箱、信号发生器。 4.实验内容 基本要求: 将信号发生器输出的脉冲信号连接到CPU的INT0上,将CPU的P1.0到P1.7和八个LED连接,脉冲信号为5V、100Hz,每输入一百个脉冲LED灯亮一次,并且LED灯顺序循环移位一次,形成跑马灯。 扩展要求: 提高输入脉冲频率,但跑马灯的显示频率不变。 实验4 ORG 0000H AJMP MAIN

;****************************************** ;中断子程序入口地址 ORG 0003H LJMP EXINT0 ;****************************************** ;主程序 ORG 0030H MAIN:MOV SP,#70H SETB IT0 ;设置为下降沿触发 SETB EX0 ;开INT0的中断开关 SETB EA ;开总中断开关 MOV R0,#01H ;只让一盏灯亮,R0赋给P1口 MOV R3,#00H ;R3用来记中断次数 MOV A,R0 MOV P1,A HERE:SJMP HERE ;死循环,还有另外一种形式是SJMP $ ;****************************************** ;外中断0服务程序 EXINT0:INC R3 ;每来一次中断R3自加1

CJNE R3,#100,NEXT ;当来了100次中断之后,R3清零,然后P1口的MOV R3,#00H ;数左移一位,也就是让下一个LED亮 MOV A,R0 RL A MOV P1,A MOV R0,A ;保存左移之后的结果 NEXT:RETI ;****************************************** END 实验4扩展 ORG 0000H AJMP MAIN ;****************************************** ;中断入口地址 ORG 0003H LJMP EXINT0 ;****************************************** ;主程序 ORG 0030H

实验五 8259A中断控制器实验

南昌大学实验报告 学生姓名:林海金学号:6100210178 专业班级:卓越通信101班 实验类型:验证□综合□设计□创新实验日期:2012-5-22 实验成绩: 一、实验项目名称 实验五8259A中断控制器实验 二、实验目的 (1)了解8259A中断控制器的工作原理。 (2)了解PC机中断的原理和过程。 (3)学会中断程序的编写。 三、实验要求 编写中断程序,在请求8259A1时,能够响应8259A的硬件中断,并在数码管上显示“IRQ0…”字样,中断结束时,显示“E…IRQ”。 四、实验仪器及连线方式 1)实验仪器:AEDK-T598D实验系统。 2)连线方式:INT0连接至+PULSE;8259A的片选接至试验箱的200H;8279的片选接至210H~217H。 五、实验说明 以中断0为例,先加载主中断程序,然后再加载中断程序IRQ0程序,然后打开对话窗口,输入“SW 0:0020,<回车>0000,””8200<回车>”,在执行“G8100:0<回车>Y”即可。

六、实验参考程序 INT00 EQU 200H INT01 EQU 201H Z8279 EQU 239H D8279 EQU 238H LEDMODE EQU 00H SCANFRQ EQU 38H DATA SEGMENT DATA ENDS STACK SEGMENT STA DW 50 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: CLI MOV AL,13H MOV DX,INT00 OUT DX,AL NOP NOP MOV AL,8 MOV DX,INT01 OUT DX,AL MOV CX,0FFFH L00: LOOP L00 MOV AL,3 MOV DX,INT01 OUT DX,AL MOV CX,0FFFH MOV CX,0FFFH L01: LOOP L01 NOP NOP MOV DX,Z8279 MOV AL,LEDMODE OUT DX,AL MOV AL,SCANFRQ OUT DX,AL MOV DX,INT01 MOV AL,00H OUT DX,AL MOV CX,0FFFH L02: LOOP L02 MOV DX,INT00 MOV AL,20H OUT DX,AL MOV CX,0FFFH L03: LOOP L03 MOV DX,Z8279 MOV AL,90H OUT DX,AL MOV AL,0D0H OUT DX,AL MOV CX,0FFFFH L2: LOOP L2

相关文档
相关文档 最新文档