文档视界 最新最全的文档下载
当前位置:文档视界 › 课件_第01章(硬件结构)第3讲(1.5 并行IO口)

课件_第01章(硬件结构)第3讲(1.5 并行IO口)

1

1.5.1 单片机并行I/O 口的作用单片机芯片上的并行输入输出口有4个,P0,P1,P2和P3。它们的作用与单片机是否扩展有较大关系。

1.5 MCS-51单片机的并行I/O 口

P0.0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

P3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

20

21

2

1.8051/8751不进行存储器和I/O 口扩展时:P0:I/O 口;P1:I/O 口;P2:I/O 口;

P3:I/O 口,也可以作为第二功能使用;当P3口某些引脚作为第二功能使用时,不可再作为I/O 口线使用。如P3.0和P3.1作为RXD 和TXD 时,不可再作为I/O 口线使用。

1.5 MCS-51单片机的并行I/O 口

3

P3口的第二功能

4

2.8031及8051/8751进行存储器和I/O 口扩展时:P0:低八位地址总线/数据总线(分时复用)

P2:高八位地址总线,用于访问外部ROM 、外部RAM 和外部I/O 口P1:I/O 口

P3:I/O 口或第二功能,当P3口某些引脚作为第二功能使用时,不可再作为I/O 口线使用。

1.5 MCS-51单片机的并行I/O 口

单片机在系统扩展时的三总线结构

5

6

1.5.2 单片机并行I/O 口的工作原理

1

读引脚三态缓冲器

场、1.5 MCS-51单片机的并行I/O 口

1.P0口(80H ,80H-87H ):双向I/O (内置场效应管上拉)访问外部程序存储器时分时作为低8位地址输出和双向8位数据复用口;不接外部程序存储器时可作为8位双向I/O 口使用,此时,引脚应接外部上拉电阻。

7

读引脚=0

内部总线时,此脚作输出口(外接

上拉电阻)

(1)P0.0-P0.7作为输出口,引脚应外接上拉电阻。

1.5 MCS-51单片机的并行I/O 口

8

读引脚=1

写锁存器

内部总线时,此脚作输入口(事先必

须对锁存器写入“1”)

(2)P0.0-P0.7做输入口,事先必须对锁存器写入1,然后再读引脚的状态。

1.5 MCS-51单片机的并行I/O 口

9

读引脚=0

写锁存器

内部总线(1)输出地址/数据=0 时

(3)P0.0-P0.7作为双向8位数据口和输出低8位地址复用口(输出0)

1.5 MCS-51单片机的并行I/O 口

10

(4)P0.0-P0.7作为双向8位数据口和输出低8位地址复用口(输出1)

读引脚=0

写锁存器

内部总线(2)输出地址/数据=1 时

Vcc

1.5 MCS-51单片机的并行I/O 口

11

读引脚=0

写锁存器

内部总线1.5 MCS-51单片机的并行I/O 口

2.P1口(90H ,90H-97H ):准双向I/O 口(内置了上拉电阻)

P1口某位逻辑结构

12

读引脚=0

写锁存器

内部总线Vcc

(1)P1.0-P1.7作为输出口(输出0)

1.5 MCS-51单片机的并行I/O 口

13

(2)P1.0-P1.7作为输出口(输出1)

读引脚=0

写锁存器

内部总线1.5 MCS-51单片机的并行I/O 口

14

读引脚=1

写锁存器

内部总线当作为输入数据时,要先向锁存器写入“1”

(3)P1.0-P1.7作为输入口

1.5 MCS-51单片机的并行I/O 口

15

3. P2口(A0H ,A0H-A7H )准双向I/O (内置了上拉电阻)接外部程序存储器时输出高8位地址;

不接外部程序存储器时可作为8位准双向I/O 口使用。

读引脚

写锁存器

内部总线1.5 MCS-51单片机的并行I/O 口

P2口某位逻辑结构

16

读引脚=0

控制=1时,此脚作高8位地址A8—A15输出口:输出=0

(1)P2.0-P2.7作为高八位地址总线(输出地址)

1.5 MCS-51单片机的并行I/O 口

17

(2)P2.0—P2.7作为8位准双向I/O 口使用(输出)

读引脚=1

写锁存器

内部总线1.5 MCS-51单片机的并行I/O 口

18

读引脚=1

写锁存器

内部总线“1”,此脚作通用输入口

(3)P2.0—P2.7作为8位准双向I/O 口使用(输入)

1.5 MCS-51单片机的并行I/O 口

19

4. P3口(B0H ,B0H-B7H ):双功能口(内置上拉电阻)具有特定的第二功能。

在不使用它的第二功能时它就是普通的通用准双向I/O 口。

读引脚

内部总线第二输入功能

1.5 MCS-51单片机的并行I/O 口

P3口某位逻辑结构

20

(1)P3.0-P3.7作为通用I/O 口(输出)

写锁存器

内部总线P3.X

Vcc

第二功能输入

输出=1的操作

第二功能输出1.5 MCS-51单片机的并行I/O 口

《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所示,

微机接口实验报告-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内部结构和引脚图

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: 中断屏蔽操作寄存器,可屏蔽相应的中断信号。

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

实验一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 ?

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:

中断控制器实验

实验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左移一位,如何编程。

实验六 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

8259中断控制 实验报告材料

深圳大学实验报告课程名称:微机原理与接口技术 实验项目名称:8259中断控制实验 学院:信息工程学院 专业:电子信息工程 指导教师: 报告人:学号:201019 班级:电子 实验时间:2012.5.18 实验报告提交时间:2012.6.9

教务处制

ASSUME CS:CODE START: PUSH DS MOV AX, 0000H MOV DS, AX MOV AX, OFFSET MIR7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址放在0000:003c-0000:003f MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH MOV [SI], AX ;填IRQ7的段地址矢量 CLI POP DS ;初始化主片8259 MOV AL, 11H OUT 20H, AL ;A0=0,ICW1为00010001B,边沿触发,需要ICW4 MOV AL, 08H OUT 21H, AL ;A0=1,ICW2为00001000B,保持低三位为0 MOV AL, 04H OUT 21H, AL ;A0=1,ICW1中SNGL=1,ICW3中D2=1,表示接端口接从属8259 MOV AL, 01H OUT 21H, AL ;ICW4,一般嵌套,8086模式,非自动EOI方式,非缓冲方式 MOV AL, 6FH ;A0=1,寻址OCW1,01101111B,M=0时清除屏蔽状态 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 实验结果如图所示,能够正确执行设定功能. 实验程序分析:一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序

8259中断实验详解

浙江工业大学计算机学院 实验报告 实验名称 8259A中断实验 姓名李晓峰 学号 201326811208 班级物联网1301 教师雷艳静 日期 12.18

一、实验内容与要求 1.1 实验内容 利用8259A芯片,实现中断响应程序。要求根据单脉冲按键,输出相应的语句:THIS IS THE xxx INTERRUPT! 。到达中断次数后,屏幕上显示PROGRAM TERMINATED NORMALLY! 1.2 实验要求 (1)第一次按键,输出THIS IS THE 1 st INTERRUPT!; (2)第二次按键,输出THIS IS THE 2 nd INTERRUPT!; (3)第十一次按键(特殊),输出THIS IS THE 11 st INTERRUPT!; (4)以此法继续,直至计数值为零,输出PROGRAM TERMINATED NORMALLY! 二、实验原理与硬件连线 2.1 实验原理 PC用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级别判别等处理后向CPU发出可屏蔽中断请求。IBM PC、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线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级联,对外可以提供16个中断源。 中断源中断类型号中断功能 IRQ8 070H 实时时钟 IRQ9 071H 用户中断 IRQ10 072H 保留 IRQ11 073H 保留 IRQ12 074H 保留 IRQ13 075H 协处理器 IRQ14 076H 硬盘 IRQ15 077H 保留 TPC-USB实验板上,将中断源固定到3号中断IRQ3上,即进行中断实验时,所用中断型号为0BH。 2.2 硬件连线 将TPC-USB实验板上的IQR与8251芯片的IRQ3引脚相连接。 三、设计思路、步骤和程序流程图 3.1 设计思路 要输出“THIS IS THE xxx INTERRUPT!”,必须将字符串分解为3部分,中间部分必须独立输出。后缀分为“th”,“st”,“nd”,“rd”,必须经过判断后进行匹配。 设置中断向量表,并开放IRQ3的中断屏蔽,同时,将DS指向数据段,便于信息的输出。设置中断次数,便于测试。首先,输出中断信息前缀。对于个位数,与1比较.若为1,输出个位数字和对应后缀“st”。若大于1,跳转判断是否等于2。若等于2,输出数字与后缀“nd”。同理,对于4~9可以直接输出数字和后缀“th”。 若数据为二位数,则要先判断个位数。而10~19,数字后缀均为“th”,无需判断(特殊情况)。判断中断计数器的值,为0时屏蔽IRQ3中断,并关中断,结束程序。否则,中断返回,等待硬中断。

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中断控制实验报告

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格式

微机原理实验8259A中断实验

微机原理实验8259A中断实验 一,实验目标 对8259进行编程设计,每当有IR0中断即执行一次特定程序,将发光二极管点亮二,实验连线 8259:CS59连地址译码器的210~217H IR0接有“脉冲源”区的09 8255:CS55接地址译码区的200H~207H PA0~PA7连发光二极管的L0~L7 三:8259初始化要求 边缘触发方式 中断类型号:08H 普通全嵌套,非缓冲方式 非自动中断结束 四:实验程序填空 CODE SEGMENT ASSUME CS:CODE START:MOV AL,13H;8259初始化设置 MOV DX,210H OUT DX,AL MOV DX,211H MOV AL,08H OUT DX,AL MOV AL,01H OUT DX,AL XOR AX,AX;写中断向量(直接装入法) MOV DS,AX LEA AX,INT0 MOV DS:[0020H],AX MOV AX,CS MOV DS:[0020H+2],AX MOV DX,211H;开放IR0中断 IN AL,DX AND AL,0FEH OUT DX,AL MOV DX,203H;对8259初始化 MOV AL,80H OUT DX,AL MOV BL,1;8259输出01H MOV AL,BL MOV DX,200H OUT DX,AL STI;开中断 REPEAT: HLT

JMP REPEAT INT0 PROC NEAR ROL BL,1 MOV AL,BL MOV DX,200H OUT DX,AL MOV DX,210H;发EOI结束本次中断,中断返回MOV AL,20H OUT DX,AL IRET INT0 ENDP CODE ENDS END START 注意:1,文件必须保存在C:\HK88TET 2.8259地址为210H,211H

8259A中断实验报告

实验十一8259A中断实验 一、实验目的 1、学习8086/8088与8259A的连接与控制方法,掌握其工作原理。 2、完成程序设计题,学会编写中断服务程序。 二、实验原理 8259A是一种可编程序中断控制器,与8088/86微机兼容,能处理8级向量优先权中断,亦可以通过级联构成64级向量优先权中断系统。具有可编程控制中断方式,并能分别屏蔽各个中断请求。通过4个初始化命令字(ICW1——ICW4)及3个操作命令字(OCW1——OCW3)使用8259A可编程序中断控制器。 三、实验内容 用8066/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数,并将计数结果用8255的PA口输出到LED显示。 四、实验方法与步骤 (1)根据要求编写程序 modeequ 82h pa8255equ 8000h ctl8255equ 8003h icw1equ 00010011b icw2equ 00100000b icw4equ 00000001b ocw1equ 11111110b cs8259aequ 09000h cs8259bequ 09001h data segment cntdb 0 data ends code segment assumecs:code,ds:data ienterproc near push ax push dx mov dx,pa8255 inccnt mov al ,cnt outdx,al mov dx,cs9259a mov al,20h outdx,al pop dx pop ax iret ienterendp iinitproc near mov dx ,cs8259a mov al ,icw1 out dx ,al mov dx, cs8259b mov al,icw2 outdx,al mov al,icw4 outdx,al mov al,ocw1 outdx,al

中断控制实验报告

实验六8259中断控制 、实验目的 1. 学习8086/8088 CPU 中断系统的知识。 2. 学习8259中断控制器的使用。 实验内容 1. 编写程序,使 8255的A 口控制LED 灯。CPU 执行主程序时四个绿灯亮。用脉冲信号 作为8259的IR3的输入信号,向 CPU 请求中断。CPU 在中断服务程序中熄灭绿灯, 并使4个红灯亮。中断服务程序结束,又返回主程序,再使绿灯亮。 2. 编写程序,使 8255的A 口控制LED 灯。CPU 执行主程序时四个绿灯亮。用脉冲信号 作为8259的IR3的输入信号,向CPU 请求中断。CPU 在中断服务程序中每中断一次, 使4个红色LED 灯中每次只亮一个灯, 并随每一次中断逐次移动一个灯的位置, 中断服 务程序结束,又返回主程序,再使绿灯亮。 三、实验区域电路连接图 8259 (1) 8259 的 INT 连8088的 INTR (XI5); (2) 8259 的 INTA 连8088的 INTA (XI2); (3) “插孔和8259的3号中断IR3插孔相连;(单脉冲与时钟单元 ); (4) 8259 的 CS 端接 EX1 (60H ); (5) 连 JXA JX17。 (6) IOWR T IOWR ; (7) IORD^ IORD; 01^34567 DQ M 葩仍D4D5M IJT ISO 舉琵摆 A RIFT I [ 一打- M /E 巴. 0 12 HCHCHC it-

(8) AO T A0;(9)PA0…PAIL2,L6, L1O, L14;PA4…PAh L3,L7,L 11,L15 四、程序框图 1. 2.

8259A 硬件中断实验

8259A 硬件中断实验 一、实验目的 1.掌握 8088 中断系统原理。 2.掌握 8259A 扩展 8088 系统中断的方法及编程。 二、实验内容 根据系统提供的电路,掌握 8259 的工作原理,编程实现外部脉冲使 8259 产生中断。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验说明和电路原理图 (1) 8259A 芯片介绍 8259A 是专用控制中断优先级而设计的集成电路,可对中断源的优先级排队、识别、及提供中断矢量。单块 8259A 可编程实现 8 级中断管理,并可选择优先模式及中断请求方式。另外由多片 8259A 级联,可构成多达 64 级的矢量中断系统。 本实验用 2 号中断源 IR2,接单次脉冲,中断方式为边沿触发方式。 程序每按一次按键产生一次中断,中断服务程序使输出状态反转一次。 本实验需要用到 CPU 模块(F3 区)、8259 模块(C5 区)、八位逻辑电平输出模块(E4)、 八位逻辑电平显示模块(B5)。8259 电路原理图参见图 11-1。

五、实验步骤 1)系统各跳线器处在初始设置状态。 用导线连接单次脉冲低信号到 8259 模块的 INT_2; 用导线连接 8259 模块的 CS_8259 到 CPU 模块的 200H; 用导线对应连接 8259 模块的 INT、INTA 到 CPU 模块的 88INTR、88/INTA; 扩展输出模块的 JD1C 接 8 位 LED 显示的 JD4B; 用导线连接扩展输出模块的 CS_273 到 CPU 模块的 208H。 2)启动 PC 机,打开 THGMW-88 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 六、实验结果 手动按单次脉冲,按一次产生一次中断,LED 显示状态反转一次。 七、实验总结 通过这次实验初步了解了TPC-USB平台的各个接口和各个芯片分布和其部分功能,更深入了解了8259A中断控制器的工作原理和PC中断的原理和过程。更熟悉了8259A的编程, 通过这次实验回顾了汇编编程的基础知识,也更熟悉了8259A芯片的编程。

《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所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2

微机原理8259A中断控制器实验

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称微机原理与接口技术 项目名称 8259A中断控制器实验 班级 学号 姓名 同组人员无 实验日期 2016/12/17

一、实验目的与要求: (简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。) 1、了解8259A的内部结构,工作原理; 2、了解8259A和8088的接口逻辑; 3、熟悉8259A的控制寄存器和初始化编程方法,了解8088是如何响应中断,退出中断的。 二、实验内容 (根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他) 内容:1、编制程序,拨动单脉冲开关,脉冲信号送给8259A的IR0,触发中断,8088计数中断次数,显示在G5区的数码管上。 原理: 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内部寄存器的读出命令。 ICW1格式

汇编实验之8259中断实验

计算机原理实验室实验报告 课程名称: 姓名学号班级成绩 设备名称及软件环境 实验名称8259中断实验实验日期 一.实验内容 用8259A的输出作为中断请求信号使8259A产生中断,进入中断后 显示一个字符串. 1.中断请求通过PC/XT62芯总线的IRQ2端输入,中断源可以是 片外8253定时器输出的脉冲,也可以是其它脉冲,也可以是其它脉冲.现用8253做中断源,参看实验21连接8253的线路,并把8253的OUTO和总线槽IR02连接好. 2.编写程序,要求每次主机响应外部中断IRQ2时,显示字符串 “THIS IS A 8259A INTERRUPT!”(或其它串),中断十次后,程序退出。 二.理论分析或算法分析 1.本实验使用PC/XT机内的8259A芯片,主机启动实际时已奖8259A 中断寄存器前五位初始化为00001,因此,IRQ2的中断号应为 0AH。 2.主机吧IRQ2保留给用户使用,而其他外中断已由系统时钟,键盘等占用,因此,编程时要注意系统中已使用的中断请求号。只须将IMR寄存器中对应IRQ2的位清零,允许IRQ2中断即可。 3.机内8259A初始化为普通结束方式,因此,外中断结束时,必须使用中断结束命令清除中断服务寄存器ISR中的对应位。 4.程序退出时,关闭IRQ2中断,即给IMR中相应位置1,禁止中断。 5.PC 机系统中8259A地址:偶地址 20h 奇地址 21h 6. PC机系统中IRQ2硬中断为用户保留的。编程时首先应将IRQ2对应的中断向量(中断号为0ah)保存起来,然后设置新的中断向量以指向中断处理程序。另外,还要将中断屏蔽寄存器的相应位开放。典型的程序段如下: MOV AH, 35H MOV AL, OAH ;取0AH号中向量送ES: BX INT 21H PUSH ES ;保存原中断向量 PUSH BX PUSH DX MOV DX ,SEG ADINT MOV DS ,DX MOV DX ,OFFSET ADINT ;设置新的中断向量 MOV AH ,25H MOV AL ,0AH INT 21H POP DS

8259外部中断实验

河 北 科 技 大 学 实 验 报 告 11 级 专业 软件 班L112 学号11L0352037 14年4月29日 姓 名 李国栋 同组人 指导教师 陈义峰 实验名称 实验三十五 8259外部中断实验 成 绩 实验类型 设计型 批阅教师 实验三十五 8259外部中断实验 一、实验要求 用8088/86控制8259可编程中断控制,实现对外部中断的响应和处理,要求程序中对每次中断进行计数,并将计数结果用8255的PA 口输出到LED 。 二、实验目的 1、学习8088/86与8259可编程中断控制的连接方法。 2、学习8088/86对8259可编程中断控制的控制方法。 三、实验电路及连线 单脉冲 连线 连接孔1 连接孔2 1 右8259_CS CS1 2 右8259的IR0 单脉冲 3 右8259的INT 8088的INTR (在CPU 板左侧) 4 8255_CS CS0 5 PA0 L0 6 PA1 L1 7 PA2 L2 8 PA3 L3 9 PA4 L4 10 PA5 L5 11 PA6 L6 12 PA7 L7

四、实验说明 8088/86需要外接中断控制器才能对外部中断进行处理。在编程时应注意: 1. 正确地设置可编程中断控制和工作方式。 2. 必须正确地设置中断服务程序地址。 8259可外接8个中断源,本实验只响应INT0中断,8259也可以多级连接以响应多个中断源。将单脉冲信号接到8259的INT脚,每次中断时,会看到LED的显示加1。 五、实验参考程序、框图 mode equ 82h ; 8255 工作方式 PA8255 equ 8000h ; 8255 PA口输出地址 CTL8255 equ 8003h ICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4 ICW2 equ 00100000b ; 中断号为20H ICW4 equ 00000001b ; 工作在8086/88 方式 OCW1 equ 11111110b ; 只响应INT0 中断 CS8259A equ 09000h ; 8259地址 CS8259B equ 09001h data segment CNT db 0 data ends code segment assume cs:code, ds: data IEnter proc near push ax push dx mov dx, PA8255 inc CNT mov al, CNT out dx, al ; 输出计数值 mov dx, CS8259A mov al, 20h ; 中断服务程序结束指令 out dx, al pop dx pop ax iret IEnter endp IInit proc mov dx, CS8259A mov al, ICW1 out dx, al mov dx, CS8259B mov al, ICW2 out dx, al mov al, ICW4 out dx, al

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