微机原理与应用自学课件 第六章
微机原理-第6章(2)

四.扩展存储器设计
Note:8086 CPU同8088 CPU一样,也有20条地址总线,其寻 8086 CPU同 CPU一样 也有20条地址总线, 一样, 20条地址总线 址能力达1MB。不同之处是8086 数据总线是16位的, 16位的 址能力达1MB。不同之处是8086 CPU 数据总线是16位的, 与8086 CPU对应的1MB存储空间可分为两个512kB(524 288 CPU对应的1MB存储空间可分为两个512kB(524 对应的 存储空间可分为两个512 B)的存储体。其中一个存储体由奇地址的存储单元(高字节) B)的存储体。其中一个存储体由奇地址的存储单元(高字节) 的存储体 奇地址的存储单元 组成,另一个存储体由偶地址的存储单元(低字节)组成。 组成,另一个存储体由偶地址的存储单元(低字节)组成。 偶地址的存储单元 前者称为奇地址的存储体,后者称为偶地址的存储体。 前者称为奇地址的存储体,后者称为偶地址的存储体。
≈
0
≈ ≈
0 0
0
0
0
0
0
0
0 1…1
作片外寻址的高位不变地址线全部 参加了译码,这种译码方法称为全 参加了译码,这种译码方法称为全 地址译码方法 方法。 地址译码方法。
片外寻址
四.扩展存储器设计
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9~A0 X 0 0 0 0 0 0 0 0 0 0…0
4KB 00000H 00FFFH
≈
●
模块1 模块
微机原理第6章PPT课件

6.2 输入/输出方式
从CPU与外设通讯的特点可知,在数据的传送过程中, 关键问题是控制交换过程。 数据传送的控制方式有: 程序控制下的数据传送——通过CPU执行程序中的I/O指令 来完成传送,分为:无条件传送、查询传送 中断控制的传送方式 直接存储器存取(DMA)——传送请求由外设向DMA控制 器(DMAC)提出,后者向CPU申请总线,最后DMAC利 用系统总线来完成外设和存储器间的数据传送 I/O处理机——CPU委托专门的I/O处理机来管理外设,完成 传送和相应的数据处理
针对某种外设设计、与该种外设接口
面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能
4. 接口电路的可编程性
许多接口电路具有多种功能和工作方式, 可以通过编程的方法选定其中一种
接口需要进行物理连接,还需要编写接口 软件
接口软件有两类:
初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,
字节输入(8位) 字输入(16位) 双字输入(32位)
(PORT)← AL (PORT+1,PORT)← AX ( PORT+3 , PORT+2 , PORT+1 , PORT ) ←EAX AL ←(DX) AX ←(DX+1,DX) EAX ←(DX+3,DX+2,DX+1,DX) (DX)← AL (DX+1,DX)← AX (DX+3,DX+2,DX+1,DX)← EAX
例1 指令 IN AL,20H 若(20H)=29H, 则指令执行后,AL=29H。
例2 指令 OUT DX,EAX 若DX =2000H,EAX =2FAB3147H, 则 指 令 执 行 后 , 地 址 为 2003H 、 2002H 、 2001H、2000H的端口的内容分别为2FH、 ABH、31H和47H。
《微机原理与接口技术》教学课件 第6章

6.2 随机存取存储器
2 动态RAM 2164的工作过程
① 将要读出单元的行地 址送到地址线A0~A7上, RAS 信号有效时,在下 降沿将地址锁存在行地 址锁存器中。
② 将要读出单元的列地 址 送 到 地 址 线 A0 ~ A7 上 , CAS 信号有效时,在下降 沿将地址锁存在列地址 锁存器中。
目录 CONTENTS
存储器入门 随机存取存储器
只读存储器 高速缓冲存储器
外部存储器
3
引子
计算机之所以能自动、连续地工作,是因为采用了存储程序的原理。计算机中的所有程序和数 据都存放在存储器中,存储器是计算机必不可少的组成部件之一。存储器的性能对整个计算机 系统的性能起着至关重要的作用。本章主要介绍存储器的分类、结构和主要性能指标,并通过 典型的存储器芯片来介绍存储器的工作原理及与CPU的连接方法。
6.1 存储器入门
连续两次读写操作之间所需的最短时间间隔称为存储周期。存储器每秒钟可读写的 数据量称为存储器带宽或数据传输速率,单位为bps(或bit/s)。存取周期和存储器带宽 也常作为存储器的性能指标。
提示
6.2 随机存取存储器
随机存取存储器(Random Access Memory,RAM)也称随机读/写存储器或随机存储器,它既可以直接 从任何一个指定的存储单元中读出数据,也可以将数据写入任何一个指定的存储单元中。
6.1.2 存储器的性能指标
存储器容量:存储器中所包含存储单元的总数,单位是字节(B)。存储 器容量越大,存储的信息越多,计算机的性能也就越强。
01
02
存取时间:存储器完成一次读写操作所需的时间,单位为ns(纳秒,
1 ns=10-9 sБайду номын сангаас。
微机原理课件第六章资料

教师:王茜 邮箱:wq_cduestc@
第6章 输入/输出和中断技术 本章重点:
· 掌握地址译码技术及I/O端口编址方法; · 掌握8086对数据输入/输出的控制方式; · 掌握中断类型码、中断向量和中断向量表三者之间的关系; · 了解8086的中断机构,理解8086的硬中断及INTR与NMI的区别
6.2.1 程序控制方式 1. 无条件传送方式 * 最简单的I/O控制方式,CPU可以随时根据需要无
条件地读写I/O端口 * 外设要求:简单,数据变化缓慢,操作时间固定
,如一组开关或LED显示管。外设被认为始终处 于就绪状态
* 接口特点
– CPU的DB→I/O接口(输出锁存器)→外设 – CPU的DB←I/O接口(输入缓冲器)←外设
R 77AH W 77AH
6.2 输入/输出的控制方式
· 外设的速度与CPU相比要慢好几个数量级,且不 同外设之间的速度也相差很大,为了保证数据传 输的可靠性,CPU一定要等外设准备就绪之后才 能执行输入/输出操作,而外设就绪的时刻对CPU 而言是随机的,因此需要同步。
• 三种I/O同步控制方式: –程序控制方式:无条件传送和程序查询 –中断控制方式 –直接存储器存取方式,DMA方式
74LS04
&
74LS20 &
≥1 AEN ≥1
IOR
74LS32
≥1 R77AH
读/写操作77AH端口地址的译码电路
AAAAAAAA198654310
& 74LS30 ≥1
A15 A14
74LS04
&
AA1132
≥1 74LS20
A11
&
AAA720 AEN
微机原理及应用第6章.ppt

结束
23
源程序如下:
;数据段 Tab dw R0, R1, R2, R3, R4, R5, R6, R7, R8, R9
;代码段 Start: mov ah,01
int 21h Cont: mov ah,0
and al,0fh add al,al
;从键盘输入0~9中的数字i ;i*2
24
lea bx,tab
实例:求绝对值
9
例:计算AX中有符号数的绝对值
CMP AX,0
JGE NONEG ;条件满足(AX≥0),转移
NEG AX
;条件不满足,求补
NONEG: MOV RESULT,AX
;条件满足
;另解
AND AX,AX
其它实现方法?
JNS NONEG ;条件满足(AX ≥ 0),转移
YESNEG: NEG AX
31
例3: 将首地址为A的字数组从小到大排序 (气泡算 法,多重循环)
A dw 32,85,16,15, 8
序号 地址
数
1A
32
2 A+2 85
3 A+4 16
4 A+6 15
5 A+8 8
比较遍数
1
2
3
4
32
16 15 8
16
15
8
15
15
8 16 16
8
32 32 32
85
85 85 85
气泡排序算法程序 框图
42
1) 用寄存器传递参数
• 最简单和常用的参数传递方法。
P203例6.13
例1:求数组ARY中所有元素之和并存于SUM单元 中。 ;子程序名:SUM1。程序功能:求字节数组和。 ;入口参数:SI=数组首址,CX=数组长度 ;出口参数:AX=数组和。使用寄存器:AX,CX, SI。
微机原理与应用第六章

数组字<AX? N 内容交换 修改数组指针 N 到100字?
YRT: MOV MOV MOV MOV MOV NEXT1: CMP
AX,2000H DS,AX BX,0042H AX,0 CX,100 AX,[BX]
循环次数已知 (计数控制)
JA
MOV NEXT: INC
NEXT
MAX PROC NEAR PUSHF PUSH AX PUSH CX PUSH SI
STAR:MOV BX,2000H MOV AL,5 MOV AH,0 [BX+AL] XLAT HLT ADD BX,AX
MOV AL,[BX] 执行后:AL=19H
复习换码指令
…… 64H 51H 40H 31H 24H 19H 10H 09H 04H 01H 00H
⑴ 段内直接调用与返回
格式:CALL 过程名 功能:调用当前段内的子程序 操作:SP←SP-2,[SP]←IP,IP←IP+disp 格式:RET 操作:IP ←[SP],SP← SP+2 16位通用寄存器或 ⑵ 段内间接调用与返回 字存储器 格式:CALL OPRD 操作:SP←SP-2,[SP]←IP,IP←(OPRD) 格式: RET 操作:IP ←[SP],SP← SP+2
子 程 序 段
子 程 序 段
subr1 proc near ...... ret subr1 endp main endp code ends
主 程 序 段
code ends
例:
MY SEGMENT ASSUME CS:MY MAIN PROC FAR START: PUSH DS SUB AX,AX PUSH AX MOV CL,04 CALL DP5 MOV BL,CL CALL DP5 ADD AL,BL RET MAIN ENDP DP5 PROC MOV SAL SAL ADD MOV NEAR AL,CL AL,1 AL,1 AL,CL CL,AL
微机原理 第6章 输入和输出

14
⒈无条件传送的输入方式
数据 三 来自 外设 态 缓冲器 8 数据总线DB 数据总线 地址译码器 地址总线
当执行: 当执行: IN AL , n
IO/M RD 图6-2 无条件传送的输入方式
15
⒉无条件传送的输出方式
74LS273 锁存器 到外设 CLK n IO/M WR 无条件传送的输出方式 8 数据总线DB 数据总线 地址译码器 地址总线
第6章 输入和输出
6.1 概述 6.2 输入和输出的寻址方式 6.3 CPU与I/O之间的接口信号 与 之间的接口信号 6.4 CPU与外设之间数据的传送方式 与外设之间数据的传送方式
1
6.1 概 述
输入和输出设备是计算机系统的重要 输入和输出设备是计算机系统的重要 组成部分。 组成部分。
程序 原始 数据 信息
25
1. 查询输入方式
数据口 • o 输 数据 入 > 装 +5V • oR
D 数据 M / IO
o
o o
CS
RD 地址译码
A7~ A0
数据端口
去DB 状态信息
Q
状态端口 地址 译码
Ready(D4) o 状态口 o CS o o
选通 信号
›
M / IO
RD
图6-5 查询式输入接口电路
26
当输入装置数据准备好① 当输入装置数据准备好①发出一个选通信 一面把数据锁存起来,一面送 号,一面把数据锁存起来 一面送 触发器的 一面把数据锁存起来 一面送D触发器的 CLK端,将D=1打入 端,使Q=1;②CPU读入状 打入Q端 使 端将 打入 ; 读入状 态信息READY(D4) ;③当READY=1,输入数据; 输入数据; 态信息 输入数据 读入数据同时,将状态信号清零 将状态信号清零。 ④读入数据同时 将状态信号清零。 程序段如下: 程序段如下:
微机原理第6章 8086或8088微机系统的功能组件

6.3 中断控制器Intel 8259A 6.3.1 概述
6.3.2 Intel 8259A的功能
6.3.3 8259A的结构 6.3.4 8259A芯片的工作方式
6.3.5 8259A在IBM PC/XT机的外部中断系统
中的应用
6.4 可编程DMA控制器DMAC 8237A 6.4.1 概述 6.4.2 DMA控制器8237A
CLK0 GATE0 OUT0
数
读写 控制逻辑
据 总 线
计数器 1
CLK1 GATE1 OUT1 CLK2 GATE2 OUT2
计数器 2
6.2 可编程定时/计数器 8253/8254
6.2.3 8253的工作方式
根据对工作方式寄存器中控制字M2、M1和M0的不同 设置,8253可以工作于6种不同的工作方式。表6.2列出了 8253 不同工作模式下效果。
6.2 可编程定时/计数器 8253/8254
表6.2 8253 不同工作模式下效果
工作方式 0 1 2 3 工作效果 OUT的输出
计数器初值装 载特征
重装载
GATE的作用 低或变为低 禁止计数 — ①禁止计数 ②立即使输出为高 ①禁止计数 ②立即使输出为高 禁止计数 — 上升沿 — 高电平 允许计数 — 允许计数 允许计数
6.2 可编程定时/计数器 8253/8254
8253 的内部结构逻辑见图 6.3 。它主要由 4 个基本的
单元组成,它们是:
•数据总线缓冲器单元 •读写控制逻辑单元
•控制字寄存器单元
•3个计数器逻辑单元。
6.2 可编程定时/计数器 8253/8254
D7~D0
数据总线 缓冲器
计数器 0
内 部
微机原理第六章 输入输出和中断技术 part 2 (2)

中断处理的一般过程
6.4.3 8088/8086中断系统
8086/8088为每个中断源分配 一个中断类型码(中断向量码),其取值范围为 0~255,实际可处理56种中断。其中包括软件中断,系统占用的中断,已经开放 给用户使用的中断。所有中断又可分为两大类:内部中断和外部中断。
内部中断
6.4.2 中断处理的一般过程
1. 中断请求 2. 中断源识别及中断判优 3. 中断响应 4. 中断处理(服务) 5. 中断返回
1. 中断请求 ➢ INTR中断请求信号应保持到中断被处理为止 ➢ CPU响应中断后,中断请求信号应及时撤销
2. 中断源识别 ➢ 软件判优:由软件来安排中断源的优先级别。顺序查询中断请求,先查询的
➢ (4)能向存储器或外设发出读/写命令。 ➢ (5)能决定传送的字节数,并判断DMA传送是否结束。 ➢ (6)在DMA过程结束后,能向CPU发出DMA结束信号,将总线控制权交
还给CPU。
2. DMA控制器的工作过程 ➢ (1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出
“DMA传送请求”信号DRQ ➢ (2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD ➢ (3)CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进
➢ (2)单步中断——1型中断,标志寄存器中有一位陷阱标志TF。 ➢ (3)断点中断——3型中断,专用于设置断点的指令INT 3,用于程序中设
置断点来调试程序。
➢ (4)溢出中断——4型中断,在算数指令的执行过程发出溢出 ➢ (5)用户自定义的软件中断——n型中断,执行中断指令INT n引起内部中
断。
需要时,CPU回到原来被中断的地方继续执行自己的程序。 优点: ➢ CPU效率高,实时性好 缺点 ➢ 程序编制相对较为复杂
微机原理第6章_3学分

第六章输入/输出方式与接口芯片第一节输入/输出方式第二节中断第三节可编程定时/计数器8254及其应用第四节可编程并行I/O接口芯片8255A及其应用第五节可编程中断控制器8259及其应用第一节输入/输出方式●教学目标介绍I/O 接口的基本概念介绍I/O端口的编址方式介绍CPU与外设间的数据传送关系●学习要求掌握I/O接口的基本功能,了解接口的一般结构熟悉I/O端口的编址方式,了解IN/OUT指令的执行过程掌握微机与外设的各种传送方式,了解DMA传送过程一、I/O接口1)I/O接口的基本概念I/O接口是连接CPU与外设的逻辑控制部件,它主要在CPU与外设间起着传输状态与命令信息,实现数据的缓冲、数据格式转换等作用。
它的主要功能有:选择外设对外设进行控制和监视进行数据寄存和缓冲进行数据格式转换进行信号电平转换I/O接口的分类并行I/O接口和串行I/O接口可编程接口和不可编程接口专用接口和通用接口2)I/O接口的基本结构主要包含有数据端口、状态端口和控制端口数据端口用于存放数据信息,包括数据输入寄存器和数据输出寄存器,主要作用是协调CPU和外设之间的数据传输速度。
控制端口用于存放控制信息,控制信息是CPU通过接口传送给外设的,其主要作用是控制外设工作,如控制输入输出装置的启/停等。
状态端口用于存放状态信息,即反映外设当前工作的状态信息,CPU可通过读取这些信息,了解外设当前的工作情况。
3)I/O端口的寻址方式在一个微机系统中既有存储单元地址又有I/O端口地址,根据两者地址的不同安排可分为以下两种寻址方式。
存储器统一编址在这种方式中,把I/O端口作为存储器的一个单元来对待,即每个端口占用一个存储单元地址。
此时,对I/O端口操作可以使用全部的存储器指令,而不必另设专门的I/O指令。
由于该方式是将I/O地址映射到了存储器地址空间,所以也称为存储器映像方式。
I/O端口独立编址在这种方式下,I/O端口与存储器各自独立编址,这样存储器地址和I/O端口地址可以重叠。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6 中断系统
6.3 中断编程与应用
中断编程
中断服务程序 清除中断请求:一旦响应中断请求,必须立即清除中断源。否则,中断服 务程序执行结束后,该中断请求信号会再次得到CPU的响应。 TF0和TF1:响应中断请求后,自动复位; TI和RI:在中断服务程序中使用指令(CLR TI、CLR RI)进行复位; /INT0、/INT1:下降沿触发时,自动复位; 电平触发时,先使中断请求信号无效,再手动复位。 保护与恢复断点现场 参数传递:入口参数、出口参数。 中断功能程序 中断嵌套:中断响应后,将自动关闭中断。如果希望在中断服务程序能响 应更高级的中断,必须打开中断。 中断返回: RETI
6 中断系统
6.2 MCS-51单片机中断系统
中断响应时间
遇到特殊情况时,会延长这个最快的响应时间。 当检测到中断请求且允许响应时: 如果正在执行RETI,或 正在执行访问IE/IP的指令,则再执行一条指令后才能响应中断请求。 执行RETI或访问IE/IP的指令耗时1个MC, 再执行的一条指令最大可能耗时4个MC:共耗时5个MC。 中断响应时间:3~8个机器周期。 若CPU正在服务更高级的中断,则响应时间会更长,且无法确定。
∙
6 中断系统
6.3 中断编程与应用
扩展MCS-51单片机外部中断源
采用专用中断控制器,如Intel8259 借用计数/定时器溢出中断扩展 计数/定时器有外部计数脉冲输入引脚,当被设置在工作方式2、且初值为 FFH时,只要输入引脚出现 1个计数脉冲就会产生溢出中断。从而计数脉 冲输入引脚可以被当作外部中断源输入,且触发方式为负脉冲。 采用查询法扩展:借用外部中断源
中断分类
根据中断源类型:硬件中断、软件中断(中断指令) 根据计算机对中断响应的控制能力:可屏蔽中断、不可屏蔽中断
6 中断系统
6.1 概 述
中断优先级
当由多个中断源同时发出中断请求时,先响应优先级高的中断请求;当优 先级高的中断服务完成后,再响应优先级较低的。
中断嵌套
当正在为一个中断服务时,又出现了新的 中断请求时,可以响应另外一个更高优先 级的中断请求,就像子程序嵌套。
6 中断系统
6.3 中断编程与应用
扩展MCS-51单片机外部中断源
采用查询法扩展:借用外部中断源 MAIN: ...... LJMP ...... EISR: PUSH MOV JNB EIS0 JNB EIS1 JNB EIS2 JNB EIS3 EISE: POP ;主程序 MAIN ACC;中断服务程序 A,P1;读取EIS0~EIS3状态 ACC.0,EIS0;若EIS0=0,则转 ACC.1,EIS1;若EIS1=0,则转 ACC.2,EIS2;若EIS2=0,则转 ACC.3,EIS3;若EIS3=0,则转 ACC
6 中断系统
6.1 概 述
中断工作过程
开中断:允许响应中断请求 关中断:禁止响应 使用中断术语,描述中断 工作过程:计算机执行原 程序,某中断源突然发出 中断请求,计算机若允许 响应该中断请求,则暂停 执行原程序、转去执行中 断服务程序;若不允许,则继续执行原程序;执行中断服务程序结束后,中 断返回,返回到断点处继续执行原程序。
6 中断系统
6.3 中断编程与应用
中断编程
包括中断初始化和中断服务程序。 中断初始化程序 确定SP:初值与子程序设计同时考虑,复位后赋给SP一个初值。 确定中断优先级:根据中断请求的重要性安排它们的优先级。 中断允许与禁止:只响应所使用的中断源,而禁止所有没有使用的。 设置外部中断源的中断触发方式:电平和下降沿触发方式,设置的方式要 与应用电路一致。 给所传递的参数赋初值:在开放中断前必须给所传递的参数赋初值。 中断的打开与关闭:在初始化时,关闭总中断,最后才打开。 存取IE、IP等SFR的方法 ---使用位操作和字节操作指令。 SETBEA;EA←1,开中断 CLREA;EA←0,关中断 MOVIE,#88H;同时允许和禁止响应多个中断请求 ANLIE,#88H;同时禁止响应多个中断请求
6 中断系统
6.3 中断编程与应用
扩展MCS-51单片机外部中断源
采用查询法扩展:借用外部中断源 ORG LJMP ORG LJMP ...... ORG STA: MOV MOV MOV MOV ORL ...... SETB 0000H;复位 STA 0013H;中断矢量 EISR 0800H;中断初始化 SP,#1FH;堆栈指针初值 IE,#04H;响应中断请求 IP,#01H;中断优先级最高 TCON,#01H;负跳变触发 P1,#0FH;P1.0~P1.3为输入 ;其它初始化 EA;EA←1,开中断
6 中断系统
6.2 MCS-51单片机中断系统
中断优先级控制
优先级寄存器IP 通过IP:只能 实现高低两级中 断优先级控制
6 中断系统
6.2 MCS-51单片机中断系统
中断响应时间 ---过程
在每个机器周期的S5P2期间,根据中断源信号设置中断标志位; 外部中断源的有效触发信号至少保持1MC,否则中断请求就会丢失! 在S6期间查询中断标志,若有中断标志置位就开始响应中断请求; S6是MC的最后一个状态,中断响应时间从下一个MC开始计算! 确定中断的优先级、中断是否开放;若开放,且没有更高级中断服务,在 执行完当前指令后响应中断请求,这需要1个MC; 将下一条指令PC值(断点地址)压入堆栈、关闭中断;这需要1个MC; 将中断矢量送入PC,去执行中断服务程序,这需要1个MC。 至此中断响应过程结束:需要3个MC的时间,且是最快的。
6 中断系统
6.3 中断编程与应用
扩展MCS-51单片机外部中断源
中断矢量
6个中断源的中断矢量是预先定义的 第1个中断矢量为0003H,其后的相差8H。 串行口收发中断共享一个中断矢量0023H,中断响应时,在中断服务程 序中通过查询RI、TI区分是接收中断、还是发送中断。
6 中断系统
6.2 MCS-51单片机中断系统
中断返回指令
中断服务程序的开始执行:CPU响应中断时自动转入的 结束时:必须执行中断返回指令才能返回断点处继续执行原程序。 RETI;(PC15~8)←((SP));(SP)← (SP) -1 ;(PC7~0) ←((SP)) ; (SP) ← (SP) -1 0011 0010 ;复位与中断系统的有关标志 注意断点地址出栈到PC的次序与SP的变化。 注意RETI与RET异同。
6 中断系统
6.2 MCS-51单片机中断系统
中断源
外部中断源:/INT0、 /INT1:信号输入引脚分别是P3.2、 P3.3 电平:引脚上电平为低时中断请求有效; 边沿:引脚上电平出现负跳变时中断请求才有效 计数/定时器中断源:计数/定时器0溢出、计数/定时器1溢出 内部中断源 串行口中断源:内部串行口接收到一字节时、或发送完成一字节时,中 断请求有效。
6 中断系统
6.2 MCS-51单片机中断系统
中断允许控制
中断的允许与禁止:通过设置中断使能寄存器IE完成的
两级中断使能控制 第一级:EA,允许或禁止响应所有中断标志位发出的中断请求 第二级:各个中断源的中断使能位,单独允许或禁止是否响应中断标志位发 出的中断请求。 MCS-51单片机没有不可屏蔽中断源。
6 中断系统
6.3 中断编程与应用
中断应用
利用外部中断源实现单步执行方式 MAIN: ...... ;主程序 ...... LJMP MAIN ...... ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ EISR: ...... ...... WL0: JNB 行 WL1: 行 RETI ;中断返回 JB P3.2,WL1;若=1,则不继续执 ;中断服务程序 ;读取CPU各寄存器当前值 P3.2,WL0;若=0,S-51单片机中断系统
中断标志位
检测到中断请求后,先置位中断标志位: 置位标志位:发出中断请求 复位标志位:清除中断请求
6 中断系统
6.2 MCS-51单片机中断系统
中断标志位
TCON:计数/定时器控制寄存器 SCON:串行口控制寄存器
6 中断系统
6.2 MCS-51单片机中断系统
6 中断系统
6.1 概 述
中断的优点
提高CPU的工作效率 为多个外设分时服务—多任务;CPU可一直运行一个主程序,而对其它功 能程序采用中断的方式运行,而不必苦苦等待。 提高计算机处理数据的实时性 CPU每执行完一条指令时,都去检查是否有中断请求;若有中断请求、且 响应,则执行中断服务程序,而中断响应是非常快的。
6 中断系统
6.3 中断编程与应用
中断编程
中断服务程序 确定中断矢量:每个中断服务程序只有8个字节的空间,显 然不够。 方法1: ORG 0003H 0003H:LCALL SUB1;调用子程序 RETI ... SUB1: ...;中断服务程序 RET ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 方法2: ORG 0003H 0003H:LJMP SUB1;无条件转移 ... SUB1: ...;中断服务程序 RETI
6 中断系统
6.1 概 述
中断系统功能
中断系统:完成中断功能所需的硬件和软件的总和。 中断优先级排队,以便先响应优先级高的中断请求; 响应中断,去执行中断服务程序: 自动关闭中断,防止其它中断请求干扰本次中断响应; 自动将断点地址(PC值)送入堆栈进行保护,以便返回原程序; 把中断矢量送入PC,转入中断服务程序执行; 清除本次中断请求信号,避免一次中断请求引起多次响应; 实施中断返回 当执行完中断服务程序后,返回原程序继续执行。 将断点地址从堆栈弹出,送入PC; 恢复与中断有关的标志,为此返回指令必须为RETI