第七章(新)并行输入输出接口
8071第七章输入输出接口技术第一节内容2009.01.20(第三稿)

2.I/O端口独立编址
优点:
I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 I/O指令没有存储器指令丰富
缺点:
80x86采用I/O端口独立编址
2013年8月1日星期四 中北大学《微机原理及接口技术》 37
Байду номын сангаас
2.I/O端口独立编址
特点:
00000H 内存 地址
12
7.1.3 I/O接口的主要功能
对输入输出数据进行缓冲和锁存 输出接口有锁存环节,输入接口有缓冲环节 实际的电路常用: 输出锁存缓冲环节,输入锁存缓冲环节 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络
中北大学《微机原理及接口技术》 24
2013年8月1日星期四
外设接口
输入接口 输出接口 并行接口 串行接口
数字接口
模拟接口
2013年8月1日星期四
中北大学《微机原理及接口技术》
25
输入输出接口的特点
输入接口:
要求对数据具有控制能力(常用三态门实现)
输出接口:
要求对数据具有锁存能力(常用锁存器实现)
中北大学《微机原理及接口技术》
6
7.1.2 I/O接口概述
为什么需要I/O接口(电路)?
多种外设
微机的外部设备多种多样
工作原理、驱动方式、信息格式、以及工作 速度方面彼此差别很大
它们不能与CPU直接相连 必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路
第7章输入输出习题参考解答

第7章思考题与习题参考答案1.计算机的I/O系统的功能是什么?它由哪几个部分组成?答:计算机的I/O系统,主要用于解决主机与外部设备间的信息通讯,提供信息通路,使外围设备与主机能够协调一致地工作。
计算机的I/O系统由I/O硬件和I/O软件两大部分组成。
其中I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。
I/O软件包括:用户的I/O程序、设备驱动程序、设备控制程序。
2.I/O硬件包括哪几个部分?各部分的作用是什么?答:I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。
系统总线的作用是为CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输提供通路。
I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的控制软件。
它用于在系统总线和外设之间传输信号,并起缓冲作用,以满足接口两边的时序要求。
I/O设备的作用是为主机与外部世界打交道提供一个工具。
设备控制器用来控制I/O设备的具体动作,不同的I/O设备需要完成的控制功能不同。
3.什么是用户I/O程序?什么是设备驱动程序?什么是设备控制程序?答:用户I/O程序是指用户利用操作系统提供的调用界面编写的具体I/O设备的输入输出程序。
例如用户编写的用打印机输出文本的程序。
设备驱动程序是一种可以使计算机和设备通信的特殊程序。
可以说相当于操作系统与硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。
设备控制程序就是驱动程序中具体对设备进行控制的程序。
设备控制程序通过接口控制逻辑电路,发出控制命令字。
命令字代码各位表达了要求I/O设备执行操作的控制代码,由硬件逻辑解释执行,发出控制外设的有关控制信号。
4.说明设计I/O系统的三个要素的具体内容。
答:设计I/O系统应该考虑如下三个要素:①数据定位: I/O系统必须能够根据主机提出的要求进行设备的选择,并按照数据在设备中的地址找到相应的数据。
binbin详解第7章-串行输入输出接口电路

5. 信号的调制和解调
利用电话信道(频带宽度通常为 利用电话信道(频带宽度通常为300~3400Hz)进行远距离传输,为完 ~ )进行远距离传输, 成传输数字信号,通常把数字信号的“ 或 成传输数字信号,通常把数字信号的“0”或“1”转换成较高的不同频率的模拟 转换成较高的不同频率的模拟 信号,而在接收端再将该模拟信号转换成数字信号。前一种转换称为调制, 调制 信号,而在接收端再将该模拟信号转换成数字信号。前一种转换称为调制,后 一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem) 一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem)。 解调 调制解调器
波特率与字符的传送速率不同: 波特率与字符的传送速率不同:
波特率是每秒钟传送的二进制位数,传送率是每秒钟传送的字符个数, 波特率是每秒钟传送的二进制位数,传送率是每秒钟传送的字符个数,二 者之间存在如下关系: 者之间存在如下关系:
波特率=位 字符 字符/秒 位 秒 字符× 波特率 位/字符×字符 秒=位/秒
串行通信按通信的格式分为:异步通信和同步通信。 串行通信按通信的格式分为:异步通信和同步通信。
通信协议:通信的双方约定,何时开始发送, 通信协议:通信的双方约定,何时开始发送,何时发送完毕以及双方的 联络方式、正确与否等。 联络方式、正确与否等。
cha7输入和输出

7.3.2 8255A可编程并行I/O口的扩展
可编程I/O扩展:具有状态寄存和命令寄 存的功能,通过软件编程方式,确定扩 展芯片的工作方式。
典型芯片:8255A,8155。
并行接口芯片8255A
➢ 8255A是Intel公司生产的通用可编程I/O接口电路。 采用+5V电源供电,具有40条引脚。
两个控制字以D7位状态作为标志: ➢ D7=1,为端口工作方式控制字; ➢ D7=0,为C口置位/复位控制字。
(1)方式控制字,格式如下:
图:8255A的方式控制字
举例
要求:
➢ A端口:方式1输入
➢ C端口上半部:输出,C口下半部:输入
➢ B端口:方式0输出
方式控制字:10110001B或B1H
7.1.2 I/O数据的几种传送方式
为实现和不同的外设的速度匹配,I/O接口必须 根据不同外设选择恰当的I/O数据传送方式。
I/O数据传送的几种传送方式是: 1、程序传送 2、中断传送 3、直接存储器存取(DMA)传送
1、程序传送
CPU与外部设备间的数据传送在程序控制下进行的一 种方式,分为条件传送和无条件传送。
;读入C口信息
JB ACC.7,LOOP2
;BUSY=1?
MOV DPTR,#0FF7CH ;送A口地址
MOV A,@R1
;取数
MOVX @DPTR,A
;数据送A口
INC R1
MOV DPTR,#0FF7Fh ;送控制寄存器地址
MOV A,#00H
;送C口复位控制字
MOVX @DPTR,A
;使PC0=0
(1)无条件传送方式
外部设备总处于“准备好”状态,无需测试,随时 可以传送数据。用于工作速度非常快和非常慢时。
第七章(新)并行输入输出接口

T1
T2 MUX
P0.n P0口 引脚
读引脚
第七章(新)并行输入输出接口
驱动场效应管T2栅极接通。故内部总线与P0口同相。由 于输出驱动级是漏极开路电路,若驱动NMOS或其
它拉流负载时,需要外接上拉电阻。P0的输出级可驱动
8个LSTTL负载。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
内部总线 写锁存器
地址/数据 VCC 控制
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
第七章(新)并行输入输出接口
2)P0作为地址/数据总线 ----真正的双向口
▪ P0引脚输出地址/输入数据
输入信号是从引脚通过输入缓冲器进入内部总线。
此时,CPU自动使MUX向下,并向P0口写“1”,
第七章 并行I/O接口技术
主要内容
1、接口技术概述 2、MCS-51内部并行I/O端口 3、简单并行I/O口的扩展 4、8155可编程外围并行接口芯片的扩
展 5、LED/键盘接口的扩展
第七章(新)并行输入输出接口
7. 1 系统扩展、接口概述
1、系统扩展 单片机虽然各功能部件齐全,但容量较小,如:片内
7.4 扩展8155可编程外围并行接口芯片
关于Intel的8155/8156:是一多功能的可编程外 围接口芯片,内部资源有256B的RAM,2个8 位、1个6位的I/O口和1个14位的“减1”计数器 。40脚双列直插封装。
第七章(新)并行输入输出接口
7. 4. 1 8155的结构与引脚
第七章(新)并行输入输出接口
第七章(新)并行输入输出接口
1.P0口的结构
七章并行通信接口技术-

[例]如果把端口A设定为方式1,输出,端口 B设定为方式0,输入,端口C上半部设定为 输入,下半部设定为输出,则方式选择控制 字应为:10101010B=AAH。设控制口地址 为303H,初始化的程序段为:
要求数据格式固定,分为异步和同步数 据格式
串行通信中对信号的逻辑定义与TTL不 兼容,需进行逻辑关系和逻辑电平转换
串行传送信息的速率需要控制,要求双 方约定通信传输的波特率
可编程并行接口芯片8255A
1.8255A有两个8位(端口A与端口B)和两个4 位(端口C高/低4位)的并行输入/输出端口
000 1
0 数据总线← 端口A
010 1
0 数据总线← 端口B
100 1
0 数据总线← 端口C
输出操作(CPU写)
001 0
0 数据总线→端口A
011 0
0 数据总线→端口B
101 0
0 数据总线→端口C
111 0
0 数据总线→控制端口
2.面向外设一侧的引脚信号
端口A:PA0~PA7
A组,支持工作方式0、1、2
状态信号可以通过读取端口C得到(P287)
8255A工作在方式1下的输入时序
端口A方式1作输出:
PA7~PA0 INTEA PC6
PC7
PC3
外设响应信号 表示外设已经接收到数据
ACKA OBFA
INTRA
输出缓冲器满信号 表示CPU已经输出了数据
中断允许触发器
中断请求信号 请求CPU再次输出数据
第七章 接口与并行通信

第一讲:第七章接口与并行通信回顾:微机系统结构及控制信号的名称和作用。
本讲重点:I/O接口概述,CPU与I/O接口,I/O接口与系统的连接。
讲授内容:7.1 CPU与外设之间的数据传输一.CPU与I/O接口接口电路按功能可分为两类:①是使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等;②是输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。
最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。
1.为什么要用接口电路:需要分析一下外部设备的输入/输出操作和存储器读/写操作的不同之处:存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送1个字节或者1个字),品种很有限(只有只读类型和可读/可写类型),存取速度基本上和CPU的工作速度匹配.。
外部设备的功能多种多样的(输入设备,输出设备,输入设备/输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比CPU的速度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入/输出过程起一个缓冲和联络的作用。
注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能2.接口的功能(8种):⑴寻址能力:对送来的片选信号进行识别。
⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。
⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。
⑷联络功能:就绪信号,忙信号等。
⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。
并具有优先级管理功能。
⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。
⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。
⑻错误检测:一类是传输错误。
另—类是覆盖错误。
注:一些接口还可根据具体情况设置其它的检测信息。
第七章 并行通信与并行接口一、概述二、并行接口芯片 Intel .

发声频率 发声时间
sog_f sog_t
dw 330, 330, 330, 392, 330, 330, 294, 262, 220, 262, 294, 330, 0 dw 20, 20, 20, 20, 40, 20, 20, 20, 20, 20, 20, 80, 0
ቤተ መጻሕፍቲ ባይዱ
Stack
Stack Data Sog_f Sog_t Data Code
① 用BIOS功能调用 INT 1AH;(由于8253计数器0 55ms申请一次中断,所以 此方法实现不了任意时间的延时)。
② 改变 8253 计数器0 的计数初值,使其可以以任意时间申请中断;(太复杂)。
③ 延时子程序 ;
综上所述,我们得到了使喇叭发声的频率和时间,因此,就可以控制喇叭发声了。
下面我们看一个喇叭发声过程子程序。 声音频率在 di 寄存器中;发声时间在bx中(几个10ms)。 Sound proc far push ax push dx push di push bx push cx mov al, 0b6h
A1 0 0 1 1 A0 0 1 0 1 CS 0 0 0 0 端口 端口A 端口B 端口C 控制字寄存器
3. 8255A的端口的工作过程
(1) 方式 0
方式 0 是一种基本的输入或输出方式。
• 三个端口的每一个都可由程序选定作为输出或输入; • 没有固定的用于应答的联络信号。
故方式 0 : • 可用于无条件传送的接口电路;
segment
db 100 dup(?) ends segment dw 330, 330, 330, 392, 330, 330, 294, 262, 220, 262, 294, 330, 0 dw 20, 20, 20, 20, 40, 20, 20, 20, 20, 20, 20, 80, 0 ends segment assume cs:code, ds: data, ss: stack
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“0”电平。现采用读输出锁存器代替读脚,图中,上面的三
态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述
可能发生的错误。**
地址/数据 VCC
读锁存器
控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
精品课件
P0口必须接上拉电阻; 三态输入缓冲器的作用:
P0i
精品课件
内部总线 写锁存器
DQ CLK Q
R
P2.n P2口引
T
脚
MUX
读引脚
精品课件
2.P2口作为地址总线
在系统扩展片外程序存储器扩展数据存储器且容量超过 256B (用MOVX @DPTR指令)时,CPU发出控制电平“1”,使多路 开关MUX倒内部地址线。此时,P2输出高8位地址。
微机与外设连接因速度不匹配、信号类型不同(脉 冲、模拟)、传输方式不同(串、并),需要有接口电路 实现电路连接和逻辑联接。
接口是计算机与外设信息交换的桥梁。 3、接口电路应具备的功能
(1) 输入有缓冲、输出有锁存; (2)有应答联络信号; (3)有片选、控制信号; (4)有编程选择工作方式功能。
精品课件
允许
输出控制
精品课件
7.2MCS-51内部并行I/O端口
MCS-51单片机有4个双向并行的8位I/O端口,即 P0~P3。P0口为三态双向口,可驱动8个TTL电路, P1、P2、P3口为准双向口(作为输入时,口线被拉 成高电平,故称为准双向口),其负载能力为4个 TTL电路。
精品课件
1.P0口的结构
它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8
个LSTTL负载。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
精品课件
② 输入时----分读引脚或读锁存器
读引脚:由传送指令(MOV)实现;
下面一个缓冲器用于读端口引脚数据,当执行一条
由端口输入的指令时,读脉冲把该三态缓冲器打开,
这样端口引脚上的数据经过缓冲器读入到内部总线。
地址/数据 VCC
读锁存器
控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
精品课件
② 输入时----分读引脚或读锁存器
读锁存器:有些指令 如:ANL P0,A称为“读-改-写”
VCC
OUTPUT Q1 9013
GND
准双向口:
从图中可以看出,在读入端口数据时,由于输
出驱动FET并接在引脚上,如果T2导通,就会将输入
的高电平拉成低电平,产生误读。所以在端口进行
输入操作前,应先向端口锁存器写“1”,使T2截止,
引脚处于悬浮状态,变为高阻抗输入。这就是所谓
的准双向口。
地址/数据 VCC
读锁存器
控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口;
精品课件
2)P0作为地址/数据总线
在系统扩展时,P0端口作为地址/数据总线使用时, 分为:
▪ P0引脚输出地址/数据信息。
读锁存器
内部总线 写锁存器
第七章 并行I/O接口技术
主要内容
1、接口技术概述 2、MCS-51内部并行I/O端口 3、简单并行I/O口的扩展 4、8155可编程外围并行接口芯片的扩
展 5、LED/键盘接口的扩展
精品课件
7. 1 系统扩展、接口概述
1、系统扩展 单片机虽然各功能部件齐全,但容量较小,如:片
内ROM、RAM、I/O口,不够用时需要扩展,扩展三总线、 ROM、RAM、I/O口。 2 、系统接口
据读入内部总线。
地址/数据 VCC
读锁存器
控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
精品课件
2、P2的内部结构
1)P2口作为普通I/O口
CPU发出控制电平“0” ,使多路开关MUX倒向锁存 器
输出Q端,构成一个准双向口。其功能与P1相同。
读锁存器
VCC 地址 控制
地址/数据 VCC 控制
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
精品课件
2)P0作为地址/数据总线
CPU发出控制电平“1”,打开“与”门,又使多路开 关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地 址或数据。由图上可以看出,上下两个FET处于反相,构 成了推拉式的输出电路,其负载能力大大增强。
精品课件
1)P0口作为普通I/O口
①输出时
CPU发出控制电平“0”封锁“与”门,将输出上拉场 效
应管T1截止,同时使多路开关MUX把锁存器与输出
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
精品课件
驱动场效应管T2栅极接通。故内部总线与P0口同相。由 于输出驱动级是漏极开路电路,若驱动NMOS或其
下图为P0口的某位P0.n(n=0~7)结构图,它由一 个输出锁存器、两个三态输入缓冲器和输出驱动电路 及控制电路组成。从图中可以看出,P0口既可以作为 I/O用,也可以作为地址/数据线用。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
图2-3 P0口的一位结构图
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
精品课件
2)P0作为地址/数据总线 ----真正的双向口
▪ P0引脚输出地址/输入数据
输入信号是从引脚通过输入缓冲器进入内部总线。
此时,CPU自动使MUX向下,并向P0口写“1”,
“读引脚”控制信号有效,下面的缓冲器打开,外部数
7. 1 系统扩展、接口概述
4、单片机系统的扩展与接口原理结构(如下图)
精品课件
7.1 扩展三总线的产生
一、三总线
地址、数据、控制总 线
二、三总线的扩展
用74LS373作为地 址锁存器,使数据和地址 信号分开。
74LS373是三态8D触
发器。
精品课件
7.1 扩展三总线的产生
地址总线扩展电路及地址锁存器74LS373
指令,需要读锁存器。
上面一个缓冲器用于读端口锁存器数据。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
精品课件
**原因:如果此时该端口的负载恰是一个晶体管基极,且原端
口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若
此时直接读端口引脚信号,将会把原输出的“1”电平误读为