华中科技大学微机原理07 第七章 输入输出 (pp43)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无条件传送
1. 输入:由于来自输入设备 的数据的保持时间相对于 CPU的接收速度要长得多, 所以数据不需锁存器,而 直接使用三态缓冲器与数 据总线相连 2. 输出:用锁存器锁存CPU送出的数据,使其保持一定时间, 锁存的时间与外设的动作速度相适应。
条件传送
又称查询传送。传送前,CPU读取外设的状态,查询外设 是否“准备就绪”,若准备就绪,则传送数据,否则不传 送,继续查询外设状态。 * 准备就绪的含义 输入设备:输入数据寄存器 已满,CPU可以读取 输出设备:输出寄存器已空, CPU可发送数据
P2口具有双重功能:通用I/O口、高8位地址总线口
(1) 与P1口相比, P2口的每位多了一个多路开关MUX, 因此P2 口具有双重功能: (2) 系统扩展外部存储器时, P2口输出高8位地址信号 扩展ROM时:P2口不能用作I/O功能 扩展RAM时:若外部RAM≤256字节,这时可用作I/O口 (3) 通用I/O接口 作为通用I/O口时,P2口与P1口相同。
P0~P3口的“每一位”的电路结构
P1、P2、P3口内 部有上拉电阻, 它代替了P0口中 的T1,因此输出 缓冲器不是三态 的,所以称为准 双向口, P0口内部无上拉电阻,它的输出缓冲器是由两个场效应管(T1、T2) 组成的三态门。所以,P0口作为数据总线时,可以保证数据传送时,芯 片内外接通;不进行数据传送时,芯片内外处于隔离状态。因此,P0口 是真正的双向I/O口
设状态端口地址0100H,用最高位表示一个输入设备的状态; 例: 数据端口地址0101H;条件输入的程序如下: MOV TEST: MOVX JNB INC MOVX DPTR,#0100H A,@DPTR ACC.7,TEST DPTR A, @DPTR ;DPTR指向状态端口 ;读状态信息 ;测试状态,若未就绪,转TEST ;DPTR指向数据端口 ;传送数据
P0~P3口“每个口”的电路包括两个部分:
(1)锁存器,即SFR中的P0~P3;(2)驱动器和缓冲器
P0~P3口“每个口”的电路结构
(1)锁存器,即SFR中的P0~P3;(2)驱动器和缓冲器
SFR:片内RAM的高128字节
内部RAM高128单元是供给 专用寄存器使用的,因此 称之为专用寄存器区(也 称为特殊功能寄存器区 (SFR)区),单元地址 为80H~0FFH。
条件传送的输出接口电路
0
输出设备发出ACK信号,置BUSY信号为0,表示输出设备已 处于空闲状态; CPU发出地址信号和RD信号查询输出设备状态
条件传送的输出接口电路
1
CPU发出地址信号和WR信号,将CPU输出的数据送入锁存器, 同时置BUSY信号为1,表示输出设备已处于繁忙状态;
条件输出程序
1. 数据和状态信息分别由数据和状态端口输入到数据总线 。 2. 若数据为8位,则占有一个8位端口; 3. 状态信息只有1位,一个8位的状态端口可供8个外设用。
设状态端口地址0100H,用最高位表示一个输出设备的状态; 例: 数据端口地址0101H;查询式输出的程序如下: MOV TEST: MOVX JB INC MOV MOVX DPTR, #0100H A,@DPTR ;读状态信息 ACC.7, TEST ;测试状态,若未就绪,转TEST DPTR A, 40H ;取数据 @DPTR, A ;传送输入数据
I/O 设备
CPU
接口 电路
接口在 CPU与外 设之间
I/O接口电路的功能
1.地址译码:对地址译码,指定外设端口,以便CPU访问 2.数据缓冲和锁存:
缓冲电路保证同一时刻CPU只与一个外设交换信息; 数据锁存实现高速CPU向低速外设传送数据。
3.信息转换:实现CPU与外设间不同信号的转换,如A/D转换 4.通信联络:协调CPU与外设之间的信息交换过程。
(2)用作地址/数据总线口时,用户程序不能操作P0口 传输8位数据, 传输低8位的地址。
P0口用作通用I/O接口时
P0口作输出口:MOV P0, A
通过内部总线把数据写入锁存器,总线上数据直接复映到P0口引脚上。
P0口作输入口时有两种读操作:
① 读引脚:MOV A, P0;直接从口线读入。 ② 读锁存器:“读—改—写”指令,如ANL,ORL,XRL;INC, DEC等,例:ORL P0, A;并不是直接从口线读出,只能从接口锁 存器读出,修改后,再写入锁存器,即“读——修改——写”指令。
P1口工作原理
P2口工作原理
P1口只能用作I/O 与P1相比, P2口的每位多了一个多路开关MUX, 因此 P2口具有双重功能,除I/O外,还用作地址总线
P3口除用作通用I/O口外,还具有第二功能 (1) P3与P1口相比,每位多了一个与非门和一个输入缓冲器, 所以它除了可作为一般I/O口外,还具有第二功能。 (2) 通用I/O接口:与P1口相同。 (3) 第二功能:当P3口作第二功能使用时,各位定义如下
MCS51与并行I/O口相关的指令 “读-修改-写”指令
ANL P1,A ORL P2,A XRL P3,A JBC P1.1 LOOP CPL P3.0 INC P2 DEC P1 DJNZ P3,LOOP MOV P1.1,C CLR P1.1 SETB P1.1 逻辑与 逻辑或 逻辑异或 如某位为1,跳转并清零 对接口某位求反 接口锁存器加1 接口锁存器内容减1 减1后不为零则跳转 将进位位送接口的某位 清接口的某一位 接口的某一位置位
数据信息通过数据端口的数据寄存器传送; 状态信息通过状态端口的状态寄存器传送; 控制信息通过控制端口的控制寄存器传送;
I/O接口的构成 I/O接口
I/O接口的构成
端口:
接口部件中能被CPU直接访问的寄存器 每个端口分配一个端口地址 CPU通过端口地址实现I/O操作
I/O操作:
CPU对I/O接口电路的访问(读/写) 不是操作I/O设备,即不是操作CPU外部的设备本身
几种数据传送方式特点
无条件传送:慢速外设需与CPU保持同步 查询传送:简单实用,效率较低,硬件开销小 中断传送:外设主动,可与CPU并行工作,但中断服务保 护现场等需要额外时间开销 DMA传送:外设直接和存储器进行数据传送,适合大量、 快速数据传送,需要硬件开销
MCS51的并行I/O口
MCS-51单片机有4个8位并行I/O口: P0口:通用I/O口,地址/数据总线; P1口:通用I/O口; P2口:通用I/O口,高8位地址总线; P3口:通用I/O口,多功能口。
1. 程序传送:无条件传送,条件传送 2. 中断传送 3. 直接存储器存取传送(DMA)
单片机与外设间的数据传送方式
程序传送:在程序控制下进行的数据传送方式 1. 无条件传送:
数据传送完全由程序决定,不考虑外设的工作状态;只 要执行I/O指令,CPU就立即与外设进行数据传送。
2. 条件传送:
传送前,CPU读取外设的状态,判断外设是否“准备就 绪”,若准备就绪,则传送数据,否则不传送,继续查 询外设状态。
Y 读入数据端口信息 N 读入状态端口信息
数据准备好?
条件传送的输入接口电路
1
输入设备准备好后发选通信号STB,将数据存入锁存器,将D触 发器置1,产生一个READY信号,送到CPU。
条件传送的输入接口电路
0
CPU检测到READY信号后,读入数据,同时将READY信号清0
条件输入程序
1. 数据和状态信息分别由数据端口和状态端口输入到数据总线 。 2. 若数据为8位,则占有一个8位端口; 3. 状态信息只有1位,一个8位的状态端口可供8个外设用。
第七章
输入和输出
概述
CPU的外设种类繁多,在电平,功率,速度,信息 形式上与CPU有很大的差别,不能简单的连接。 要解决的问题: CPU如何与不同速度的外设配合工作 CPU如何与大量外设协调工作 CPU如何在电平、功率上与外设协调 CPU如何与不同信息形式的外设配合
概述
为解决上述问题,CPU通过输入/输出(I/O)接口 电路与外设连接,I/O接口是CPU与外设之间相互联 系的纽带。 输入装置通过I/O接口电路把信息输入计算机 计算机的处理结果由I/O接口电路送到输出装置
P0口作I/O口进行输入时 (2)“读——修改——写”指令:将口线的数据读入芯片, 修改后,再写入锁存器
P0口作为地址线: (1)控制信号为1,地址信号为0时
P0口作为地址线 (2)控制信号为1,地址信号为1时
P0口作为数据线时的流程图
P1口只能用作通用输入输出接口,有三种工作方式:
1、输出方式: 单片机执行MOV P1, #data指令时,数据经内部总线送入锁 存器锁存,经输出驱动器送到引脚。 能驱动4个LSTTL负载。 2、输入方式: 单片机执行MOV A, P1指令时,控制器发出读引脚信号,引 脚上的状态经三态门进入内部总线,并送入A中。 3、端口操作: 直接对端口进行操作, “读—改—写”指令。
P0口可用作通用I/O口,也可用作地址/数据总线
(1)用作通用I/O接口时,用户程序可操作P0口引脚 P0口作输出口:MOV P0, A P0口作输入口时有两种读操作:
① 读引脚:MOV A, P0 ② 读锁存器,“读—改—写”指令,如ANL,ORL,XRL;INC, DEC等,例:ORL P0, A
P3.0 P3.2 P3.3 RXD(串行输入通道) INT0(外中断0输入端) INT1(外中断1输入端) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 WR(外部数据存贮器写选通) P3.7 RD(外部数据存贮器读选通)
P3.1 TXD(串行输出通道)
MCS51与并行I/O口相关的指令
P0口由内部数据总线向引脚输出时的流程图
P0口作I/O口进行输出时,CPU通过内部总线把数据写入 锁存器,总线上数据直接复映到P0口引脚上。
为什么需要锁存器?
P0口读引脚时的流程图
P0口作I/O口进行输入时 (1)读引脚:MOV A, P0;直接从口线读入。
为什么这里又不需要锁存器?
P0口读锁存器时的流程图
I/O端口的地址
编址方式:统一编址、独立编址
统一编址:I/O端口和存储器公用一个地址空间,即把每 个I/O端口当作一个存储器单元,用访问存储器的指令访 问I/O端口,进行读写操作。 独立编址:将存储器和I/O分别寻址,用专用的 IN 和OUT 指令
MCS-51采用统一编址方式
单片机与外设间的数据传送方式 单片机与外设之间的数据传送方式:
I/O接口的构成
以上的I/O功能涉及到数据信息、状态信息和控制信息, 数据信息:
数字量:二进制数、开关量、脉冲量 模拟量:模拟电压或电流
状态信息:外部设备当前的工作状态 控制信息:CPU发送给外设的命令,用于控制外设的工作
I/O接口的构成
数据信息、状态信息和控制信息是不同种类的信息, 通过不同的端口分别传送。
P1口输出时的工作原理
若将“1”写入锁存器,则Q’端输出0,场效应管截止,内部的上拉 电阻将输出拉为高电平。 若将“0”写入锁存器,则Q’端输出1,场效应管导通,引脚接地
P1口输入时的工作原理
必须先使场效应管关断(在作引脚读入前,必须先对该端口写入l),以 便由外部输入的信息确定引脚的状态。此时,改引脚由内部上拉电阻拉 成高电平,也可由外部电路拉成低电平。 具有上述操作特点的输入/ 输出端口,称为准双向I/O 口。8051单片机的P1、P2、 P3都是准双向口。 P0端口由于输出有三态功 能,输入前,端口线已处 于高阻态,无需先写入l后 再作读操作。
中断传送
中断传送方式
在具备工作条件时,外设主动请求CPU为该其服务,CPU响 应其请求后,执行为该外设服务的中断服务程序。 服务完毕,返回断点,继续执行主程序
中断的特点
不适Baidu Nhomakorabea于大数据量和高速外设。
CPU能及时响应外设的服务请求,能与多个外设同时工作。
直接传送方式
直接传送方式
外设接口与内存之间直接进行数据交换,不通过CPU,由 专门的DMA控制器进行数据传送的控制。 数据传送速率高,适用于大批量数据传送。
8051指令系统中能与接口打交道的指令可分两类: 1.一般的输入/输出指令 2.“读-修改-写”指令
MCS51与并行I/O口相关的指令
向口输出数据
MOV Pn,A MOV Pn,direct MOV Pn, Rn MOV Pn, @Ri
从口输入数据
MOV A, Pn MOV direct,Pn MOV Rn, Pn MOV @Ri, Pn
相关文档
最新文档