第七章 单片机I/0口扩展及应用
第七章 单片机I/O口扩展及应用
7.1I/0口扩展概述 7.1.1IO口扩展的原因 MCS-51系列单片机共有四个并行IO口,分别是P、P P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口 作地址线的高八位使用;P3是一个双功能口,其第二功能是 些很重要的控制信号,所以P3一般使用其第二功能。这样供用 户使用的IO口就只剩下P1口了。另外,这些O口没有状态寄 存和命令寄存的功能,因此难以满足复杂的IO操作要求
7.1 I/O口扩展概述 7.1.1 I/O口扩展的原因 MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、 P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口 作地址线的高八位使用;P3是一个双功能口,其第二功能是一 些很重要的控制信号,所以P3一般使用其第二功能。这样供用 户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄 存和命令寄存的功能,因此难以满足复杂的I/O操作要求
7.1.2IO口的编址技术 用户可以通过对IO口进行读和写操作来完成数据的输 入和输出。 例如:P0口的地址为80H。用户可以使用MOV指令对P0口进 行写操作。 MOV P, A 71.3单片机IO传送的方式 1.无条件传送方式
7.1.2 I/O口的编址技术 用户可以通过对I/O口进行读和写操作来完成数据的输 入和输出。 例如:P0口的地址为80H。用户可以使用MOV指令对P0口进 行写操作。 MOV P0, A 7.1.3 单片机I/O传送的方式 1. 无条件传送方式
查询方式 3.中断方式 中断方式大大提高了单片机系统的工作效率,所以在 单片机中被广泛应用 72简单IO口扩展 72.1简单输入口扩展 1.两个输入口扩展 简单输入口扩展使用的集成芯片,比较典型 的如74LS244芯片。图71为74LS244芯片的引脚
2. 查询方式 3. 中断方式 中断方式大大提高了单片机系统的工作效率,所以在 单片机中被广泛应用。 7.2 简单I/O口扩展 7.2.1 简单输入口扩展 1. 两个输入口扩展 简单输入口扩展使用的集成芯片,比较典型 的如74LS244芯片。图7.1为74LS244芯片的引脚
PO 74LS373 2716 ALE 74LS 524415 74LS 244 IA 74LS244 输入 2Y 设备 IA 2Y1 IY D 地址选通 信号 图7.174LS244芯片的引脚图7274LS244扩展两个输入口 2.多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展的电路 连接如图73
图7.1 74LS244芯片的引脚 图7.2 74LS244扩展两个输入口 2. 多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展的电路 连接如图7.3。 1 5 1 0 VCC 1 1 1 5 CS1 2 0 1A1 CS2 A2 1 A3 1 A4 1 A3 2 A2 2 A1 2 A4 2 Y1 1 Y2 1 Y3 1 Y4 1 Y1 2 Y2 2 Y3 2 Y4 2 GN D 输入 设备 74LS244 CS1 CS2 地址选通 信号 RD ALE P0 74LS373 2716 74LS 244 74LS 244
PO 74LS 373 74LS 2716 244AL 2.7 RD T官 图7.3多个(例如5个)输入口扩展的电路 722简单输出口扩展 1.简单输出口扩展使用的典型芯片 简单输出口扩展通常使用74LS377芯片,该芯片是一个具 有“使能”控制端的锁存器。其信号引脚如图74所示。其中: 1D~8D为8位数据输入线,1Q~8Q为8位数据输出线,CK为 时钟信号上升沿数据锁存,为使能控制信号,低电平有效。 Vc为+5V电源。74LS377的逻辑电路如图7.5所示
AL E P0 74LS 373 2716 RD P2.3 ~ P2.7 + + + + + Y CS YCS YCS YCS YCS 74LS 244 图7.3 多个(例如5个)输入口扩展的电路 7.2.2 简单输出口扩展 1. 简单输出口扩展使用的典型芯片 简单输出口扩展通常使用74LS377芯片,该芯片是一个具 有“使能”控制端的锁存器。其信号引脚如图7.4所示。其中: 1D~8D为8位数据输入线,1Q~8Q为8位数据输出线,CK为 时钟信号上升沿数据锁存,为使能控制信号,低电平有效。 VCC为+5V电源。74LS377的逻辑电路如图7.5所示
V D 74L3777D 00D0 5Q 图7474LS377引脚图 图7574LS377的逻辑电路 由逻辑电路可知,74LS377是由D触发器组成的,D触 发器在上升沿输入数据,即在时钟信号(CK)由低电平跳 变为高电平时,数据进入锁存器。其功能表如表7-1所示
图7.4 74LS377引脚图 图7.5 74LS377的逻辑电路 由逻辑电路可知,74LS377是由D触发器组成的,D触 发器在上升沿输入数据,即在时钟信号(CK)由低电平跳 变为高电平时,数据进入锁存器。其功能表如表7-1所示。 G 1Q 1D 3D 6D 2D 7D GND 4D 2Q 7Q 8Q 4Q CK 5Q 3Q 6Q 5D 8D VCC 74LS377 8D 1D ~ CK G 1Q ~ 8Q D Q CK G CK G D Q
Ck D 表7-174LS377功能表 0 输出口扩展连接: 扩展单输出口只需要一片74LS377,其连接电路如图7.6所示 74LS377 Po 1D-8D 1Q一8Q 输出 WR CK 设备 80C51 地址译 码信号 图7.674LS377作输出口扩展
输出口扩展连接: 扩展单输出口只需要一片74LS377,其连接电路如图7.6所示。 1Q~8Q P0.0~P0.7 1D~8D WR 地址译 码信号 80C51 74LS377 输出 CK 设备 G Ck D Q 1 X X Q0 0 ↑ 1 1 0 ↑ 0 0 X 0 X Q0 G 表7-1 74LS377功能表 图7.6 74LS377作输出口扩展
7.38255可编程通用并行接口芯片 73.18255的外部引脚和内部结构 外部引脚 8255的外部引脚如图77所示,其中: PA0~PA:A口的输入输出信号线。该口是输入还是输出或 双向,由软件决定 PB。~PB:B口的输入输出信号线。该口是输入还是输出, 由软件决定。 PCo~PC:C口信号线。该口可作输入、输出、控制和状态 线使用,由软件决定 D、~D,:双向数据信号线,用来传送数据和控制字 RD:读信号线。wR:写信号线
7.3 8255可编程通用并行接口芯片 7.3.1 8255的外部引脚和内部结构 1. 外部引脚 8255的外部引脚如图7.7所示,其中: :A口的输入输出信号线。该口是输入还是输出或 双向,由软件决定。 :B口的输入输出信号线。该口是输入还是输出, 由软件决定。 :C口信号线。该口可作输入、输出、控制和状态 线使用,由软件决定。 :双向数据信号线,用来传送数据和控制字。 :读信号线。 :写信号线。 PA0 ~ PA7 PB0 ~ PB7 PC0 ~ PC7 D0 ~ D7 RD WR
CS:片选信号线,低电平(有效)时,CS才选中该芯片, 才能对8255进行操作。 RESET:复位输入信号,高电平有效时,复位8255。复位后 8255的A口、B口和C口均被定为输入。 A0A1:口地址选择信号线。825内部共有三个口,A口、B口 C口和一个控制寄存器供用户编程。的不同编码可分别选择上述 三个口和一个控制寄存器。地址编码如表7-2所示 表7-2地址编码 A。A 端口 A口 B口 C口 控制寄存器
:片选信号线,低电平(有效)时, 才选中该芯片, 才能对8255进行操作。 RESET:复位输入信号,高电平有效时,复位8255。复位后 8255的A口、B口和C口均被定为输入。 :口地址选择信号线。8255内部共有三个口,A口、B口、 C口和一个控制寄存器供用户编程。的不同编码可分别选择上述 三个口和一个控制寄存器。地址编码如表7-2所示。 端口 0 0 A口 0 1 B口 1 0 C口 1 1 控制寄存器 CS A0 A1 CS A0 A1 表7-2 地址编码