单片机原理与接口技术第 12章 8051单片机接口扩展技术
8051单片机有 4个 I/O口
8051单片机共有 4个 I/O口,通常 P2口、
P0口用于存储器的扩展,P3口一般使用第二功能,这样,只剩下 P1口作为通用的 I/O
口。
第 12章 8051单片机接口扩展技术
8051单片机的资源
8051单片机也提供了很多的资源,如串行口、定时器 /计数器、中断等,但是在大部分单片机应用系统中,这些资源不能满足应用的需要,因此,都不可避免地要进行扩展。 I/O口扩展有两种基本类型:简单 IO扩展和可编程 IO口扩展。
第 12章 8051单片机接口扩展技术
12.1 简单 I/O扩展扩展输出口选择芯片要点是具有锁存功能。这是因为输出的数据在数据线上保持的时间是很短暂的,必须锁存起来用以控制外围设备。常用芯片是 74LS373,
74LS273等。
第 12章 8051单片机接口扩展技术未被选通的输入接口应以高阻与数据线隔离输入接口芯片选择的要点是必须具有三态缓冲功能。即被选通的输入接口可与系统的数据总线接通输入数据,未被选通的输入接口应以高阻与数据线隔离。
常用芯片是 74LS244。
第 12章 8051单片机接口扩展技术
8051单片机是将外部 I/O口和外部
RAM统一编址的,每个扩展的接口相当于一个扩展的外部 RAM单元。
因此,在连接芯片时,可利用执行访问外部 RAM单元指令时所产生的 和信号来参加片选。
RD WR
第 12章 8051单片机接口扩展技术简单 I/O扩展接实验
74LS244作为输入口,接收 8个按键的信息,
74LS273作为输出口,把信息传递给 LED。
第 12章 8051单片机接口扩展技术第 12章 8051单片机接口扩展技术
#include <reg51.h>
#include <absacc.h>
#define io XBYTE[0x7fff]
void main()
{ unsigned char state=0xff,temp;
while(1)
{ temp=io;
if(state!=temp)
{ state=temp;
io=state;
}
}
}
第 12章 8051单片机接口扩展技术
12.2 可编程 I/O接口芯片扩展完成一些复杂的接口动作,仅靠
74LS244,74LS373等芯片,显然不能满足要求。有许多具有复杂功能的接口芯片都可与 8051单片机直接相连,成为 8051的扩展接口。例如:可编程中断控制器
8259A;可编程串行接口芯片 8251A;可编程外围定时器芯片 8253;可编程 I/O接口芯片 8255A;可编程接口芯片 8155等第 12章 8051单片机接口扩展技术可编程并行接口芯片 8255A
8255A是 Intel公司生产的可编程输入输出接口芯片,它具有 3个 8位的并行 I/O口,
具有三种工作方式,可通过程序改变其功能,因而使用灵活方便,通用性强第 12章 8051单片机接口扩展技术
12,2,1 8255A引脚功能
8255A采用 NMOS工艺制造,有 40个引脚,采用双列直插式封装形式。
第 12章 8051单片机接口扩展技术
8255A
引脚图第 12章 8051单片机接口扩展技术
CS
RD
WR
各引脚功能如下:
D7~D0:三态双向数据线,与单片机数据总线连接,
用来传送数据信息。
,片选信号线,低电平有效,表示芯片被选中。
:读出信号线,低电平有效,控制数据的读出。
:写入信号线,低电平有效,控制数据的写入。
第 12章 8051单片机接口扩展技术各引脚功能
VCC,+5V电源。
PA7~PA0,A口的输入 /输出线。
PB7~PB0,B口输入 /输出线。
PC7~PC0,C口输入 /输出线。
RESET:复位信号线。
A1~A0:地址线,用来选择 8255内部端口。
GND:地线。
第 12章 8051单片机接口扩展技术第 12章 8051单片机接口扩展技术说明图为 8255A 的内部结构,其中包括三个并行数据输入 /输出端口,二个工作方式控制电路,一个读 /写控制逻辑电路和 8位总线缓冲器。
第 12章 8051单片机接口扩展技术
8255A各端口操作第 12章 8051单片机接口扩展技术
12,2,2 8255A 的控制字第 12章 8051单片机接口扩展技术
C口置位 /复位控制字第 12章 8051单片机接口扩展技术
12,2,3 8255A 的工作方式
8255A 的工作方式 8255A 共有三种工作方式,即,
方式 0、
方式 1
方式 2。
第 12章 8051单片机接口扩展技术方式 0(基本输入 /输出方式):
在这种工作方式下,A口,B 口及 C
口的两个 4 位口中的任何一个端口都可以被编程设定为输入或输出方式,但不能既作输入,又作输出。在作为输入时,输入数据不被锁存,而作为输出时,数据被锁存。在方式 0 时,不需要任何选通信号或联络信号。
第 12章 8051单片机接口扩展技术方式 1(选通输入 /输出方式):
方式 1也叫选通的输入 /输出方式。和方式 0相比,最重要的差别是 A口和 B口用方式 1进行输入输出传输时,要利用 C口提供的选通信号和应答信号,而且这些信号与 C口的数位有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。
第 12章 8051单片机接口扩展技术
1、方式 1输入:
当 A口按照工作方式 1输入时,控制联络信号如图所示,
第 12章 8051单片机接口扩展技术控制联络信号第 12章 8051单片机接口扩展技术方式 1输入控制时序第 12章 8051单片机接口扩展技术
1、方式 1输出:
当 A口按照工作方式 1输出时,控制联络信号如图所示,
第 12章 8051单片机接口扩展技术控制联络信号图第 12章 8051单片机接口扩展技术方式 1输出控制时序第 12章 8051单片机接口扩展技术方式 2(双向传输方式):
8255方式 2也叫双向传输方式。该方式只适用于端口 A。
在方式 2下,外设在 8位数据总线上,
既能往 CPU发送数据,又能从 CPU接收数据。当 A端口作于方式 2时,端口 C中有固定的 5根线配合 A口工作,用来提供相应的控制信号和状态信号。( PC3,PC4、
PC5,PC6,PC7配合 A口)。
第 12章 8051单片机接口扩展技术方式 2
端口的控制信号第 12章 8051单片机接口扩展技术方式 2输入输出时序第 12章 8051单片机接口扩展技术
12,3 8255A方式 0输入输出实验编写程序,使用 8255A可编程芯片,来检测 8位开关的状态,并控制 8位 LED。使 LED的变化与开关状态相一致。 PA
检测,PB控制。
第 12章 8051单片机接口扩展技术
12,3 8255A方式 0输入输出实验编写程序,使用 8255A可编程芯片,来检测 8位开关的状态,并控制 8位 LED。使
LED的变化与开关状态相一致。 PA检测,
PB控制。
第 12章 8051单片机接口扩展技术第 12章 8051单片机接口扩展技术程序
#include <reg51.h>
#include <absacc.h>
#define COM8255 XBYTE[0xff7f]
#define PA8255 XBYTE[0xff7c]
#define PB8255 XBYTE[0xff7b]
第 12章 8051单片机接口扩展技术
void main()
{ unsigned char ch;
COM8255=0x99;
while(1)
{ ch=PA8255;
PB8255=ch;
}
}
第 12章 8051单片机接口扩展技术第 12章结束
8051单片机有 4个 I/O口
8051单片机共有 4个 I/O口,通常 P2口、
P0口用于存储器的扩展,P3口一般使用第二功能,这样,只剩下 P1口作为通用的 I/O
口。
第 12章 8051单片机接口扩展技术
8051单片机的资源
8051单片机也提供了很多的资源,如串行口、定时器 /计数器、中断等,但是在大部分单片机应用系统中,这些资源不能满足应用的需要,因此,都不可避免地要进行扩展。 I/O口扩展有两种基本类型:简单 IO扩展和可编程 IO口扩展。
第 12章 8051单片机接口扩展技术
12.1 简单 I/O扩展扩展输出口选择芯片要点是具有锁存功能。这是因为输出的数据在数据线上保持的时间是很短暂的,必须锁存起来用以控制外围设备。常用芯片是 74LS373,
74LS273等。
第 12章 8051单片机接口扩展技术未被选通的输入接口应以高阻与数据线隔离输入接口芯片选择的要点是必须具有三态缓冲功能。即被选通的输入接口可与系统的数据总线接通输入数据,未被选通的输入接口应以高阻与数据线隔离。
常用芯片是 74LS244。
第 12章 8051单片机接口扩展技术
8051单片机是将外部 I/O口和外部
RAM统一编址的,每个扩展的接口相当于一个扩展的外部 RAM单元。
因此,在连接芯片时,可利用执行访问外部 RAM单元指令时所产生的 和信号来参加片选。
RD WR
第 12章 8051单片机接口扩展技术简单 I/O扩展接实验
74LS244作为输入口,接收 8个按键的信息,
74LS273作为输出口,把信息传递给 LED。
第 12章 8051单片机接口扩展技术第 12章 8051单片机接口扩展技术
#include <reg51.h>
#include <absacc.h>
#define io XBYTE[0x7fff]
void main()
{ unsigned char state=0xff,temp;
while(1)
{ temp=io;
if(state!=temp)
{ state=temp;
io=state;
}
}
}
第 12章 8051单片机接口扩展技术
12.2 可编程 I/O接口芯片扩展完成一些复杂的接口动作,仅靠
74LS244,74LS373等芯片,显然不能满足要求。有许多具有复杂功能的接口芯片都可与 8051单片机直接相连,成为 8051的扩展接口。例如:可编程中断控制器
8259A;可编程串行接口芯片 8251A;可编程外围定时器芯片 8253;可编程 I/O接口芯片 8255A;可编程接口芯片 8155等第 12章 8051单片机接口扩展技术可编程并行接口芯片 8255A
8255A是 Intel公司生产的可编程输入输出接口芯片,它具有 3个 8位的并行 I/O口,
具有三种工作方式,可通过程序改变其功能,因而使用灵活方便,通用性强第 12章 8051单片机接口扩展技术
12,2,1 8255A引脚功能
8255A采用 NMOS工艺制造,有 40个引脚,采用双列直插式封装形式。
第 12章 8051单片机接口扩展技术
8255A
引脚图第 12章 8051单片机接口扩展技术
CS
RD
WR
各引脚功能如下:
D7~D0:三态双向数据线,与单片机数据总线连接,
用来传送数据信息。
,片选信号线,低电平有效,表示芯片被选中。
:读出信号线,低电平有效,控制数据的读出。
:写入信号线,低电平有效,控制数据的写入。
第 12章 8051单片机接口扩展技术各引脚功能
VCC,+5V电源。
PA7~PA0,A口的输入 /输出线。
PB7~PB0,B口输入 /输出线。
PC7~PC0,C口输入 /输出线。
RESET:复位信号线。
A1~A0:地址线,用来选择 8255内部端口。
GND:地线。
第 12章 8051单片机接口扩展技术第 12章 8051单片机接口扩展技术说明图为 8255A 的内部结构,其中包括三个并行数据输入 /输出端口,二个工作方式控制电路,一个读 /写控制逻辑电路和 8位总线缓冲器。
第 12章 8051单片机接口扩展技术
8255A各端口操作第 12章 8051单片机接口扩展技术
12,2,2 8255A 的控制字第 12章 8051单片机接口扩展技术
C口置位 /复位控制字第 12章 8051单片机接口扩展技术
12,2,3 8255A 的工作方式
8255A 的工作方式 8255A 共有三种工作方式,即,
方式 0、
方式 1
方式 2。
第 12章 8051单片机接口扩展技术方式 0(基本输入 /输出方式):
在这种工作方式下,A口,B 口及 C
口的两个 4 位口中的任何一个端口都可以被编程设定为输入或输出方式,但不能既作输入,又作输出。在作为输入时,输入数据不被锁存,而作为输出时,数据被锁存。在方式 0 时,不需要任何选通信号或联络信号。
第 12章 8051单片机接口扩展技术方式 1(选通输入 /输出方式):
方式 1也叫选通的输入 /输出方式。和方式 0相比,最重要的差别是 A口和 B口用方式 1进行输入输出传输时,要利用 C口提供的选通信号和应答信号,而且这些信号与 C口的数位有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。
第 12章 8051单片机接口扩展技术
1、方式 1输入:
当 A口按照工作方式 1输入时,控制联络信号如图所示,
第 12章 8051单片机接口扩展技术控制联络信号第 12章 8051单片机接口扩展技术方式 1输入控制时序第 12章 8051单片机接口扩展技术
1、方式 1输出:
当 A口按照工作方式 1输出时,控制联络信号如图所示,
第 12章 8051单片机接口扩展技术控制联络信号图第 12章 8051单片机接口扩展技术方式 1输出控制时序第 12章 8051单片机接口扩展技术方式 2(双向传输方式):
8255方式 2也叫双向传输方式。该方式只适用于端口 A。
在方式 2下,外设在 8位数据总线上,
既能往 CPU发送数据,又能从 CPU接收数据。当 A端口作于方式 2时,端口 C中有固定的 5根线配合 A口工作,用来提供相应的控制信号和状态信号。( PC3,PC4、
PC5,PC6,PC7配合 A口)。
第 12章 8051单片机接口扩展技术方式 2
端口的控制信号第 12章 8051单片机接口扩展技术方式 2输入输出时序第 12章 8051单片机接口扩展技术
12,3 8255A方式 0输入输出实验编写程序,使用 8255A可编程芯片,来检测 8位开关的状态,并控制 8位 LED。使 LED的变化与开关状态相一致。 PA
检测,PB控制。
第 12章 8051单片机接口扩展技术
12,3 8255A方式 0输入输出实验编写程序,使用 8255A可编程芯片,来检测 8位开关的状态,并控制 8位 LED。使
LED的变化与开关状态相一致。 PA检测,
PB控制。
第 12章 8051单片机接口扩展技术第 12章 8051单片机接口扩展技术程序
#include <reg51.h>
#include <absacc.h>
#define COM8255 XBYTE[0xff7f]
#define PA8255 XBYTE[0xff7c]
#define PB8255 XBYTE[0xff7b]
第 12章 8051单片机接口扩展技术
void main()
{ unsigned char ch;
COM8255=0x99;
while(1)
{ ch=PA8255;
PB8255=ch;
}
}
第 12章 8051单片机接口扩展技术第 12章结束