8255矩阵键盘C语言,任务6用8255A设计矩阵键盘扫描 接口电路.ppt

任务6用8255A设计矩阵键盘扫描 接口电路.ppt

任务6用8255A设计矩阵键盘扫描 接口电路 工作任务描述: 学习内容: 一、可编程I/O口8255A扩展技术 二、键盘扫描技术 一、可编程I/O口8255A扩展技术 (一)8255A的概述 (二)8255A的内部结构及原理 (三) 8255A的控制字 (四)8255A的工作方式 (一)8255A的概述 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 (二)8255A的内部结构及原理 (二) 8255A的内部结构及原理 1、数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。 2、3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端口,其中PC7~PC4同端口A配合使用, PC3~PC0同端口B配合使用。 3、A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。 4、读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。 (二)8255A的内部结构及原理 (二) 8255A的内部结构及原理 (三) 8255A的控制字 1、工作方式控制字 8255A的工作方式控制字的格式,如下图: (三) 8255A的控制字 2、C口按位置位/复位控制字 C口按位置位/复位控制字的格式如图10-4所示。 (1)仅C口可按位置位/复位,且只对C口的输出 状态进行控制(对输入无作用)。 (2)一次只能设置C口1位的状态。 (3)这个控制字应写入控制口,而不是C口。 如下图: (四) 8255A的工作方式 方式0——基本输入/输出方式(A、B、C口) 方式1——选通工作方式(A、B口) 方式2——双向选通传送方式(仅A口) 某端口工作于哪一种方式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。 8255A的工作方式——方式0(基本输入/输出方式) 特点:8255A相当于三个独立的8位数据口。各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。设置为输出口时有锁存能力,设置为输入口时无锁存能力。 适用于:无条件输入输出方式。查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。 (四) 8255A的工作方式 1、8255A的工作方式——方式0(基本输入/输出方式) 在方式0下,A、B、C三个端口均用作输入/输出用,这种输入/输出只是简单的输入/输出,无联络信号。如下图所示。 (四) 8255A的工作方式 2、方式1:带选通的输入/输出 (1)方式1的输入 A口和B口都设置为方式1输入时的情况,如下图1所示。当A口设定为方式1输入时,A口所用三条联络信号线是C口的PC3、PC4、PC5,B口则用了C口的PC0、PC1、PC2作为联络信号。各联络线的定义如下: STB:外设送来的输入选通信号,低电平有效。 IBF:8255A送外设的输入缓冲器满信号,高电平有效。 INTR:8255A送到CPU或系统总线的中断请求信号,高电平有效。该信号另外受INTE控制。 INTE:中断允许信号。 (四)8255A的工作方式 (2)方式1的输出A口和B口都设置为方式1输出时的情况如下图2所示。当A口与B口设为方式1输出时,也分别指定C口的三条线为联络信号,A口所用三条联络信号线是C口的PC3、PC6、PC7,B口则用了PC0、PC1、PC2。各联络线的定义如下: (四) 8255A的工作方式 (四) 8255A的工作方式 3、方式2:带选通的双向输入/输出方式2是一种双向选通输入/输出方式,只适用于A口,方式2下的引脚定义如图3所示。在方式2下,各联络信号的含义如下: IN

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值