第7章 并行IO接口电路扩展设计

合集下载

第7章 并行IO接口

第7章 并行IO接口

第7章并行I/O接口7.1概述图7-1微型机和外设的接口示意图2电子商务基础教程(第二版) 7.1.1 I/O接口的作用1. 实现与不同外设的速度匹配2. 改变数据传送方式3. 改变信号的性质和电平7.1.2外部设备的编址1. 外设端口的单独编址图7-2外设端口的编址方式示意图网络工程技术与实验教程 32. 外设端口和存储器统一编址7.1.3 I/O数据的四种传送方式1. 同步传送图7-3 CPU和开关电路的接口2. 异步传送图7-4 I/O数据的异步传送示意图3. 中断传送图7-5 I/O数据的中断传送示意图4电子商务基础教程(第二版)4. DMA传送图7-6 DMA控制器工作框图网络工程技术与实验教程 5 7.1.4 I/O接口的类型1. 串行I/O接口2. 并行I/O接口7.2 MCS-51内部并行I/O端口及其应用7.2.1 MCS-51内部并行I/O端口6电子商务基础教程(第二版)图7-7 MCS-51各通道某位的结构网络工程技术与实验教程7 7.2.2 MCS-51内部并行I/O端口的应用1. I/O口直接用于输入/输出图7-8例7-1附图2. 8位I/O端口改装为非8位端口3. MCS-51 对外部三态门和锁存器的接口图7-10 8031和74LS244的接口图7-11 8031和74LS373的接口8电子商务基础教程(第二版) 7.3并行I/O接口芯片7.3.1Intel 8255A1. 内部结构和引脚功能图7-12 8255A内部结构网络工程技术与实验教程9 2. 8255A控制字和状态字图7-13 8255A方式控制字格式图7-14 C口单一置复位控制字格式10电子商务基础教程(第二版)图7-15模式1下的状态字格式3. 8255A工作模式图7-16模式2下的状态字格式图7-17 A口模式1选通输入方式下工作示意图图7-18 B口模式1选通输出方式下工作示意图图7-19 A口在模式2方式下的工作示意图7.3.2 Intel 81551. 内部结构和引脚功能图7-20 8155内部结构图7-21 8155命令字格式2. CPU对8155 I/O口的控制图7-22 8155状态字格式3. 8155工作方式图7-23选通I/O数据输入示意图图7-24选通I/O数据输出示意图4. 8155内部定时器及使用图7-25 8155定时器长度字格式及T/OUT输出波形7.4 MCS-51并行I/O端口的扩展7.4.1借用外部RAM地址扩展I/O端口图7-26 8031与打印机的接口7.4.2采用8255A扩展I/O端口图7-27 8031通过8255A与打印机的接口7.4.3采用8155扩展I/O端口1. 8位地址的全译码法图7-28 8031和8155的接口2. 8位地址的线选法3. 16位地址的线选法7.5 MCS-51对LED/LCD/键盘的接口7.5.1 MCS-51对LED的接口1. LED数码显示管显示原理图7-29八段LED数码显示管原理和结构2. MCS-51 对LED的显示图7-30 8031通过8155对LED的接口图7-31例7.7的显示缓冲区7.5.2 MCS-51对LCD的接口1. LCD显示器的基本结构和原理图7-32七段LCD液晶显示器原理和结构2. LCD显示器的驱动原理图7-33 LCD驱动和显示电路3. LCD显示器的主要参数4. MCS-51对字段式LCD的接口图7-34 TSC7211AM原理框图图7-35 YXY4501引脚分配图7-37 412位LCD显示程序框图7.5.3 MCS-51对非编码键盘的接口1. MCS-51对独立式非编码键盘的接口图7-38 8031对独立式键盘的接口2. MCS-51对行列式非编码键盘的接口图7-39 8031对键盘/LED的接口图7-40键盘按键排布图图7-41 SCAN程序流程图7.5.4键盘/显示系统图7-42键盘/显示系统主程序流程图7.6 MCS-51 内部定时器/计数器7.6.1 MCS-51对内部定时器/计数器的控制1. 定时器控制寄存器TCON图7-43定时器控制寄存器TCON各位定义2. 定时器方式寄存器TMOD图7-44定时器方式控制寄存器TMOD格式图7-45定时器/计数器T0方式控制逻辑7.6.2工作方式图7-46定时器/计数器的TH和TL分配3. 方式24. 方式37.6.3 MCS-51对内部定时器/计数器的初始化1. 初始化步骤2. 计数器初值的计算3. 定时器初值的计算7.6.4应用举例图7-47例7-11附图习题与思考题7.1什么叫I/O接口?I/O接口的作用是什么?7.2外设端口有哪两种编址方法?各有什么特点?7.3 I/O数据有哪四种传送方式?各在什么场合下使用?7.4结合图7-6说明DMA传送的工作过程。

第7章 单片机并行IO扩展

第7章 单片机并行IO扩展
第7章
单片机并行I/O扩展
教学基本要求: (1)、了解单片机I/O扩展的原因; (2)、熟悉单片机I/O的控制方式及编址技术; (3)、熟悉单片机I/O的直接应用及简单扩展的方法; (4)、掌握8255芯片的应用方法; (5)、掌握单片机键盘接口技术; (6)、掌握单片机LED显示器接口技术; 教学重点: (1)、8255与MCS-51单片机的接口方法; (2)、单片机独立式键盘接口技术; (3)、单片机LED显示器动态扫描接口技术; 教学难点: (1)、键盘扫描子程序、LED显示子程序的设计。
脉冲边沿触发 外部中断0允许 总中断允许 等待中断 #OFH; 熄灭发光二极管 A; P1; 输入开关状态 状态取反 #0FH; 屏蔽A的高半字节 A的高低半字节交换 A; 开关状态输出 中断返回
补充内容
1、简单输入口扩展
单片机简单I/O扩展
利用中、小规模集成电路芯片实现的单片机I/O扩展。 简单输入口扩展只用于解决数据输入的缓冲问题,因此,简 单输入接口的扩展就是扩展数据缓冲器。 典型芯片:74LS244,245 2、简单输出口扩展
+5 V
80C51 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 G1 G2 D0 D1 D2 D3 D4 D5 D6 D7 S0 S1 S2 S3 S4 S5 S6 S7
+
WR P2.0 RD
74LS244
+
返回
7.2
可编程并行接口芯片8255
所谓可编程的接口芯片是指其功能可由微处理机的指令来加
返回
/G 1Q 1D 2D 2Q 3Q 3D 4D 4Q GND6Q 6D 5D 5Q CK
3 4 7 8 13 14 17 18
D1 D2 D3 D4 D5 D6 D7 D8

实验七 8255 并行IO扩展实验

实验七 8255 并行IO扩展实验

实验七8255 并行I/O扩展实验一、实验要求利用8255 可编程并行口芯片,实现输入、输出实验,实验中用8255PA 口作读取开关状态输入,8255PB 口作控制发光二极管输出。

二、实验目的1、了解8255 芯片结构及编程方法。

2、了解8255 输入、输出实验方法。

三、实验电路及连线1、Proteus 实验电路2、硬件验证实验硬件连接表四、实验说明1、8255A 芯片简介:8255A 可编程外围接口芯片是INTEL 公司生产的通用并行接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式2、使8255A 端口A 工作在方式0 并作为输入口,读取Kl-K8 个开关量,PB 口工作在方式0作为输出口。

五、实验程序流程图六、实验步骤1、Proteus 仿真a.在Proteus 中打开设计文档8255_STM.DSN;b.建立实验程序并编译,仿真;c.如不能正常工作,打开调试窗口进行调试。

参考程序:CODE SEGMENTASSUME CS:CODEIOCON EQU 8006HIOA EQU 8000HIOB EQU 8002HIOC EQU 8004H START:MOV AL,90HMOV DX,IOCONOUT DX,ALNOPSTART1:NOPNOPMOV AL,0MOV DX,IOAIN AL,DXNOPNOPMOV DX,IOBOUT DX,ALJMP START1 CODE ENDSEND START2、实验板验证a.通过USB 线连接实验箱b.按连接表连接电路c.运行PROTEUS 仿真,检查验证结果。

单片机并行I-O口的扩展方法

单片机并行I-O口的扩展方法

单片机并行I/O口的扩展方法摘要:由于在MCS-51单片机开发中P0口经常作为地址/数据复用总线使用,P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等)使用,所以对于51单片机的4个I/O口,其可以作为基本并行输入/输出口使用的只有P1口。

因此在单片机的开发中,对于并行I/O口的扩展十分重要,主要分析3种扩展并行I/O口的方法。

关键词: MCS-51单片机; 并行I/O口; 扩展MCS-51单片机有4个并行的I/O口,分别为P0口、P1口、P2口和P3口,4个并行I/O 口在单片机的使用中非常重要,可以说对单片机的使用就是对这4个口的使用。

这4个并行I/O口除了作为基本的并行I/O口使用,还常作为其他功能使用,如P0口经常作为地址/数据复用总线使用[1], P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等等)使用。

这样,单片机只有P1口作为基本的并行I/O口使用,如果在单片机的使用中对并行I/O口需求较多,对于并行I/O口的扩展就非常重要了。

下面通过具体的实例(8位流水灯设计)来给出几种不同的并行I/O口扩展方法。

为了更好地说明以下几种不同的并行I/O口扩展方法,假设利用单片机实现流水灯的设计。

采用单片机的P1口设计流水灯,电路。

由图1可知,8只LED直接连接在单片机的P1口上,通过对单片机进行编程即可以实现8只发光二极管产生流水灯。

1 使用单片机的串行口扩展并行I/O口单片机有一个全双工的串行口[2],这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为移位寄存器使用。

当单片机的串行口工作在模式0时,若外接一个串入/并出的移位寄存器(74LS164),就可以扩展一个8 bit并行输出口;若外接一个并入/串出的移位寄存器(74LS165),就可以扩展一个8 bit并行输入口。

,单片机外接一个串入/并出的移位寄存器(74LS164),这样就可以扩展8 bit并行输出口。

第七章并行IO接口上汇总精品PPT课件

第七章并行IO接口上汇总精品PPT课件
对多个外设的情况,则CPU按一定顺序依次查询 (轮询)。先查询的外设将优先进行数据交换
查询环节 – 寻址状态口 – 读取状态寄存器的标志位 – 若不就绪就继续查询,直至就绪
传送环节 – 寻址数据口 – 是输入,通过输入指令从数据端 口读入数据 – 是输出,通过输出指令向数据端 口输出数据
输入状态 N 就绪?
中断请求 继续执行
中断 服务 程序
返回断点
中断处理
中断处理
中断处理
CPU做其他工作
做其他工作
CPU
t
外设
I/O工作
I/O工作
P242 图7-5
中断传送流程
4. DMA方式
• 希望克服程序控制传送的不足: 外设→CPU→内存 外设←CPU←内存
• 直接存储器存取DMA: 外设→存储器 外设←存储器
▪ 在无片外扩展存储器的系统中,这4个端口的 每个都可以作为准双向通用I/O端口使用。在 具有片外扩展存储器的系统中,P2口作为高8 位地址线,P0口分时作为低8位地址线和双向 数据总线。
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
一般外设均可以提供一些反映其状态的信号, 如对输入设备来说,它能够提供“准备好” (“READY”)信号,“READY” =1 表示输 入数据已准备好。输出设备则提供 “忙”(“BUSY”)信号,“BUSY”=1表示当前 时刻不能接收CPU来的数据,只有当“BUSY” =0时,才表明它可以接受来自于CPU的输出数 据。
You Know, The More Powerful You Will Be

单片机基础 第七章 单片机IO扩展及应用

单片机基础 第七章 单片机IO扩展及应用

单片机基础第七章单片机IO扩展及应用《单片机基础第七章单片机 IO 扩展及应用》在单片机的应用中,IO 端口(Input/Output 端口,输入/输出端口)往往是有限的。

然而,在实际的项目开发中,我们可能需要连接更多的外部设备,这就涉及到单片机 IO 扩展的知识。

单片机的 IO 端口是与外部世界进行交互的重要通道。

通过这些端口,单片机可以接收外部的输入信号,例如按键的按下、传感器的数据等,同时也可以向外输出控制信号,驱动各种执行器,如 LED 灯、电机等。

但当我们需要连接的外部设备数量超过单片机本身所提供的IO 端口数量时,就必须考虑进行 IO 扩展。

IO 扩展的方式多种多样,常见的有并行扩展和串行扩展。

并行扩展是通过增加并行接口芯片来实现的。

并行扩展的优点是数据传输速度快,能够在一个时钟周期内同时传输多个位的数据。

例如,我们可以使用 8255 芯片来扩展并行 IO 端口。

8255 具有三种工作方式,可以根据实际需求灵活配置为输入端口或输出端口。

在进行并行扩展时,需要注意地址线的连接和译码。

通常,我们会使用地址译码器来生成芯片的片选信号,确保单片机能够准确地访问到扩展的 IO 端口。

串行扩展则是通过串行通信的方式来实现 IO 扩展。

相比于并行扩展,串行扩展所需的连线较少,有利于节省电路板的空间和降低成本。

常见的串行扩展方式有SPI(Serial Peripheral Interface,串行外设接口)和 I2C(InterIntegrated Circuit,集成电路总线)。

SPI 是一种高速的全双工同步串行通信接口,通常需要四根线:时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和片选线(CS)。

通过合理地配置这些信号线,我们可以实现多个 SPI 设备的连接和数据传输。

I2C 则是一种两线式串行总线,只需要两根线:串行数据线(SDA)和串行时钟线(SCL)。

chap07并行IO接口整理版.ppt

chap07并行IO接口整理版.ppt

12/5/2019
-18-
7.3 并行I/O接口芯片
在控制系统中,有时需要利用I/O接口芯片扩展CPU 的并行I/O端口.
12/5/2019
-19-
7.3.1 Intel 8255A
8255提供了A,B,C三个8位端口
与 外 设 连 接
与CPU连接: DB,AB,CB
12/5/2019
-20-
12/5/2019
-31-
例: 实验6 定时/计数器实验
12/5/2019
-32-

第7章 本章结束!
12/5/2019
-33-
P1口仅有数据输入/出功能
P3口除用数据输入/出外,还有第二功能.
12/5/2019
-12-
P3口的功能 P3口除用数据输入/出外,还有第二功能.
12/5/2019
-13-
内部并行I/O接口的位结构-P0
&
12/5/2019
-14-
内部并行I/O接口的位结构-P1
12/5/2019
12/5/2019
-6-
无条件传送举例(示意图)(典型图,课程设计)
/RD /WR
12/5/2019
-7-
2.异步传送,又称条件传送或程序查询传送方式(polling)
在CPU与外设进行数据传送之前,CPU查询一下外 设的状态,当外设准备就绪进行传送;若外设未 准备好,则CPU处于等待状态。
2. 8255的控制字—方式控制字
12/5/2019
-21-
C口单一置复位控制字格式
12/5/2019
-22-
3.8255工作模式 模式0: 大部分在此方式下工作 模式1 模式2

单片机基础(第3版)_第7章

单片机基础(第3版)_第7章

方式2(仅用于A口) 方式2(仅用于A 输入 I/O I/O I/O INTRA STBA IBFA × × 输出 I/O I/O I/O INTRA × × ACKA OBFA
联络线用于输入时含义如下: 联络线用于输入时含义如下: 选通信号输入端, (1)STB(Strobe)——选通信号输入端,低电平有 ) ( ) 选通信号输入端 它由外设输入, 效。它由外设输入,当STB=0时,8255接收外设送来 时 接收外设送来 位数据。 的8位数据。 位数据 输入缓冲器满, (2)IBF(Input Buffer Full)——输入缓冲器满,高 ) ( ) 输入缓冲器满 电平有效。 电平有效。当IBF=1时,表示当前有一个新数据在输 时 入缓冲器中,可作为状态信号, 查询用。 入缓冲器中,可作为状态信号,供CPU查询用。 查询用 它是8255送往 ( 3) INTR( Interrupt Request) ——它是 ) ( ) 它是 送往 CPU的中断请求信号,高电平有效。 在STB=IBF=1时, 的中断请求信号, 的中断请求信号 高电平有效。 时 INTR=1。也就是说,当选通信号 结束, 。也就是说,当选通信号STB结束,已将一个 结束 数据送入输入缓冲器中, 并且输入缓冲器满信号IBF 数据送入输入缓冲器中 , 并且输入缓冲器满信号 已经为高电平时, 会向CPU发出中断请求信号 已经为高电平时 , 8255会向 会向 发出中断请求信号 INTR=1。在CPU响应中断后读取缓冲器的数据时,由 响应中断后读取缓冲器的数据时, 。 响应中断后读取缓冲器的数据时 单片机RD的下降沿将 的下降沿将INTR降为 , 使 IBF无效, 通知 降为0, 无效, 单片机 的下降沿将 降为 无效 外设再一次输入数据。 外设再一次输入数据。

7并行IO接口电路扩展

7并行IO接口电路扩展

CS
0 0 0 0
A1 0 0 1 1
A0 0 1 0 1
RD
0 0 0 0
WR
1 1 1 1
功能 A口→数据总线 B口→数据总线 C口→数据总线 状态寄存器→数据总线
输出
输出 输出
0
0 0
0
0 1
0
1 0
1
1 1
0
0 0
数据总线→ A口
数据总线→ B口 数据总线→ C口
输出
禁止
0
1
1
x
1
x
1
x
0
x
例7-4:8255A作为连接打印机的接口。
下图是通过8255A连接打印机的接口电路,数据传送采用查询方 式。地址译码采用线选法,将A7与8255A的 CS 端相连,其低8位口 地址:A口为0x7C, B口为0x7D,C口为0x7E, 命令口(控制寄存器) 为0x7F。
编制打印50个字符的程序,该数据存于片内RAM从20H开始的50个连续单元 中。程序如下:#include <reg51.h>
P0.7~P0.0 D7~D0 PA7~PA0 PC4 PC5 STBA IBFA PC3 输入设备
D0~D7
INTE A
INT0
8031
EA
& 1
8255A
其中,INTE为中断允许触发器。 INTEA受PC4位置1/置0控制 方式1输入 INTEB受PC2位置1/置0控制
方式1输出
INTEA受PC6位置1/置0控制 INTEB受PC2位置1/置0控制
(1)与外设相连接的有: PA7~PA0:A口I/O线 PB7~PB0:B口I/O线 PC7~PC0:C口I/O线 (2)与单片机相连接的有: D0~D7 数据总线 RESET:复位信号,高有效。当RESET有 效时, 3个端口被设为输入方式。 CS :片选信号,低有效。只有当 CS 有效时, 才选中芯片,允许8255A与CPU交换信息。 RD :读信号,低有效。当 RD 有效时,CPU可 以从8255A中读取输入数据。 WR :写信号,低有效。当 WR 有效时,CPU 可以往8255A中写入控制字或数据

第七章 IO扩展及应用

第七章 IO扩展及应用

MOV DPTR,#7FFCH
MOVX A,@DPTR
RET
精选版课件ppt
17
*&7-4 可编程并行接口芯片8155
与8255A相比,8155具有更强的功能,可 以扩展单片机的I/O口、定时器、外部数据存储
器RAM。 1、8155芯片的构成 1)逻辑结构
2)引脚图 3)接口信号
精选版课件ppt
18
精选版课件ppt
8155
Vcc PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
20
PA0-PA7 PB0-PB7 PC0-PC5
AD0-AD7
IO/ M
TIMER IN TIMER OUT
RD、WR ALE CE
若端口A工作于方式1,则B可工作于方式0;

若端口B工作于方式1,则A可工作于方式0或余下的
13位可工作于方式0;

若端口A和B同时工作于方式1,端口C余下的两位还
可用于传送数据或控制信号。
精选版课件ppt
14
3)方式2
也称选通的双向I/O方式,仅适用于端口A, 这时A口的 PA7-PA0作为双向的数据总线, 端口C有5条引脚用作A的握 手信号线和中断请求线,而B口和C口余下的3位仍可工作于 方式0或1。 它可以认为是方式1输出和输入的组合但有以下不 同:
数据端口A、B、C;A组控制和B组控制;读/写控制逻 辑电路;数据总线缓冲器。结构如图所示
精选版课件ppt
10
端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数 据输入锁存器,可作为数据输入或输出端口, 并工作于三种 方式中的任何一种。

第七章单片机IO口扩展

第七章单片机IO口扩展

先设好开关状态,然后发出中断请求信号,改变指示灯亮灭。 先设好开关状态,然后发出中断请求信号,改变指示灯亮灭。 ORG AJMP ORG AJMP ORG MAIN: SETB SETB SETB HERE:SJMP ORG IOINT:MOV MOV MOV SWAP MOV RETI 0000H MAIN 0003H IOINT 0100H IT0 ;脉冲边沿触发 EX0 ;外部中断0允许 EA ;总中断允许 HERE ;等待中断 0500H A,#0FFH ;中断程序 P1,A ;熄发光二极管 A,P1 ;输入开关状态 A P1,A ;开关状态输出
锁存器扩展输出口
• 利用74LS273进行输出口的扩展
1 11 3 4 7 8 13 14 17 18 CLR CLK 1Q 2Q 1D 3Q 2D 4Q 3D 5Q 4D 6Q 5D 7Q 6D 8Q 7D 8D
31 EA/VP X1 X2 RESET INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 VCC 1 11 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10 3 4 7 8 13 14 17 18 CLR CLK 1D 2D 3D 4D 5D 6D 7D 8D 74F273 2 5 6 9 12 15 16 19 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
2)查询方式(有条件传送方式)
DB
先查询I/O设备当前状态, 若准备就绪,则交换数据, 否则循环查询状态。

并行I-O接口的扩展

并行I-O接口的扩展
MOVDPTR,#OFF7CH;A口地址→DPTR MOVXA,@DPTR;从A口读数据
MOVDPTR,#OFF7DH;B口地址→DPTR MOVA,#DATA1;要输出的数据#DATA1→A MOVX@DPTR,A;将#DATA1送B口输出 MOVDPTR,#OFF7EH ;C口地址→DPTR MOVA,#DATA2;#DATA2→A MOVX@DPTR,A;将#DATA2送C口输出
8255A的C口8位中的任一位,均可用指令来置位或复位。例 如,如果想把C口的PC5置1,相应的控制字为00001011B=0BH (关于8255A的C口置位/复位的控制字说明参见图5 18),程 序如下:
MOVDPTR,#OFF7FH;控制口地址→DPTR MOVA,#0BH;控制字→A MOVX@DPTR,A;控制字→控制口,PC5=1
(2)方式1:选择输入/输出方式。方式1主要用于中断和查 询数据传送方式,只有A口和B口可以选择这种工作方式。 (3)方式2:双向传送方式。只有A口可以使用方式2,既可以输 入数据,也可以输出数据,此时C口中的PC3~PC7用做A口的控制 和联络信号。
8255A的3种工作 方式由写入控制字寄 存器的方式控制字来 决定。方式控制字的 格式如图所示。3个 端口中C口被分为两 个部分,上半部分随 A口称为A组,下半部 分随B口称为B组。其 中A口可工作于方式0、 1和2,而B口只能工 作在方式0和1。
输入操作: MOV DPTR,#
0FEFFH
MOVX A,
@DPTR
输出操作: MOV A,#DATA

入 0FDFFH
信 号
MOV DPTR,# MOVX @DPTR,
A
1.2 可编程并行I/O接口8255A

第7章MCS-51单片机的并行IO接口及扩展

第7章MCS-51单片机的并行IO接口及扩展
地址/数据 控制 Vcc T1 P0.x D Q CP Q MUX T2
2. P1口一个位的结构
读锁存器 Vcc
*
上拉电阻 P1.x
内部总线 写
D Q CP Q T2
读引脚
P1口的作用特点: 1)内部具备上拉电阻,执行输出功能是,无须连接外部上拉电阻。 2)若要执行输入功能,必须先输出高电平(1)才能读取该口所 连接的外部数据。
• 例7-2-1 试编出模拟图7-2-5中电路的程序。
• 在51系列的C语言中对四个I/O端口进行编程,必 须要利用8051的C语言头文件,其中给出P0~P3 标号的定义。并且可以使用Px^y格式对P0~P3端 口的单个位进行表示,其中x是端口0、1、2或3, y是该端口的位0~7,例如P1^7指示P1.7。
8255A的内部结构如图7-4-2所示,由三部分电路组成: 与CPU的接口电路、内部控制逻辑电路和与外设连接的输 入/输出接口电路。 (1)与CPU的接口电路 (2)内部控制逻辑电路 (3)输入/输出接口电路
图7-4-2 8255A的内部结构
表7-4-1 8255A的端口分配及读/写功能
7.4.2 8255A的工作方式及其初始化编程
地址 控制
Vcc * 上拉电阻 P2.x
D Q CP Q
MUX
T2
4 . P3口 P3口一个位的结构
选择输出功能 读锁存器 Vcc * 上拉电阻 P3.x 内部总线 写 D Q CP Q T2
读引脚
第二输入功能
P3口的第二功能
P3引脚 P3.0 P3.1 P3.2 兼用功能 串行通讯输入(RXD) 串行通讯输出(TXD) 外部中断0(INT0)
7.3 用TTL芯片扩展简单的I/O接口

第七章 并行接口扩展

第七章 并行接口扩展
图7-5 P1口的应用 END
【例7-2】电路如图7-6所示,要求当按钮K每按一次,CPU检 测开关K0和K1的状态,根据K0和K1的状态,决定3个LED的亮 灭 (1)K1、K0均闭合,绿灯亮,红灯和黄灯灭; (2)K1闭合、K0打开,黄灯亮,红灯和绿灯灭; (3)K1打开、K0闭合,红灯亮,黄灯和绿灯灭; (4)K1打开,K0打开,全灭。 试根据以上要求编制程序。 OGR 0000H SJMP START ORG 0003H AJMP KINT ORG 0200H START:MOV SP,#50H SETB IT0 SETB EX0 SETB EA 图7-6 P1口和中断的应用 SJMP $
SEND:INC
DPTR
MOVX @DPTR,A RETI
• 本章作业 • P132 • 7-9 • 7-10 • 7-12 • 7-13 • 7-14
7.5 用8155扩展I/O接口 7.5.1 8155结构组成和引脚功能
图7-26 8155逻辑结构
8155的地址编码及工作方式 (1)地址编码 表7-2 8155芯片的I/O口及定时器编址
(2) 命令寄存器格式
图7-28 命令寄存器格式
(3)状态寄存器
图7-29 8155状态寄存器格式
(4) 定时器时间常数寄存器
图7-30 8155定时器寄存器格式
表7-3 定时器输出方式表
7.5.2 8155应用举例 RAM地址:7E00H~7EFFH I/O口地址: 命令状态口 PA口 7F00H 7F01H
PB口
PC口 定时器低字节
图7-31 8155与80C51的连接
7F02H
7F03H 7F04H 7F05H
定时器高字节
A1 0 0 1 1

第7章单片机并行IO口的扩展

第7章单片机并行IO口的扩展

7.3.4 8255A的控制字 8255A有三种工作方式: (1) 方式0:基本输入输出; (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。 1.工作方式选择控制字
三种工作方式由方式控制字来决定。 控制字格式如下。
C口上半部分(PC7~PC4)随A口称为A组, C口下半部分(PC3~PC0)随B口称为B组。 其中A口可工作于方式0、1、和2,而B口只能工作在 方式0和1。
• 分析:由图7-8可知,P2.7=0才选中该片8255,A1 A0(P2.1 P2.0)为00 01对应PA口和PB口、为11时对应控制 口。其余地址写1,A口、B口、控制口地址分别为7CFFH、 7DFFH、7FFFH。设定PA口方式0输出, B口方式0输入,控
7.1.3 I/O端口的编址方式 I/O端口编址是给所有I/O接口中的寄存器编址。
I/O端口编址两种方式:独立编址与统一编址。 1.独立编址方式
I/O寄存器地址空间和存储器地址空间分开编址, 但需专门读写I/O的指令和控制信号。 2.统一编址方式
I/O寄存器与数据存储器单元同等对待,统一编址。 不需要专门的I/O指令,直接使用访问数据存储器。 的指令进行I/O操作,简单、方便且功能强。
(2)任一个端口都可以设定为输入或输出,各端口 的输入、输出可构成16种组合。
(3)数据输出锁存,输入不锁存。
例 假设8255A的控制字寄存器地址为FF7FH,则令A口 和C口的高4位工作在方式0输出, B口和C口的低4位 工作于方式0输入,初始化程序:
MOV DPTR,#0FF7FH ;控制字寄存器地址送DPTR
2.I/O口接口的作用
CPU与I/O设备交换信息情况较为复杂,所以通常 I/O设备并不直接与CPU进行信息交换,而是通过相应 的输入/输出接口(称为I/O接口)来进行的。I/O接 口是CPU和I/O设备之间进行信息交换的中间环节,其 主要功能如下: (1)对输入输出数据进行缓冲、隔离和锁存,实现 速度匹配。 (2)完成信息格式的变换,如串并转换。 (3)实现电气特性的匹配。 (4)选择设备或地址译码等。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学交通运输工程学院中南大学是一所学科齐全、工学和医学见长、具有优良办学传统的教育部直属全国重点大学,
是首批进入国家“211工程”重点建设的高校,
也是国家“985工程”部省重点共建的高水平大学。

2000年4月29日,经国务院批准,由湖南医科大学、长沙铁道学院与中南工业大学合并组建而成。

2004年列为中管高校。

7.1 概述
单片机本身集成了I/O口。

89C51:P0~P3口均可作I/O (若不扩展外部并行接口)。

8031:P1、P3口可作I/O。

若在应用中I/O口线或片内资源不够,则需外接芯片进行扩展。

扩I/O接口的功能是:
1.对单片机输出的数据锁存
锁存数据线上瞬间出现的数据,以解决单片机与I/O设备的速度协调问题。

2.对输入设备的三态缓冲
外设传送数据时要占用总线,不传送数据时必须对总线呈高阻状态。

利用I/O接口的三态缓冲功能,可以实现I/O设备与数据总线的隔离,便于其它设备的总线挂接。

4.时序协调
不同的I/O设备定时与控制逻辑是不同的,并与CPU的时序往往是不一致的,这就需要I/O接口进行时序的协调。

7.2可编程并行I/O接口芯片8255A
可编程是指可由用户编程定义接口
的功能,如输入、输出、位控等。

7.2.1 8255A的结构
1. 概述
8255A是Intel公司生产的标准外围
8255A
接口电路。

+5V电源供电,
40Pin,DIP封装。

它有PA、PB、
PC 3个端口共24条I/O线,可以通
过编程的方法来设定端口的各种
I/O功能。

7.2.1 8255A 的结构(续1)
(1)与外设相连接的有:PA7~PA0:A 口I/O 线PB7~PB0:B 口I/O 线PC7~PC0:C 口I/O 线(2)与单片机相连接的有:
D0~D7 数据总线
RESET :复位信号,高有效。

当RESET 有效时, 3个端口被设为输入方式。

:片选信号,低有效。

只有当 有效时,
才选中芯片,允许8255A 与CPU 交换信息。

:读信号,低有效。


有效时,CPU 可以从8255A 中读取输入数据。

:写信号,低有效。

当 有效时,CPU 可以往8255A 中写入控制字或数据
CS CS RD RD WR WR
2. 8255A的结构
7.2.2 8255A的操作说明
在使用前需进行初始化,即要编程定义各口的工作方式。

1.工作方式选择
有3种工作方式:方式0、方式1和方式2。

这些工作方式可编程来指定。

方式0:基本输入/输出方式,3个口都可以通过方式控制字设定为输入或输出。

主要掌握此种工作方式。

方式1:选通输入/输出方式
方式2:带选通双向传送方式(仅A口有)
(1)方式选择控制字
向8255的控制寄存器写入代码(方式选择控制字)用于确定各口的工作方式及数据传送方向,其格式如图所示。

A1
A0 5V
89C51
使用头文件absacc.h absacc.h
中定义的宏来访问绝对地址。

用 XBYTE 宏来定义访问外部RAM 的地址。

例7-2(功能同例7-1)
#include <reg51.h>
#include <#include <absacc.h absacc.h absacc.h>
>#define PA XBYTE[0x0000] //定义PA 为外部RAM 地址为0x0000的单元#define PB XBYTE[0x0001] //定义B 口#define PC XBYTE[0x0002] //定义C 口#define CON XBYTE[0x0003] //定义控制口Main()
{ char { char xA xA xA;
; CON=0x91; //A 口入,C 口L 入,B 口出,C 口H 出 PB=0xaa; //B PB=0xaa; //B 口的PB1,3,5,7为"1",PB0,2,4,6为"0"0““ PC=0; //C 口的PC4,5,6,7为"0" CON=0x09; //PC4=1(对C 口进行位控 xA xA xA=PA; //=PA; //=PA; //xA xA 中为A 口引脚的状态 ……………… }
(b)A口、B口均为输出时(a)A口、B口均为输入时; (b)A
)A1A0
复位电路
89C51
5V
7.3 可编程RAM/IO接口8155/8156
它含有1个256字节的RAM、1个14位定时/计数器以及3个并行I/O 口,其中A口、B口均为8位,C口为6位。

A口、B口既可作为基本I/O 口,也可作为选通I/O口;
C口除可作为基本I/O
口外,还可用作A口、
B口的应答控制联络信
号线。

此外,8155内部
还有一个控制寄存器
组,用来存放控制命令
字。

其余略
74LS377的地址: 0xxx 0xxx xxxx xxxx xxxx xxxx xxxx
xxxxB 0x7FFF 可作为该口地址。

对该口的输出操作如下:
char x1, char x1, char x1, xdata xdata xdata *ptr ptr;
; ptr=0x7FFF; //ptr指向74LS377输出口
1 x x
0 1 0/1 =Di 0 1 0/1 = 0 0 x =
89C51
(a)
(b)
串行扩展概述
串行扩展特点:占用口线少,充分发挥单片机的I/O的资源;简化连接线路,缩小印板面积;扩展性好,可简化系统的设计。

串行扩展的缺点: 信号传输速度较之并行慢,但随着CPU芯片工作频率的提高,以及串行扩展芯片功能的增强,这些缺点将逐步淡化.
1.一线制
典型代表为Dallas公司推出的单总线(1-wire)。

二线制的典型代表为philips公司推出的I2C总线(Intel
Integrated Circuit BUS)。

目前I2C总线的芯片很多,如存储器RAM,EEPROM,时钟,AD转换,DA转换,显示键盘接口,I/O接口等
三线制(不包括片选线)主要有两种:
⑴ 由Motorala公司推出的SPI(Serial peripheral
Interface),
⑵ 由NS公司推出的Micro wire /PLUS。

三线制的芯片也很多,如存储器RAM,EEPROM,时钟,AD转换,DA转换,显示键盘接口,I/O接口等。

中南大学交通运输工程学院中南大学是一所学科齐全、工学和医学见长、具有优良办学传统的教育部直属全国重点大学,
是首批进入国家“211工程”重点建设的高校,
也是国家“985工程”部省重点共建的高水平大学。

2000年4月29日,经国务院批准,由湖南医科大学、长沙铁道学院与中南工业大学合并组建而成。

2004年列为中管高校。

相关文档
最新文档