微机原理第七章
《微机原理及接口技术》第七章
![《微机原理及接口技术》第七章](https://img.taocdn.com/s3/m/4e1293030912a216147929b1.png)
数。计数过程中,新装入值不影响原计数过程。计数为偶数,计数器减2,到
0,OUT改变,计数值重新装入,反复工作。为奇数,则第一次减1,以后减2。
10/20
一、8253的工作方式5
1、000:方式 0(计数结束产生中断)
第七章、可编程计数/定时控制器8253
本章要点:
计数器/定时器基本概念 可编程计数器/定时器8253的工作原理 可编程计数器/定时器8253结构、功能 可编程计数器/定时器8253的应用
2/20
7.1 可编程计数/定时控制器8253的结构
一、可编程计数/定时控制器
在微机应用系统中,常常要求有一些实时时钟,以实现对外部事件进行定时或 对微机外部输入的脉冲进行计数。一般有3种方法可实现定时/计数的要求。
按照CPU发来的读写信号及地址信号产生相应的控制信号,
来选择读/写操作的端口、控制数据的传送方向,以及对控制寄存器的写入。
3、控制字寄存器: 控制字寄存器是8位的,只能写不能读。
在初始化编程时,CPU写入方式控制字到控制字寄存器中,
用以选择计数通道及其相应的工作方式。
4、计数器0、计数器1、计数器2: 内部结构相同、功能相同,有各自独立的端口地址。
1、软件方法 通过编制一个延时程序段让微处理器执行,利用执行程序所需时钟状态,得到定 时的时间。这种方法通用性和灵活性好,但占用CPU时间。 2、不可编程的硬件方法 采用分频器、单稳电路或简易定时电路控制定时时间,例如555定时电路,这种 方法不占用CPU时间,但通用性、灵活性差。 3、可编程计数器/定时器方法 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,可由软件 设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。
微机原理第七章
![微机原理第七章](https://img.taocdn.com/s3/m/b5ebd347804d2b160b4ec0d9.png)
常量作用:
(1)指令语句中源操作数中作立即数。 例: MOV AX, 0A5F1H (2) 在指令语句的基址加变址的寻址方式中作位移量。例: MOV BX, [SI+32H] (3)在数据定义伪指令中。例:DB 12H
2. 数值表达式 /、MOD)、逻辑 由常量和算术(+、-、 (AND、OR、XOR、NOT)和关系(EQ、 NE、LT、GT、LE、GE)3类运算符组成的 表达式称为数值表达式。
(1) CS: MOV AX,[SI]
若 CS = 3000 H,SI = 4000 H,
34000 H 1A H 34001 H 20 H
EA=4000H,物理地址=34000H,
执行结果: AX=201A H
(2)MOV
BX,[DI]
若 DS = 5000 H,DI = 0200 H
执行结果:BX
7.1.3 变量
1.变量和地址表达式
变量是代表存放在某些存储单元的数据,这些数据在程序 运行期间随时可以修改。为了便于对变量的访问,它常常 以变量名的形式出现在程序中。
变量名:可认为是存放数据的存储单元的符号地址,即变 量名是数据的地址或数据区的首地址。 涉及到: 段地址、偏移地址
地址表达式:由变量、标号、寄存器、常量和运算符组成 的表达式。
EA=变量[基址寄存器+变址寄存器 或者EA=[基址寄存器+变址寄存器
7.1.2 标号
标号是指令地址的符号表示,也可以是过程名。过 程名是入口地址的符号表示,即过程的第一条指 令的地址。
标号定义方式: (1)用冒号‚:‛定义,直接写在指令助记符前。 CYCLE: MOV AL,[SI] (2) 用PROC和ENDP伪指令定义过程
微机原理第七章
![微机原理第七章](https://img.taocdn.com/s3/m/d4fd65c0050876323112125d.png)
(b)STRING2 DW (a)STRING1 DB „ABC‟ 图7-3
„AB‟,‘CD‟ (c) STRING3 DD AB‟
DB、DW、DD中的字符串表达式的存放情况
④带DUP表达式:DUP定义重复数据操作符。格式为: DB 变量名 DW 表达式1 DUP (表达式2) DD 表达式1是重复次数,表达式2是重复内容。例: DB1 DB 20 DUP(?)
7.1.1 伪指令语句格式 伪指令格式如图7-2所示。
, 标号
伪指令
伪指令语句 分4个字段:
;注释
操作数
图7-2 伪指令语句格式
1、标号
2、伪指令: 3、操作数字段 4、注释字段
7.1 宏汇编语言的基本语法
, 标号
伪指令
操作数
;注释
1、标号:内存单元的符号地址。 2、伪指令:关键字,指示汇编程序,对后 面的指令语句和伪指令的操作数应如何产 生目标代码,伪指令本身不产生机器代码。 例分析下面二条伪指: W DB 16H,18H; 数据在存储 SUM DW 16H,18H; 器存放位置
高级语言
机器语言 汇编语言 高级语言
汇编程序
• 汇编语言源程序
用助记符编写
汇编语言 源程序
汇编
目的程序
汇编程序
汇编语言程序设计与执行过程
输入汇编语言源程序
汇编(编译)
源文件 .ASM
目标文件 .OBJ
链接
调试
可执行文件 .EXE
最终程序
第七章
微型计算机汇编语言及汇编程序
目标程序 90H 04H 03H 05H 00H 03H 汇编语言又称符 号语言。汇编语 言与机器语言一 一对应。
次数 重复 内容
微机原理第7章 8086中断系统和中断控制器
![微机原理第7章 8086中断系统和中断控制器](https://img.taocdn.com/s3/m/5918508c8762caaedd33d49e.png)
3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。
微机原理课件第七章
![微机原理课件第七章](https://img.taocdn.com/s3/m/7fcc61ea998fcc22bcd10deb.png)
2)内部中断(软件中断)
(1)单步中断-----------中断类型号是1 (2)除法出错中断-------中断类型号是0 (3)断点中断-----------中断类型号是3 (4)溢出中断-----------中断类型号是4
(5)指令中断-----------中断类型号是n
内部中断的特点:
① 内部中断的类型号都是固定的,或是在中断指令中给定的。 不需要进入INTA总线周期获取类型号; ② 不受中断允许标志位IF的影响; ③ 用一条指令或由某个标志位启动进入中断处理程序,这样
查中断向量表得中断向量为:
A123H:B678H 中断服务程序入口的物理地址为: AC8A8H
01H 78H
B6H 23H A1H ┋
0089H
008AH 008BH ┋
图7.11
部分中断向量表
例2
解:
某中断源的类型号为54H,中断服务程序入口的符号地址为
MOV MOV AX,0 DS,AX
INTADD,试编一段程序设置该中断类型号的中断向量。
256种中断可分为两大类:外部中断和内部中断。
8086 INT 3 指令 INT n 指令 CPU INT O 指令 除法 出错 单步 中断 NMI 非屏蔽 中断请求
中 断
处
理
逻
辑
INTR 8259A 可屏蔽中断请求
图7.8
8086系统的中断源
1、中断源的类型
1)外部中断(硬件中断) 分为非屏蔽中断和可屏蔽中断两种。 (1)非屏蔽中断 (2)可屏蔽中断
IR1 中断清除
IR4处理程序 IR3中断请求 IR3处理程序 开中断 STI STI 。 。 。 。 。 。 IR3 IR4 (EOI) (EOI) 中断清除 中断清除 IRET IRET
微机原理与接口技术_第7章8253
![微机原理与接口技术_第7章8253](https://img.taocdn.com/s3/m/53cab9ebf90f76c661371a32.png)
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表
微机原理 第七章中断控制器
![微机原理 第七章中断控制器](https://img.taocdn.com/s3/m/dae83907844769eae009ed42.png)
CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT
微机原理第7章ppt
![微机原理第7章ppt](https://img.taocdn.com/s3/m/fc1d372f4b73f242336c5f62.png)
DMA方式
利用专用的接口电路直接在内存与外设端口之间直 接进行数据块传送,而不经过CPU中转的一种数据 传送方式。
特点:
无需CPU参与,无需软件介入,传送速度快,在 整个数据传输过程中都是由DMA控制器来控制 管理。
7.3
DMA控制器8237A
wws1996@
一、课前思考
1、8237A由哪几部分组成?
权,用DMA方式实现外部设备和存储器之间的
数据高速传输。
将DMA控制器中和某个接口有联系的部分
为一个通道。而一个DMA控制器一般由几个通
道组成。
wws1996@
7.3.1 8237A的主要功能
• 数据总线缓冲器
• 读写逻辑电路 • 工作方式寄存器 • 状态寄存器 • 优先选择逻辑 • 4个DMA通道
2、如何设置8237A的控制字?
3、8237A有哪些工作方式?各有何特点?
4、如何对8237A进行初始化编程?
二、学习目标
1、了解8237A的内部结构和引脚功能; 2、熟练掌握8237A控制字的设置; 3、熟练掌握8237A的工作方式及编程和应用。
wws1996@
三、难重点 1、8237A的内部结构及功能; 2、8237A的控制字的设置及其工作方式; 3、8237A的编程及应用。 四、主要知识点 1、8237A的控制字设置; 2、8237A的工作方式; 3、8237A的初始化及应用。
第7章 2、查询式输出 CPU通过执行程 序不断地读取并 测试外设的状态, 如果外设处于空 Y(忙) BUSY=1? N 输出数据 输入状态信息
闲状态,则CPU
执行输出指令,
否则就等待。
查询式输出程序流程图
第7章
DATA_PORT
微机原理第7章习题与答案
![微机原理第7章习题与答案](https://img.taocdn.com/s3/m/146f508889eb172ded63b790.png)
习题一、选择题1.在程序控制传送方式中,_______可提高系统的工作效率。
A. 无条件传送B. 查询传送C. 中断传送D.以上均可答案:C2.在8086的中断中,只有______需要硬件提供中断类型码。
A.外部中断B.可屏蔽中断C.不可屏蔽中断D.内部中断答案:B3.在中断响应周期,CPU从数据总线上获取______。
A.中断向量的偏移地址B.中断向量C.中断向量的段地址D.中断类型码答案:D4.执行INT n指令或响应中断时,CPU保护现场的次序是______。
寄存器(FR)先入栈,其次是CS,最后是IP在先,其次是IP,最后FR入栈在先,其后一次是IP,CS在先,其次是CS,最后FR答案:A5.在PC/XT中,NMI中断的中断向量在中断向量表中的位置_______。
A.是由程序指定的B.是由DOS自动分配的C.固定在0008H开始的4个字节中D.固定在中断向量表的表首答案:C6.中断调用时,功能调用号码应该_______。
A.写在中断指令中B.在执行中断指令前赋给AHC. 在执行中断指令前赋给AXD. 在执行中断指令前赋给DL答案:B7.若8259A的ICW2设置为28H,从IR3引入的中断请求的中断类型码是_____。
A. 28H答案:B有3中EOI方式,其目的都是为了_____。
A.发出中断结束命令,使相应的ISR=1B. 发出中断结束命令,使相应的ISR=0C. 发出中断结束命令,使相应的IMR=1D. 发出中断结束命令,使相应的IMR=0答案:B特殊全嵌套方式要解决的主要问题是______。
A.屏蔽所有中断B.设置最低优先级C.开发低级中断D.响应同级中断答案:D编程时,中断屏蔽可通过______设置。
答案:B二、填空题8088的中断系统,可以处理______种不同的中断。
从产生中断的方法来分,中断可分为两大类:一类叫_____中断;一类叫______中断。
硬件中断又可分为两大类:一类叫______中断;另一类叫______中断。
微机原理与应用第七章
![微机原理与应用第七章](https://img.taocdn.com/s3/m/a6ce2fd626fff705cc170af6.png)
表达式:由操作数和运算符组成的式子
⑴算术运算符: +、-、*、/、MOD(除法取余)、SHL(左移)、 SHR(右移)
例: MOV AX,100*4+5
⑵ 逻辑运算符:AND、OR、NOT、XOR
;AX=405
按位运算
关系运算结果总是 一个数值。若关系不 成立,则结果为0,若 关系成立,则结果 为0FFFFH
⑴ 定位方式(定位类型)
书(P162)
定位类型指出了对当前段起始地址的要求,有4个选项
PAGE ——指定起始地址的低8位是0,即其值能被256整除(称页边界) PARA ——指定起始地址的低4为是0,即其值能被16整除(称段边界)
例1:
DSEG1 SEGMENT DATA_B DB 10,5,10H DATA_W DW 100H,-4 DATA_D DD 0FFFBH DSEG1 ENDS
DSEG1: DATA_B
0AH 05H 10H
10 5
10H 100H -4
DATA_W
00H 01H FCH
汇编后的内存分配情况 如右图所示。
先定义
后引用
⑴ 字节定义语句DB
格式:[名字] DB <表达式或数据项表> 功能:表达式值或项表中的每一项是一个字节数, 符号地址 它们从符号名地址开始按字节连续存放。
例:COUNT DB 100 COUNT→ DB 0DH,0AH,’$ ’ VARW DB ?,6,?,?
可以使用重复操作符DUP如: BUFFER DB 8 DUP(0)
⑺ 汇编运算符的优先级
括号 LENGTH、SIZE PTR、OFFSET、…. HIGH、LOW *、/、MOD、SHL、SHR +、例:设SSY=2050H EQ、NE、LT、LE、GT、GE MOV AL,LOW 3080H ;AL=80H NOT MOV AH,HIGH SSY ;AH=20 AND MOV CL, LOW 3A4BH ;CL=4BH OR、XOR
微机原理第七章 输入输出方法及常用接口电路
![微机原理第七章 输入输出方法及常用接口电路](https://img.taocdn.com/s3/m/579a6e0d6c175f0e7cd13731.png)
编程并行接口芯片8255A
二、 8255的内部结构
编程并行接口芯片8255A
三、8255的引脚功能
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
8251可编程通信接口
二、8251的结构和引脚特性
数据总线缓冲器
状态 缓冲器
发送数据/命 令缓冲器
接收数 据缓冲 器
RESET CLK C/D RD WR CS DTR DSR RTS CTS
读/写 控制电 路
发送器 P S
TxD
发送 控制 接收 控制 接收器 S P
TxRDY TxE TxC RxRDY SYN DET RxC RxD
输入/输出接口概述
五、 I/O接口的分类 通用接口 专用接口 串行接口 并行接口
编程并行接口芯片8255A
一、 8255A的主要特性
有3个8位并行数据I/O口PA、PB和PC口及1个8位控 制口CWR。 可编程设置方式0、方式1、方式2三种不同的工作方 式,用于无条件传送、查询传送和中断传送。 有两个控制字决定8255A的工作方式,通过编制初始 化程序,使用OUT指令从控制寄存器端口写入。有 一个状态字可供查询,使用IN指令从C端口读出。 提供兼容的TTL电平接口,原则上适用于需并行输入 输出的I/O设备。
微机原理第7章
![微机原理第7章](https://img.taocdn.com/s3/m/c675d7e0524de518964b7db4.png)
2. ISA(AT)总线 (P.171)
2. ISA(AT)总线 (P.171)
Industry standard architecture 工业标准结构
• ISA总线是16位总线, 始于286机型。 之 后在386 ~ 奔腾 机上都有ISA总线。 (实际上由8位发展到16位,甚至32位(EISA,后 来消失替代于VESA、PCI),当今的主板上都留 有插槽) ISA总线由62芯+36芯两个插槽组成
局部总线:系统总线连接局部总线、外部总线
和外部设备 与所连接的CPU和外部设备相比,系统总线 发展滞后、速度缓慢、带宽较窄,成为数据传 输瓶颈。为了打破这一瓶颈,将一些高速外设 从系统总线上卸下,通过控制和驱动电路直接 挂到CPU局部总线上,使高速外设能按CPU速 度运行。这种直接连接CPU和高速外围设备的 传输通道就是局部总线。局部总线一端与CPU 连接,另一端与高速外设和系统总线连接,好 象在系统总线和CPU总线之间又插入一级
芯片级总线:用于模块内芯片级的互连,是
该芯片与外围支撑芯片的连接总线。如连接 CPU及其周边的协处理器、总线控制器、总 线收发器等的总线称为CPU总线,连接存储 器及其支撑芯片的总线成为存储器总线。
总 线 分 类
系统总线:连接计算机内部各个模块的一
条主干线,是连接芯片级总线、局部总线 和外部总线的纽带。系统总线又称底版总 线、主板总线、扩展总线,它把微机系统 各插件板与主板连在一起。系统总线符合 某一总线标准,具有通用性,是计算机系 统模块化的基础。由于经过缓冲器驱动, 负载能力较强
ISA (AT) 总 线
(1). 数据线:SD15 ~ SD8 , SD7 ~ SD0 (2). 地址线:SA19 ~ SA0 (3). 控制线: AEN: 地址允许信号。 AEN=0, 表明CPU控制系统 3总线。 AEN=1, 表明DMAC控制系统3总线。 应用: 用AEN=0参与端口地址译码。 IOR: I/O 读命令。 IOR=0, 把选中的端口寄存器内容 →数据线。 应用: 用 IOR=0读取 I/O 端口。
微机原理-第7章 汇编语言与汇编程序5 常用DOS系统功能调用及BIOS功能调用-文档资料
![微机原理-第7章 汇编语言与汇编程序5 常用DOS系统功能调用及BIOS功能调用-文档资料](https://img.taocdn.com/s3/m/04d3c83f76c66137ee061955.png)
常用DOS系统功能调用
① ② ③ ④ ⑤ ⑥
单字符输入 ( 01H、07H、08H功能 ) 显示单字符 ( 02H、05H功能 ) 单字符输入或显示( 06H功能 ) 字符串输入 ( 0AH功能 ) 显示字符串 ( 09H功能 ) 检测键盘状态 ( 0BH功能 )
① 单字符输入 (01H、07H、08H功能)
max DB 11 DB ? DB 11 DUP(?)
SEGMENT ASSUME CS:code, DS:data MOV AX , data ;置缓冲区地址于DS:DX
ROM BASIC ROM BIOS ( a)
FFFFH
ROM BASIC ROM BIOS (b)
FFFFH
图 7.5-1 PC-DOS (a) DOS启动后 (b) 执行程序装入后
软件中断分类
DOS中断
中断类型号
20H~3FH 为用户程序和系统程序提供磁盘读写、程 序退出、系统功能调用等功能。
③ 单字符输入或显示 (06H功能)
入口参数:DL = 0FFH,表示从键盘输入字符
或 DL ≠ 0FFH,表示DL中是要显示字符的ASCII 码
功能号:
类型号:
AH = 06H
21H
出口参数:若ZF=0时,表示有键按下,将字符的ASCII码
送入寄存器AL, AL=输入字符。 若标志ZF=1时,表示无键按下,寄存器AL中不 是键入字符ASCII码, AL=0 。
② 显示单字符 (02H、05H功能)
(a)2号系统功能调用
入口参数:DL = 要显示字符的ASCII 码 功能号: AH = 02H 类型号: 21H 出口参数:无 实现功能:显示指定字符,光标右移。
微机原理及接第七章中断技术可编程中断控制器(Intel 8259A)口技术
![微机原理及接第七章中断技术可编程中断控制器(Intel 8259A)口技术](https://img.taocdn.com/s3/m/ccdefa8202d276a200292ef5.png)
A/D转换器 开关量输入 D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示 光笔 图形输入 激光打印 液晶显示 声音输入 喷墨打印 绘图仪 X-Y记录仪 扫描仪
硬盘 软盘 光盘 磁带
微机控制各类接口框图
二、 CPU 与外设之间的接口信息
1. 数据信息 (DATA) CPU与外设交换的基本信息是数据, 有三种类型: (1) 数字量 由键盘、光电输入机等输入的信息。
译 码 器 三态缓 冲器 G
A15~A0 M/ IO
INTA INTR
中断允许 触发器
工作原理:若输入设备准备好数据,且中断允许,则通 过中断请求触发器发INTR。如果IF=1,则CPU在当前指 令执行完后,进入中断响应周期,发INTA,待到中断类 型号,进入中断服务实现数据传送。
外 设 准 备 数 据
3. 控制信息 (CONTROL)
CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。
AB CPU DB CB DATA STATUS I/O 设备
1 I/O 接口 2
3 CONTROL
CPU 与外设之间的接口信息
三、接口的功能
接口用以解决CPU与外设连接时存
在的矛盾,一般有以下功能: 1. 数据缓存:匹配不同的数据传送速率。 2. 端口寻址:选择某一外设,某一端口。 3. 命令译码:解释CPU输出的命令,产生相 应的操作控制信号。
4. 同步控制:协调时序上的差异。
8.2
I/O 端口的编址方式
接口电路中能被CPU访问的寄存器或某 些特定器件称为I/O端口。I/O端口分为数据 端口、状态端口和命令端口。
AB
CPU 1 I/O 接口 2 DATA
微机原理微机原理讲义第7章课件
![微机原理微机原理讲义第7章课件](https://img.taocdn.com/s3/m/7e30d4fdbd64783e08122b63.png)
缓冲器 (1)
CS
CPU DB
数据口 42H
M / IO
42H
15
查询式输入如图,状态线占用一根数据线D0,STB是选通 信号,在输入时随着数据一起从输入端口出现,是表示输 入数据已就绪的状态信号。CPU先读状态口,若状态就绪, 再读数据口。
…… …… ……
D7
D7
锁存器
缓冲器 (2)
D0
CS D0
STB
1
D CSLETRQ
Q CLR
STROBE: 选通信号
输入缓冲器
输出设备
输入设备
12
当外设作输入设备,输入数据的保持时
间相对于CPU的处理时间长,所以可以直接
用缓冲器;
外设作为输出设备,由于外设速度比较
慢,CPU的数据必须在接口保持一段时间,
因此必须采用锁存器。
无条件传输时,输出时,必须确认输出
ห้องสมุดไป่ตู้
锁存器的原数据无效,才能正确输出;输入
时,必须认为输入缓冲器中的数据已准备好,
6) 数据缓冲功能
主机与外设速度相差很大,为了防止数据丢失,I/O接口 均设有双向数据缓冲器。
6
7) 中断管理功能
有专门的中断管理接口,能完成中断判优、中断屏蔽,向 CPU送入中断类型码等功能。
8) 错误检测功能
多数可编程芯片都能自动检测出传输过程中出现的错误。 1.传输错误,如串口中的奇偶校验 2.覆盖错误
象也不同
CS
CLK1 OUT1
A1 A0 CLK2
D7 OUT2
D0 GATE1 GATE2
2MHz
VCC
11
输入输出传送方式
1)无条件传送方式
微机原理 第七章
![微机原理 第七章](https://img.taocdn.com/s3/m/6062c84ba8956bec0975e3a0.png)
在汇编语言中
算术运算符、 逻辑运算符、 关系运算符、 分析运算符、 合成运算符、 分离运算符。
表达式分类: 数值表达式和地址表达式, 在汇编过程中分别产生一 个数值或一个地址。 注意:表达式的运算不是在执行 程序时进行的,而是由汇 编程序在汇编时预先对他 进行运算。
源程序一般格式为: NAME1 SEGMENT 语句 ⋯⋯ 语句 NAME1 ENDS NAME2 SEGMENT 语句 ⋯⋯ 语句 NAME2 ENDS ⋯⋯ END < 标号>
每一个段都有一个名字, 以段定义开始语句 SEGMENT 作为段的开始, 以段定义结束语句ENDS 作为段的结束。这两者面 前都必须有段名, 而且同 一段段定义开始和段定义 结束处的段名必须相同, 互相对应。 由若干个段组成一个源程 序, 整个源程序以语句 END 结束。
3. 关系运算符 关系运算符是进行逻辑判定的, 关系 运算符的两个操作数, 或者是数字的, 或 者是同一个段的存储器地址。结果始终是 一个数字值。若关系为‚ 假‛时结果为 0 , 若关系为‚真‛时结果为0FFFF H。
8086 汇编语言有以下关系运算符: ①EQ(Equal) : 等于, 例如: 设已赋给符号 PP 为25(下同) , 则25 EQ PP = 0FFFFH ②NE(Not Equal) : 不等于, 例如: 25 NE PP = 0 ③LT (Less Than) : 小于, 例如: 20 LT 30 = 0FFFFH ④GT (Great Than) : 大于, 例如: 30 GT PP = 0FFFFH ⑤LE (Less Than or Equal) : 小于或等于, 例如:26 LE PP = 0 ⑥GE (Great Than or Equal) : 大于或等于, 例如: 26 GE PP = 0FFFFH
微机原理第七章
![微机原理第七章](https://img.taocdn.com/s3/m/0e1f46a1312b3169a551a4cd.png)
第七章 串并行通信及其接口
微机原理
7.1 CPU与外设之间的数据传输
7.1.1 CPU与I/O接口
(1)接口电路的作用
微型计算机系统必须有各种接口电路。接口电路按功能可分为两类:一种是 使微处理器正常工作所需要的辅助电路,如时钟信号或接收外部的多个中断请
求等;另一种是输入/输出接口电路,微处理器用以接收外部设备送来的 信息或将信息发送给外部设备。
实现并行通信的接口就是并行接口。并行接口可以设 计为只用来输出,也可以只用来输入,或既作为输入又作 为输出接口。
Intel 8255A是一个通用的可编程的并行接口芯片,它的内部
有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,
使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有
⑧错误检测功能
在接口设计中,须考虑对错误的检测问题。当前多数可编程接口芯片一般都能检 测下列两类错误:
一类是传输错误。接口采用奇/偶校验位对传输错误进行校验。有些接口对数 据块传输能进行冗余校验。
另—类是覆盖错误。当计算机输入数据时,如果计算机还没有取走数据,输 入缓冲寄存器又被覆盖新的数据,就会产生一个覆盖错误。输出时也会产生覆 盖错误。接口会在状态寄存器中设置相应的状态。
微机原理
7.2.3 8255A的引脚功能
8255A作为一个通用的I/O接口芯片,在系统中的位置位于CPU与外设
之间。它的引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外 设的信号。
微机原理
微机原理
CS RD WR
001 001 001 010 010 010 010
8255A的操作功能表
为了使CPU能适应各种各样的外设,就需要接口电路,由它完成相应的
微机原理课件ch07
![微机原理课件ch07](https://img.taocdn.com/s3/m/d9841b9ffe4733687f21aa69.png)
Q(C,D)
2021/1/10
ENDM
第21页
过程调用和宏调用的区别
在处理时间上不同。 用宏指令得到的目标代码长,占内存空间大,而
且宏调用的次数越多,所占内存空间越大;用过 程占内存空间小,而且不会随调用次数的增加而 增加,但执行时间长。 传递参数的方式不同
2021/1/10
第22页
2021/1/10
PTR运算符
格式: 类型 PTR 表达式
例12:INC WORD PTR [BX]
THIS操作符
格式: THIS 类型(或属性)
例13:FIRST
EQU THIS BYTE
SECOND
DW 100 DUP (?)
2021/1/10
第27页
第19页
子程序调用和宏调用的区别
子程序调用工作方式
主程序
X←A,y←B CALL Q
x←C,y←D CALL Q
子程序Q(x,y) 执行时调用
Q: . . .
RET
2021/1/10
第20页
子程序调用和宏调用的区别
宏调用工作方式
主程序
子程序Q(x,y)
汇编时展开
Q A,B
Q(A,B)
Q C,D Q MACRO x,y
2021/1/10
第10页
伪指令
符号定义语句
等值语句
格式:符号名 EQU 表达式
例1: ⑴ PORT
EQU
⑵ BUFF
EQU
⑶ MEM
EQU
⑷ COUNT
EQU
⑸ ABC
EQU
1234 PORT+58 DS:[BP+20H] CX AAA
等号语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
博学 审问 慎思 明辨 笃行
第7章 中断控制器
第7章 中断控制器
§ 7.1 § 7.2 § 7.3 § 7.4 § 7.5 § 7.6 8259A的引脚信号、编程结构和工作原理 8259A的工作方式 8259A的初始化命令字和初始化流程 8259A的操作命令字 8259A使用举例 多片8259A组成的主从式中断系统
8259A的引脚
总线 D0 ~ D7 IOR IOW
8259A
Vcc IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 SP/EN CA0 CA1 CA2 + 5V 18.2Hz 计时 键盘 保留 串 口2 串 口1 并口 软盘 打印机
数据线
D0 ~ D7
A0
A5 ~ A9 INTA INTR
教学重点为:
8259A的编程结构; 8259A的初始化流程; 8259A的初始化命令字与操作命令字; 8259A的实例;
第7章 中断控制器
第7章 中断控制器
7.1 8259A的引脚信号、编程结构和工作原理 7.1.1 8259A的外部信号和含义
第7章 中断控制器
8259A的编程结构
第7章 中断控制器
RD WR A0
片 选 20~3FH 译 码
CS
INTA INT
用于多片 8259A 级连情况
GND
第7章 中断控制器
7.1.2 8259A的编程结构和工作原理
8259A的编程结构
总线
第7章 中断控制器
处理部分
数据线
D0 ~ D7 INTR A0 A5 ~ A9
A0
D0 ~ D7 INT
ISR 当前 中断 服务 寄存器
第7章 中断控制器
(3)优先级自动循环方式 优先级自动循环方式一般用于多个中断源优先级相同的情况下。在这种 方式中,优先级队列是循环变化的,某一中断源得到中断服务后,优先自动 降为最低。
例如:在优先级自动循环方式中,优先级初始队列由高到低为:IR0、 IR1、IR2、……、IR6、IR7,如果此时IR2端有中断请求,并予以响应,响 应结束后,IR2的优先级自动降为最低,IR3的优先级为最高,这时,系统的 优先级队列由高到低变为:IR3、IR4、IR5、IR6、IR7、IR0、IR1、IR2。
总线
D0 ~ D7 A0
A5 ~ A9 IOR
数据线
A0
片 选 CS 译 码 RD WR INTA INT
D0 ~ D7
ISR 当前 中断 服务 寄存器
0 1 0 1 0 0 0 0 0
PR
IRR 中断 申请 寄存器
优先级 裁决器
1 0 0 1 0 1 0 0
1 0 0 0 0 0 0 0 1
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
1. 优先级设置方式 (1)固定优先级(也称全嵌套方式) 在全嵌套优先级方式中,8259A的中断优先级从IR0到IR7,即IR0优先级 最高,IR7优先级最能低。这是最常用、最基本的工作方式。 (2)特殊全嵌套方式 与固定全嵌套方式基本相同,但在特殊全嵌套方式中,当正在处理某一 级中断时,如果有同级的中断请求发生,8259A也会响应,从而开放了同级 中断请求的特殊嵌套。 这种方式主要用于8259A级联系统中,在这种系统中,主片设置为特殊 全嵌套方式,从片设置为其它优先级方式,这样,某一从片的请求正在处理 时,来自同一从片中的优先级较高的中断请求也能得到响应。
第7章 中断控制器
(3)特殊的中断结束方式
这种方式是在程序中发出一条特殊的中断结束命令,具体指出要清除 ISR中的哪一位。往往用于非全嵌套方式。 具体操作是,在程序中向8259A 的偶地址端口写一个命令字OCW2, 并使其中的EOI=1,SL=1,R=0,此时L2,L1,L0这三位指出要清除ISR 中的哪一位。 需要指出的是,在级联系统中,一般不使用中断自动结束方式,而用 非自动结束方式。而且,不管是使用普通中断结束方式,还是使用特殊的 中断处理方式,在中断服务程序结束时,都必经发出两次中断结束命令, 一次是对主片,一次是对从片。
D0 ~ D7 A0 A5 ~ A9 IOR 片 选 CS 译 码 RD WR INTA INT 数据线 A0 D0 ~ D7
ISR 当前 中断 服务 寄存器
0 0 0 0 0 0 0 0
PR
IRR 中断 请求 寄存器
优先级 裁决器
1 0 0 1 0 1 0 0
0 1 0 0 0 0 0 0 0 1
(4) 优先级特殊循环方式 优先级特殊循环方式与优先级自动循环方式相比,唯一的区别在于:前 者是优先级初始队列是程序编程来决定的,如果程序规定,IR4 优先级最低, 那么IR5优先级则最高;而后者的优先级初始队列开始是IR0优先级最高,IR7 优先级最低。
第7章 中断控制器
2. 屏蔽中断源的方式 按照中断源的屏蔽方式,8259A有以下两种工作方式: (1) 普通屏蔽方式 在8259A内部有一个8位屏蔽寄存器(OCW1),对应IR0~IR7的8个 中断请求,可由程序设置将屏蔽寄存器中的任一位或几位置1,这样与之相对 应的中断请求就被屏蔽了。 当然,要清除屏蔽,只要将屏蔽寄存器(OCW1)中的对应位复位即可。 (2) 特殊屏蔽方式 特殊屏蔽方式是当设置了特殊屏蔽方式后,对屏蔽寄存器(IMR)中的 对应位置1 ,同时使当前中断服务寄存器中的对应位自动清0,这样,不只屏 蔽了当前正在处理的这级中断,还开放优先级较低的其它中断请求。因此, 特殊屏蔽方式,总是在中断服务程序中使用。
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
ICW1 芯片控制
ICW2 中断类型号 ICW3 主从片关系
OCW1 中断屏蔽寄存器 IMR
0 0
OCW2 优先级、发EOI
IOW
INTA INTR
ICW4 方式控制
OCW3 特殊屏蔽设置
第7章 中断控制器
总线
D0 ~ D7 A0
A5 ~ A9 IOR
第7章 中断控制器
3. 中断结束处理的方式
在中断服务程序结束时,必经发出中断结束命令,使ISR中对应位复位, 否则,系统便不能正常工作。使ISR对应位复位的动作称为中断结束处理。 8259A有以下三种中断结束方式:
(1)中断自动结束方式
这种中断结束方式是最简单的方式,用于系统中只有一片8259A的情况。 在这种方式中,系统一进入中断过程,在第二个中断响应信号INTA到来时, 8259A会自动将当前中断服务寄存器ISR中的相应位复位。 (2)普通(一般)中断结束方式 该方式多用于全嵌套方式下。当CPU 向8259A发出一条EOI命令时, 8259A会把当前中断服务寄存器中的最高非零位复位。 具体操作是,只要在程序中向8259A的偶地址端口写一个操作命令字 OCW2,并使其中的EOI=1,SL=0,R=O即可。
片 选 CS 译 码
RD
0 0 0 0 0 0 0 0
0 IRR 0 中断 0 请求 0 PR 寄存器 0 0 优先级 0 0 分析器 A0 1 0 0 1 0 1 0 0 1
OCW1 中断屏蔽寄存器 IMR
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
ICW1 芯片控制 A0 1 × I3 I4 0 ICW2 中断类型号
总线 D0 ~ D7 A0 A5 ~ A9 IOR IOW INTA INTR
数据线
A0
D0 ~ D7
ISR 当前 中断 服务 寄存器
片 选 CS 译 码 RD
WR INTA
0 1 0 1 0 0 0 0 0
PR
IRR 中断 申请 寄存器
优先级 裁决器
1 0 0 1 0 1 0 0
1 0 0 0 0 0 0 0 1
中断响应周期
通过 INTA 引脚发出两个负脉冲信号, 从数据总线上获取中断类型号,
进入中断响应的过程。
8259A在接收到第一个INTA中断响应信号后:
① 将 ISR 中相应位置1, 表示 CPU 响应此级中断,执行此中断源的中断子程。
② 把 IRR中对应的位清0,清除IRR中锁存的中断申请信号。
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
ICW1 芯片控制 ICW2 中断类型号
OCW1 中断屏蔽寄存器 IMR
ICW3 主从片关系
ICW4 方式控制
0 0
OCW2 优先级、发EOI OCW3 特殊屏蔽设置
INT
第7章 中断控制器
7.2 8259A的工作方式
8259A有多种工作方式,这些工作方式由程序初始化来设置, 使用起来相当灵活。
IOW INTA INTR
② 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请 是否进入优先级裁决器 PR。 • IMR对应位为 0,允许中断申请进入优先级裁决器, • 为 1,不允许进入,中断申请被IMR屏蔽 。 IR0 ISR 0 IRR 1 数据线 IR1 当前 0 D0 中断 0 0 0 IR2 ~ 申请 0 中断 0 IR3 D7 寄存器 0 服务 0 PR A0 IR4 0 寄存器 0 IR5 优先级 0 0 IR6 片 1 裁决器 0 IR7 选 CS 译 1 0 0 1 0 1 0 0 ICW1 芯片控制 码 RD OCW1 中断屏蔽寄存器 IMR ICW2 中断类型号 WR 0 0 ICW3 主从片关系 OCW2 优先级、发EOI INTA ICW4 方式控制 OCW3 特殊屏蔽设置 INT
IOR IOW INTA
WR
ICW3 主从片连接关系
1 1
ICW4 方式控制
0 000 NhomakorabeaSP/EN
OCW2 优先级设置、发EOI 0 1
INTA