微机原理第七章
微机原理第七章
常量作用:
(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伪指令定义过程
微机原理第七章
(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中断系统和中断控制器
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转去执行除法错中断处理程序。
微机原理课件第7章新)
10
串行接口的功能 1、进行串并转换 2、串行数据格式化 3、可靠性检查 4、实现联络控制
return
11
7.1 概述
四、微处理器与I/O设备之间的接口信息 有三类信息 1.数据信息:数字量、模拟量和开关量 2.状态信息:提供当前的工作状态 3.控制信息:向外部设备发送的命令 对应的信息是由端口存放的
N
外设
准备 就绪?
Y 传送 数据
21
~ ~ …
D0
D7
A0
≥1
系 A1 统 A2 总 A3 线 A4 信 A5 号 A6
A7
IO W
A8
≥1
A9Leabharlann A10A11A12
A13
A14
A15
+ 5V 30 0Ω
D0 Q
1
D7 Q1
+ 5V
≥1
30 0Ω
Q7
1
CP
74 LS27 3
图7.3 发光二极管与微机系统连接的接口电路
22
反相器对锁存器起保护作用,当发光二极管发 亮时,反相器提供足够大的吸入电流,以保护 锁存器不受损坏。对于图中电路,CPU执行下 述指令可以使两个发光二极管发亮:
A14
A15
IO R
三态 门
+ 5V 10 kΩ
K
≥1
图7.1 开关K与微机系统连接的接口电路 18
如果希望完成如下任务:当开关接通时,CPU 执行程序段ON;当开关断开时,CPU执行程序 段OFF。下述指令的执行可以完成该任务:
MOV DX, 0FFF7H IN AL, DX AND AL, 01H JZ ON;假定程序段ON与本程序段在同一内 存段中 JMP OFF
微机原理第7章习题答案.docx
习题及解答1.列举中断的具体应用。
要点:符合如下四种的均可(1)响应外部突发事件。
(2)实时多任务调度。
(3)实现外设与CPU的并行处理(4)分时多任务操作系统的基础。
2.中断的分类方式及其关系。
要点:3.中断向量表的功能时什么,8086/8088CPU如何对中断源识别并跳转到正确的中断服务程序入口?要点:中断向量表是存放中断服务程序入口地址的一个特定的内存区域,屮断号都与一个中断服务程序的入口地址相对应,实现中断处理程序的直接跳转8086/8088cpu通过中断号标识中断源,外部中断的中断号山中断控制器(如8259a)提供,内部中断中断号和不可屏蔽中断号系统固定分配发生中断时:1)将标志寄存器、CS、TP内容压入堆栈。
2)获取中断类型号n,生成中断向量表地址4杓。
3)从中断向量表地址为4*n的存储单元中収出中断向量送入CS和1P,继而转去执行中断服务子程序。
4.中断的一般处理流程包括那些步骤,分别完成什么功能?要点:中断处理的一般过程山中断请求、中断优先级判别、中断响应、现场保护、中断服务、现场恢复和中断返回构成。
中断请求:发起中断信号中断判优:优先级判断确定响应那个中断中断响应:通过中断屏蔽确定是否响应中断,回复中断响应信号现场保护:保存状态寄存器、地址寄存器和相关重要寄存器中断服务:中断处理程序现场恢复:恢复状态寄存器、地址寄存器和其他重要寄存器中断返回:跳转到断点5.8259A如何进行优先级管理?要点:全嵌套方式、特殊全嵌套方式和优先级自动循环方式,分别针对单片,级联和特殊情况下的应用6.设8259A的端口地址为80H和81H,用程序清除中断服务寄存器的ISR6。
;EOI 二1; SL 二1; R=0; L2L1L0二6 ;设置0CW27. 2片8259A 组成的级联系统,设备A 接在从片的IR0上,从片接在主片的IR4±,说明A 设备发生中断到CPU 响应的全过程。
要点:1, A 设备产生中断请求2, 从片8259A 进行优先级判断,如果IR0上的中断优先级高于当前从片的其它优先级, 从片8259A 响应屮断,向主片的IR4脚发起屮断请求3, 主片8259A 进行优先级判断,如果IR4上的中断请求优先级高于当前主片的其它优 先级,则主片通过INT 管脚向CPU 发起屮断请求4, CPU 接收到中断请求后,若允许中断,则向主片8259A 发送两个INTA 响应。
第7章 微机原理 戴梅萼
第7章 常用接口器件
2.察看项目文件: 用View| Project Manager命令来察看当前项 目下所产生的相关项目文件。
5
第7章 常用接口器件
3.相关的文件: 在\Program Files\Borland\CBuilder6\Project 目录能够看到有六个文件。 Project1.bpr Unit1.dfm Project1.cpp Unit1.cpp Project1.res Unit1.h Project1.~bp 其中Project1.~bp 为备份文件,可以删除。
}
Edit| Paste命令
38
第7章 常用接口器件
一般地,由于无法事先预料需建立的MDI子窗 体的个数,MDI采用动态方式在“New”操作时创 建子窗体,因此当关闭子窗体时必须释放内存。
所以,要在Fomr2的OnClose事件中加入
“Action=caFree;”语句。
39
第7章 常用接口器件
第7章 常用接口器件
1
第7章 常用接口器件
第7章 常用接口器件
§1 可编程并行接口
§2 可编程定时器 §3 可编程串行通信接口
2
第7章 常用接口器件
§1 创建MDI主窗体
7.1.1
7.1.2 7.1.2
单窗体的工程文件
多单元 创建MDI主窗体
3
第7章 常用接口器件
7.1.1
单窗体的工程文件
1.创建一个新项目: File| Close All关掉所有。 File| New | Application创建一个新项目。 系统会自动产生一个项目Project1和一个单元 程序Unit1,以及该单元所对应的窗体Form1。 项目Project1 单元程序Unit1 窗体Form1
微型计算机原理与接口技术第七章课后答案全文
第七章1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。
可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。
可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。
当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。
不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。
不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。
2. 列出微处理器上的中断引脚和与中断有关的指令。
答:INTR:可屏蔽中断请求输入引脚。
NMI:不可屏蔽中断请求输入引脚INTA:可屏蔽中断响应引脚INT n :软件中断指令,其中n为中断类型号INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。
CLI:中断标志位IF清0STI:置位中断标志位为13. 8086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR(2)内部中断内部中断又称软件中断,有三种情况引起:①INT n :中断指令引起的中断②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断③由调试程序debug设置的中断:单步中断和断点中断。
4. CPU响应中断的条件是什么?简述中断处理过程。
答:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。
可屏蔽中断处理的过程一般分成如下几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。
CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作:⑴从数据总线上读取中断类型号,将其存入内部暂存器。
微机原理课件第七章
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-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输入信号组合的功能表
微机原理 第七章中断控制器
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
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
微机原理第七章
中断发生时正常程序的当前指令地址
微机原理及应用
中断的基本概念
中断常用术语
• 现场 中断服务程序中应保护和恢复的相关信息 •中断优先级 多中断请求时处理中断的顺序 • 中断嵌套 中断服务程序运行中响应更高级别中断请求 • 中断屏蔽
微机原理及应用
8086 的中断系统
中断类型码的获得
• 软中断 INT n,中断指令后跟给定中断类型码 • NMI 自动响应、执行 2 号中服程序 • INTR 由接口电路提供,CPU通过总线读入
注:见P315页图7-8
微机原理及应用
INTR 中断优先级管理
8088/8086CPU 仅有一条 INTR 引脚,当 有多个可屏蔽中断源时,除必要的硬件电路外, 还需对多 INTR 中断源进行优先级管理
微机原理及应用
用户中服程序的装载
INT 21H 功能保存原中断向量
MOV AL,n MOV AH,35H INT 21H PUSH ES PUSH BX ;中断类型号 n 送 AL ;读中断向量功能号送 AH ;执行 DOS 功能 ;中断向量的 CS 值入栈保存 ;中断向量的 IP 值入栈保存
注:在中服程序的最后恢复原中断向量
微机原理及应用
用户中服程序的装载
INT 21H 功能置新中断向量
PUSH DS ;保护 DS MOV AX,SEG INTSUB MOV DS,AX ;中断向量的 CS 送 DS MOV DX,OFFSET INTSUB ;中断向量的 IP 送 DX MOV AL,n ;中断类型号 n 送 AL MOV AH,25H ;置中断向量功能号送 AH INT 21H ;执行 DOS 功能 POP DS ;恢复 DS
微机原理第七章 输入输出方法及常用接口电路
编程并行接口芯片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章课件
缓冲器 (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)无条件传送方式
微机原理 第七章
在汇编语言中
算术运算符、 逻辑运算符、 关系运算符、 分析运算符、 合成运算符、 分离运算符。
表达式分类: 数值表达式和地址表达式, 在汇编过程中分别产生一 个数值或一个地址。 注意:表达式的运算不是在执行 程序时进行的,而是由汇 编程序在汇编时预先对他 进行运算。
源程序一般格式为: 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
微机原理第七章
第七章 串并行通信及其接口
微机原理
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能适应各种各样的外设,就需要接口电路,由它完成相应的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
37
方式0:
相当于三个独立的8位简单接口
各端口既可设置为输入口,也可设置为输出
口,但不能同时实现输入及输出 C端口可以是一个8位的简单接口,也可以分为 两个独立的4位端口 常用于连接简单外设,适于无条件或查询方式
38
方式0的应用:
习惯上:
A端口和B端口作为8位数据的输入或输出口
C口的某些位作为状态输入
8253 D0~D7 CLK0 2MHz +5V
OUT0
1 R
GATE0 3E0H~3E3H CS
检 测 器 3E4H D 3E5H IOW ≥1 CP Q
25
8253应用例二
初始状态下,D触发器的Q端输出低电平;
系统通过三态门循环读取检测器状态,有异常出现时, 检测器输出高电平。此时在D触发器的Q端输出高电平, 启动8253计数器的通道0输出100Hz的连续方波信号, 使报警灯闪烁,直到有任意键按下时停止; 使计数器停止输出方波的方法是在Q端输出低电平。 CLK0的输入脉冲为2MHz。要求:
28
例二解——控制程序
XOR AL,AL
MOV DX,3E5H OUT DX,AL MOV AL,2
MOV DX,3E4H
NEXT:IN AL,DX AND AL,01H JZ NEXT MOV DX,3E5H
OUT DX,AL GOON:MOV AH,1 INT 16H JZ GOON XOR AL,AL OUT DX,AL MOV AH,4C INT 21H
27
例二解
8253计数初值:
8253初始化程序:
2MHz/100Hz=20000 方式3
MOV DX,3E3H MOV AL,00110110 OUT DX,AL MOV DX,3E0H MOV AX,20000
8253工作方式:
OUT DX,AL
MOV AL,AH OUT DX,AL
PA0~PA7
监控点
PB7
启动控制
≥1 ┇
G2A Y0
PC0
报警 信号灯
A6 A12 A5
&
A4 A3 A2
G2B C B A
48
控制程序
MOV DX,1023H MOV AL,1001X000B OUT DX,AL MOV AL,0 OUT DX,AL MOV DX,1021H MOV AL,80H OUT DX,AL A:MOV DX,1020H IN AL,DX CMP AL,0 JZ A
初始化程序设计
写入控制字
置计数初值
15
与系统的连接示意
8253
DB IOW IOR A1 高 位 地 址 D0~D7
WR
RD A1
CLK
GATE OUT
外部时钟
门控信号
A0
译码器
A0
CS
外设
16
应用中的注意点
每一次启动计数,需有两次写操作:
写控制字 写计数器初值
如果初值为8位字长,则一次写入;若初值为16位字长,则 需两次写入
启动方式 工作的计数器
工作方式 计数脉冲频率 计数初值
画线路连接图,并编写初始化程序.
21
8253应用例
计算计数初值:
CNT0:10ms/0.5us=20000 CNT1:2 MHz/10KHz=200 CNT2: 5ms/0.5us=10000
确定控制字:
CNT0:方式2,16位计数值 CNT1:方式3,低8位计数值 CNT2:方式0,16位计数值
10
工作方式
方式2
软、硬件启动,自动重复计数。 计数到最后一个脉冲时输出低电平
方式3
软、硬件启动,自动重复计数。
输出对称方波
11
工作方式
方式4
软件启动,不自动重复计数。
计数结束输出一个CLK宽度的低电平
方式5
硬件启动,不自动重复计数 波形与方式4相同
12
工作方式小结
CNT0: MOV DX,0123H MOV AL,34H OUT DX,AL MOV AL,AH OUT DX,AL
MOV DX,0120H
MOV AX,20000
CNT1: …… CNT2: ……
24
OUT DX,AL
8253应用例二
安全检 测和报 警控制 系统。
8088 BUS D0~D7 D1 A0 A1 IOW IOR D0 A0 A1 WR RD
初始化CNT2
19
初始化程序流程
写入全部计数器控制字
写CNT0计数初值
原则:
先写入控制字 后写入计数初值
写CNT1计数初值
写CNT2计数初值
20
8253应用例一
采用8253作定时/计数器,其接口地址为
0120H~0123H。
输入8253的时钟频率为2MH。要求:
CNT0每10ms输出一个CLK周期宽的负脉冲 CNT1输出10KHz的连续方波信号 CNT2在定时5ms后产生输出高电平
MOV CX,3 MOV DX,1022H MOV AL,1
B:OUT DX,AL
INC AL CALL DELAY MOV AL,0 LOOP B JMP A
49
50
需要两个写脉冲
两条OUT指令
第1个写脉冲写入控制字 第2个写脉冲写入计数初值
不同的工作方式,有不同的计数启动方法。 可根据对输出波形的要求,选择不同的工作 方式。 能输出连续波形的只有方式2和方式3。
13
4. 控制字
用于确定各计数器的工作方式
格式
14
5. 8253的应用
与系统的连接
第7章
常用数字接口电路
1
主要内容:
掌握两种可编程并行接口芯片的应用
2
可编程定时器8253
3
掌握:
引线功能及计数启动方法 6种工作方式及其输出波形 应用:
芯片与系统的连接
芯片的初始化编程
4
8253芯片特点
可编程的逻辑器件;
非通道型的接口,具有特定功能;
可实现计数和定时;
工作方式:
减法计数 计数值减为0时输出相应控制信号 输出控制信号的形式可通过软件设置
5
1. 外部引线及内部结构
连接系统端的主要引线:
D0----D7
CS RD WR A0,A1
连接外设端的主要引线:
CLK ----------- 时钟脉冲输入
GATE ---------- 门控信号输入 OUT ------------ 定时输出
6
结构特点
内部3个计数器均为减法计数器
计数初值
根据计数脉冲的频率及需要定时的时间长度确定计数初值
每个计数器含
16位初值寄存器 16位计数寄存器
相同端口地址
存放计数初值
控制寄存器
存放控制命令字
7
外部引线及内部结构
三个可独立工作的16位定时/计数器,一个控 制寄存器。共占用4个端口地址,4个端口的 地址编码:
设计系统线路图,要求用138译码器设计译码电路;
编写8255初始化程序及启动、测试和报警控制程 序
47
地址范围:
0001 0000 0010 00XX
8255
D0 ~ D7
IOR IOW A1 A0 G1
D0 ~ D7
IOW IOR A15 A14 A13 A11
&
RD WR A0 A1
CS
44
4. 方式控制字及位控制字
方式控制字:
用于确定3个端口的工作方式及数据传送方向;
位控制字
仅用于C端口 可设置C口某位的初始状态(为高电平或低电平) 当其工作于方式0下且作为输出口时,一般需要对 作为输出的位设置初始状态(即初始化)
45
5. 8255芯片的应用
芯片与系统的连接 芯片的初始化 相应的控制程序
利用一组选通控制信号控制A端口和B端口的数 据输入输出 A口、B口作输入或输出口,C口的部分位用作 选通控制信号
A口、B口在作为输入和输出时的选通信号不同
输入
输出
41
方式1的应用:
方式1主要用于中断控制方式下的输入输出
C口的8位除用作选通信号外,其余位可工作
于方式0下,作为输入或输出口。
A1 A0
0
0 1 1
0
1 0 1
CNT0
CNT1 CNT2 控制寄存器
引线
8
2. 计数启动方式
由GATE端信号的形式决定 软件启动 GATE端为高电平
硬件启动
GATE端有一个上升沿
9
3. 工作方式
方式0
软件启动,不自动重复计数;
计数结束输出高电平。
方式1
硬件启动,不自动重复计数; 计数开始输出低电平,结束后又变高。
42
方式2:
双向输入输出方式
可以既作为输入口,又作为输出口。