1 / 63

第 7 章 单片机 I/O 扩展及应用

第 7 章 单片机 I/O 扩展及应用. 7.1 单片机为什么 I/O 扩展. 7.2 单片机简单 I/O 扩展. 7.3 8255A 可编程通用并行接口芯片. 7.4 8155 带 RAM 和定时器的可编程并行接口芯片. 7.5 8279 可编程键盘 / 显示器接口芯片. 7.6 MCS-51 单片机键盘接口技术. 7.7 MCS-51 单片机显示器接口技术. 7.8 MCS-51 单片机打印机接口技术. 本章要求. 1 了解掌握单片机简单 I/O 扩展. 2 了解掌握 8155 可编程并行接口芯片.

lorant
Download Presentation

第 7 章 单片机 I/O 扩展及应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第7章 单片机I/O扩展及应用 7.1 单片机为什么I/O扩展 7.2 单片机简单I/O扩展 7.3 8255A可编程通用并行接口芯片 7.4 8155带RAM和定时器的可编程并行接口芯片 7.5 8279可编程键盘/显示器接口芯片 7.6 MCS-51单片机键盘接口技术 7.7 MCS-51单片机显示器接口技术 7.8 MCS-51单片机打印机接口技术

  2. 本章要求 1 了解掌握单片机简单I/O扩展 2 了解掌握8155可编程并行接口芯片 3了解掌握MCS-51单片机键盘接口技术 4了解掌握MCS-51单片机显示器接口技术

  3. 开始 熄发光二极管 读开关状态 开关状态交换到高半字节 状态输出驱动发光二极管 返回 7.1 单片机为什么需要I/O扩展 一. I/O口的直接使用 使用单片机芯片本身的I/O口,实现一些简单的输入输出控制(数据传送)。 1. 数据的无条件传送 从P1.0~P1.3输入开关状态,再经 P1.4~P1.7输出去驱动发光二极管 ,使发光二极管显示开关的状态。

  4. 开始 总中断允许 外中断0允许 置外中断0为 脉冲触发方式 等待中断 7.1 单片机为什么需要I/O扩展 一. I/O口的直接使用 2. 中断方式的数据传送

  5. 7.1 单片机为什么需要I/O扩展 一. I/O口的直接使用 2. 中断方式的数据传送 ORG 0000H STAR: AJMP MAIN ORG 0003H LJMP EXTR ORG 0030H MAIN: SETB EA SETB EX0 SETB IT0 ;边沿触发 HERE: AJMP HERE ORG 0200H EXTR: MOV A, #0FH MOV P1, A MOV A, P1 ANL A, #0FH SWAP A MOV P1, A RETI

  6. 7.1 单片机为什么需要I/O扩展 二. 为什么要I/O接口 1. 单片机本身接口功能有限 2. 单片机控制应用中的复杂接口要求 ●速度差异大 ●设备种类繁多 控制对象或外部设备种类繁多,它们对数据的要求互不相同,因此无法按统一格式进行数据传送。 ●数据信号形式多种多样 数据形式是多种多样的,例如有电压信号、电流信号;有数字式、模拟式。 为此,必须扩展接口电路,对单片机与设备之间的数据传送进行协调。

  7. 7.1 单片机为什么需要I/O扩展 二. 为什么要I/O接口 3. 扩展I/O接口电路的功能 ●速度协调 ●输出数据锁存 由于单片机的工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速输出设备的需要。为此,在扩展I/O接口电路中应具有数据锁存器,使输出数据直至能为输出设备所接收。 ●输入数据三态缓冲 ●数据转换 模/数转换和数/模转换。

  8. 7.1 单片机为什么需要I/O扩展 三. I/O扩展的相关技术 1. 接口与端口 ●可编址并能进行读或写操作的寄存器称为端口(Port) ●一个接口电路中可能包括有多个口。 例如数据口、状态口和命令口等 ●一个接口电路就对应(或包含)着多个口地址。 2. 数据总线隔离技术 数据总线上连接着多个数据源设备(输入数据)和多个数负载设备(输出数据)。但在任一时刻,只能进行一个源和一个负载之间的数据传送。

  9. 三态控制信号 数据 输出 数据 输入 7.1 单片机为什么需要I/O扩展 三. I/O扩展的相关技术 2. 数据总线隔离技术 当一对源和负载的数据传送时,要求所有其它不参与的设备在电气性能上必须同数据总线隔开。 ●总线隔离使用三态缓冲电路

  10. 7.1 单片机为什么需要I/O扩展 三. I/O扩展的相关技术 3. 单片机I/O编址技术 凡需进行读写操作的设备都存在着编址的问题。 常用的I/O编址方式有两种 ●独立编址方式 存储器和I/O设备分开编址,设备的数据输入/输出有专用的I/O指令。 ●统一编址方式 存储器和I/O设备统一编址,用存储器指令进行设备的I/O操作,简单、方便、功能强。但这种编址方式,会使地址译码变得复杂 。

  11. 数据总线 地 址 译 码 地 址 译 码 外设数据 三态 缓冲区 锁存器 地址 地址 & & RD (a)无条件输入传送 数据总线 数据到外设 CE WR (a)无条件输入传送 7.1 单片机为什么需要I/O扩展 四. 单片机I/O控制方式(3) 1. 无条件传送方式 I/O操作时,不需要测试 设备的状态,可根据需要 随时进行数据传送操作。 ●有常驻的或变化缓慢 的数据信号的设备。 例:机械开关、指示灯 、LED、数码管等。 ●足以和单片机同步 工作的设备。 例:数/模转换器(DAC)

  12. 读入状态信息 N 是否准备好 Y 数据传送 7.1 单片机为什么需要I/O扩展 四. 单片机I/O控制方式 2. 查询方式 ●查询方式又称有条件传送方式 在I/O操作之前,先检测设备 的状态,以了解设备是否已为 数据输入/输出作好了准备, 只有在确认设备 “准备好”的 情况下,单片机才能执行数据 输入/输出操作。 ●由接口电路提供设备状态,并以软件方法状态测试 。因此这是一种软硬件方法结合的数据传送方式。

  13. ③数据传送 I/O接口电路 外设 ②中断响应 CPU 断点 ①中断请求 主程序 返回 中断服务程序 7.1 单片机为什么需要I/O扩展 四. 单片机I/O控制方式 3. 中断方式 ●当设备准备好传送 数据后,向单片机 发出中断请求信号 (相当于通知单片机) ●单片机接收到中断请求之后,即作出响应,暂停 正在执行的程序,而转去为设备的数据输入/输 出服务。

  14. 89C51 74244 P0.0 1Y1 1A D0 P0.1 1Y2 1B D1 P0.2 1Y3 1C D2 输入设备 P0.3 1Y4 1D D3 P0.4 2Y1 2A D4 P0.5 2Y2 2B D5 P0.6 2Y3 2C D6 P0.7 2Y4 2D D7 RD CE2 1 P2.7 CE1 地址译码 7.2 单片机I/O扩展 一. 简单输入口扩展 1. 两个输入口扩展 ● 74LS244 有2个4位 的三态缓 冲器。 ●使用时以 CE作为数 据选通信 号。

  15. ALE EPROM 74373 P0 P2.7 RD P2.6 ≥1 ≥1 80C51 2# 1# Y Y CE1,2 CE1,2 2A 2A 1A 1A D C B A 7.2 单片机I/O扩展 一. 简单输入口扩展 2. 多输入口扩展 3. 应用举例 ●一个拨盘产生一 个BCD码形式的 十进制数(4位)。 现有A、B、C、D 4个拨盘,要求把 BCD码数依次输 入到通用寄存器 R4(B、A),R5(D、 C)中去。

  16. 7.2 单片机I/O扩展 一. 简单输入口扩展 P2.7作为1#口的地址选通线(线选法)。 口地址为7FFFH; P2.6作为2#口的地址选通线。口地址为OBFFFH。 MOV DPTR,#7FFFH ;1 #口地址 MOVX A,@DPTR ;从拨盘取数 MOV R4,A ;送R4 MOV DPTR,#OBFFFH ;2 #口地址 MOVX A,@DPTR ;从拨盘取数 MOV R5,A ;送R5

  17. G vcc 1Q 8Q 1D 8D 2D 7D 2Q 7Q 3Q 6Q 3D 6D G--使能控制信号。 4D 5D 4Q 5Q CK GND 7.2 单片机I/O扩展 二. 简单输出口扩展 1. 简单扩展使用的典型芯片 简单输出口扩展通常使用74LS377芯片, 该芯片是具有“使能”控制端的8D锁存器 lD--8D位数据输入线。 lQ--8Q位数据输出线。 CK--时钟信号,上升沿数据锁存。 VCC-+5 V电源

  18. 89C51 74377 P0.0 1D 1Q D0 P0.1 2D 2Q D1 P0.2 3D 3Q D2 输出设备 P0.3 4D 4Q D3 P0.4 5D 5Q D4 P0.5 6D 6Q D5 P0.6 7D 7Q D6 P0.7 8D 8Q D7 WR CLK 1 P2.7 G 地址译码 7.2 单片机I/O扩展 二. 简单输出口扩展 2. 输出口扩展连接 ●用WR作为输出选通。 因为在WR信号由低变 高时,数据总线上出 现的正是输出数据, CK正好控制输出数据 进入锁存器。 ●74LS377的G信号端固定接地(有效),其目的 是使锁存器的工作只受CK(WR)控制。

  19. 7.3 8255A可编成通用并行接口芯片 一. 可编程I/O接口扩展概述 用可编程接口芯片实现复杂的I/O接口扩展。 常用可编程接口芯片 ●8255A可编程通用并行接口 ●8155带RAM和定时器/计数器的可编程并行接口 ●8259可编程中断控制器 ●8279可编程键盘/显示器接口 ●8253可编程通用定时器 最大特点: 工作方式的确定和改变由程序以软件方法实现。 MCS-51可直接连接,完成复杂的I/O接口扩展。

  20. A 组 控 制 A组 A口 PA7~PA0 数据 总线 缓冲 D7~D0 A组 C口 高4 PC7~PC4 B组 C口 低4 RD 读/写 控 制 逻 辑 PC3~PC0 B 组 控 制 WR CE A1 A0 B组 B口 RESET PB7~PB0 7.3 8255A可编成通用并行接口芯片 二. 8255A的逻辑结构和信号引脚 8255A的内部结构 按功能可分为3个 逻辑电路部分 ●口电路 ●总线接口电路 ●控制电路

  21. 7.3 8255A可编成通用并行接口芯片 二. 8255A的逻辑结构和信号引脚 1. 口电路 ●共有3个8位口,A、B和C口 ●3口都可供数据I/O使用。 ●C口又可以作控制口使用。 C口(PC7~PC4)实现A口的控制功能。 C口(PC3~PCo)实现A口的控制功能。 ●A口和C口高位部分合在一起称之为A组; B口和C口低位部分起称之为B组。

  22. 7.3 8255A可编成通用并行接口芯片 2. 总线接口电路 总线接口电路用于实现8255A和单片机的连接。包括: ●数据总线缓冲器 数据总线缓冲器为8位双向三态缓冲器 ●读/写控制逻辑。 ·CS——片选信号(低电平有效)。 ·RD——读信号(低电平有效)。 ·WR——写信号(低电平有效)。 ·A0、Al——端口选择信号。 ·RESET——复位信号(高电平有效)。复位之后, 控制寄存器清除,各端口置为输入方式。

  23. 7.3 8255A可编成通用并行接口芯片 3. 控制逻辑电路 ●控制逻辑电路包括A组控制和B组控制

  24. 7.3 8255A可编成通用并行接口芯片 三. 8255A的工作方式及数据I/O操作 1. 8255A的工作方式 8255A工作方式由内部控制寄存器的内容决定, A组成有3种工作方式:B组成有2种工作方式。 ●方式0——基本输入/输出方式 *A口、B口、C口高4位、C口低4位都可以设定为输入或输出。 *输出具有所锁存能力、但输入不锁存。 *A组、B组同时设定为工作方式0时,C口高4位、C口低4位可  以设定为输入或输出,但CPU不能单独访问,只能访问端口 C的一个整体;若设定相同时,访问C口与访问A、B口一样。  不同时,要适当屏蔽输入数据。

  25. 7.3 8255A可编成通用并行接口芯片 三. 8255A的工作方式及数据I/O操作 ●方式1——选通输入/输出方式 当CPU与外设需要中断或查询方式传送数据时,采用方式1工作 A通道:一个8位数据端口A和一个5位的控制口PC7-PC3)。 B通道:一个8位数据端口B和一个3位的控制口(PC2-PC0)。 C口各位控制功能如下表。

  26. ACKB ACKA ACKA OBFB OBFA OBFA STBA STBB STBA 7.3 8255A可编成通用并行接口芯片 三. 8255A的工作方式及数据I/O操作

  27. —选通输入控制信号,低有效,外设产生。 —输出缓冲器满标志信号,低有效,送外设。 —响应输入信号,低有效,外设产生,OBF的响应。 OBF ACK STB 7.3 8255A可编成通用并行接口芯片 三. 8255A的工作方式及数据I/O操作 IBF—输入缓冲器满标志信号,高有效,8255A产    生送外设。 INTR—中断申请信号,高有效,8255A产生送CPU    的INT引脚。 C口其余口线仍可进行位输入输出使用。 A口或B口只有一个为方式1,其余口线仍按方式0使用。

  28. 7.3 8255A可编成通用并行接口芯片 三. 8255A的工作方式及数据I/O操作 ●方式2——双向数据传送方式 *只有A通道有工作方式2, 基本功能 * 端口A是一个8位的双向端口 * 端口C的PC7-PC3是5根联络线 * 端口C引脚的定义(前表) A口工作在方式2 ,B口只能工作在方式0 2. 数据输入操作 当外设准备好数据输入后,发出STB信号,输入的 数据送入缓冲器,然后IBF信号有效。 *如用查询方式,则IBF作为状态信号供查询使用 *如用中断方式,当STB由低变高时,产生INTR信号。

  29. 7.3 8255A可编成通用并行接口芯片 三. 8255A的工作方式及数据I/O操作 单片机在响应中断(读入数据)后,并使INTR,IBF 信号同时变低。-通知接口设备准备下一数据输入。 3. 数据输出操作 外设接收并处理完一组数据后,发回ACK信号,该信 号使OBF变高,表明输出缓冲器已空。 如用查询方式,则OBF作为状态信号供查询使用; 如用中断方式,则当ACK信号结束时,INTR有效, 向单片机发出中断请求。把下一个输出数据写入 8255A的输出缓冲器。写入后OBF有效,表明输出 数据已到,并以此信号启动接口设备工作,取走 并处理8255A中的输出数据。

  30. 7.3 8255A可编成通用并行接口芯片 四. 8255A控制字及初始化编程 ●有两个控制字:方式选择控制字; C口按位置位/复位控制字。 ●地址线A1、A0为1、1时访问控制字寄存器 ●控制字的D7位为1是方式选择控制字; 控制字的D7位为0是C口按位置位/复位的命令。 1. 工作方式控制字

  31. 7.3 8255A可编成通用并行接口芯片 1. 工作方式控制字 C(低半) 1 = 输入 0 = 输出 B 1 = 输入 0 = 输出 方式选择  0 =方式0 1 =方式1 C(高半) 1 = 输入 0 = 输出 A 1 = 输入 0 = 输出 方式选择  00 =方式0 01 =方式1 1X =方式2 设定工作方式标志 1=有效

  32. 7.3 8255A可编成通用并行接口芯片 2. C口位置位/复位控制字 置1清0位 1=置1,0=置0 置1清0位标志 0=有效

  33. 7.3 8255A可编成通用并行接口芯片 四. 8255A控制字及初始化编程 3. 初始化编程 ●8255A初始化的内容就是向控制字寄存器写入工  作方式控制字和C口位置位/复位控制字。 ●例如对8255A各口作如下设置:A口方式O输入,B口方    式1输出,C口高位部分为输出,低位部分为输入。  设控制寄存器地址为003AH。 按各口的设置要求,工作方式控制字为10010101,即95H。 初始化程序段应为: MOV R0,#3AH MOV A,#95H MOVX @R0,A

  34. AD0-7 256字 节静态 RAM A PA0-7 AEL WR CE RD B PB0-7 14位 定时/ 计数器 IO/M C PC0-5 RESET VCC TIMER IN VSS TIMER OUT 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 8155除能提供相8255A并行接口电路 外,还包含256字节RAM存储器和一个14位定时器/计数器。 一. 8155基本结构及工作方式 1. 主要接口信号 AD0~AD7—地址数 据复用线。 AEL—地址锁存信号。 RD ——读选通信号。 WR ——写选通信号。 CE ——片选信号。 IO/M—I/O与RAM选 择信号。 RESET一复位信号。

  35. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 一. 8155基本结构及工作方式 2. I/O口及其工作方式 ●PA、PB是8位通用输入/输出口,两种工作方式 ●PC是6位口,有四种工作方式 输入方式(ALT1); PA口控制方式(ALT3); 输出方式(ALT2);PA和PB口控制方式(ALT4)。 *当无条件方式进行数据传送时,不需要联络信号, PA、PB及PC都可以进行数据的输入/输出操作。 *当PA或PB以中断方式进行数据传送时,所需的联络 信号由PC提供

  36. —选通信号(输入),低有效。数据输入操作时,STB是外—选通信号(输入),低有效。数据输入操作时,STB是外 设送来;数据输出时,是外设送来的应答信号。 ASTB ASTB BSTB STB 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 一. 8155基本结构及工作方式 INTR—中断请求信号(输出),高有效。送给CPU的外中断。 BF——缓冲器满状态信号(输出),高电平有效。

  37. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 一. 8155基本结构及工作方式 3. RAM单元及I/O口编址 ●256个RAM单元地址是00H~0FFH ●口地址是××××× 000B~ ××××× 101B

  38. ALE ALE PA7~PA0 P2.1 P2.0 IO/M PB7~PB0 P0 AD PC5~PA0 CE WR RD WR RD RST RST 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 二. 8155与MCS-51单片机的连接 ●8155A与MCS一51兼容,可以直接连接。 ●以高位地址直接作 为IO/M信号 RAM地址是0000H~00FFH 端口地址是0100H~0105H

  39. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 三. 8155的命令/状态寄存器 命令/状态寄存器,是两个不同的寄存器,分别存放命令字和状态字。由于命令寄存器只进行写操作,状态寄存器只进行读操作, 所以把它们编为同一地址。 1. 命令字 ●命令字用于定义端口及定时器/计数器的工作方式。 2. 状态字 ●状态字用于寄存各端口及定时器/计数器的工作状态

  40. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 8155的命令寄存器

  41. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 8155的状态字寄存器

  42. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 四. 8155的定时器/计数器 1. 定时器/计数器的计数结构 ●定时器/计数器是一个14位的减法计数器,由两 个8位寄存器构成,剩下的两个高位(M2,M1)用 于定义计数器输出的信号形式。

  43. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 四. 8155的定时器/计数器 2. 定时器/计数器的使用 ●定时器/计数器是减法计数 ●只有14位计数工作方式,软件方法进行计数值加载。 ●由外部提供定时/计数脉冲,其信号引脚是TIMER IN。 ●计数溢出时向外边输出一个信号(TIMER OUT)。 信号形式,由用户定义M2、M1进行选择。 M2M1=00 单个方波 M2M1=10 单个脉冲M2M1=01 连续方波 M2M1=11 连续脉冲

  44. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 五. 8155初始化 ●要求用8155定时器/计数器对计数脉冲进行千分频 即计数1000后,TIMER OUT端电平状态变化,并重新置数以产生连续方波。此外假定PA口为输入方式,PB口为输出方式,PC口为输入方式,禁止中断。请编写初始化程序。 ●要求输出连续方波,因此M2M1=01。由于8155计数器是 减法计算,所以计数初值应为1000=03E8H。 则:计数器高位字节为43H,低位字节为0E8H。 命令字 为 0C2H

  45. 7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 五. 8155初始化 ●假定命令/状态寄存器地址为0FD00H。则初始化程序为: MOV DPTR,#OFDOOH ;命令/状态寄存器地址 MOV A,#OC2H ;命令字 MOVX @DPTR,A ;装入命令字 MOV DPTR,#0FD04H ;计数器低8位地址 MOV A,#0E8H ;低8位计数值 MOVX @DPTR,A ;写入计数值低8位 INC DPTR ;计数器高8位地址 MOV A,#43H ;高8位计数值 MOVX @DPTR,A ;写入计数值高8位

  46. 7.5 8279 可编程键盘/显示器接口芯片 一. 8279 的电路逻辑和信号引脚 1. 8279的电路逻辑 2. 8279芯片的信号引脚 二. 8279 的寄存器 1. 命令寄存器 2. 状态寄存器 3.数据寄存器

  47. 7.5 8279 可编程键盘/显示器接口芯片 三. 8279 的接口应用 1. 8279与80C51兼容信号的连接 2. 地址信号连接和寄存器地址 3. 8279与键盘的连接和操作 4. 8279与显示器的连接和操作

  48. 7.6 MCS-51 单片机键盘接口技术 一. 单片机键盘和键盘接口概述 二. 单片机键盘接口和键功能的实现 1. 键盘接口处理的内容 2. 键盘接口的控制方式 3. 键处理子程序 三. 使用 8155 作单片机键盘接口 1. 接口电路逻辑图 2. 判定有无闭合键的子程序 3. 键盘扫描程序 4. 小结

  49. 7.6 MCS-51 单片机键盘接口技术 四. 使用 8279 作单片机键盘接口 1. 接口电路逻辑图 2. 汇编语言程序 3. 程序说明

  50. +5V g f com a b a a b b a c c f b d d g e e e c f f d g g dp dp e d com c dp 7.7 MCS-51 单片机显示器接口技术 一. LED 显示器接口 1. LED显示原理 ●LED显示器由7七段发光二极管组成,其形状如图 ●共阳极接法;共阴极接法。 ●静态;动态。

More Related