8255A的应用举例

1. 基本输入输出应用举例

(1) 检测开关量的状态

在这里插入图片描述

(2) 七段LED显示器显示开关状态

在这里插入图片描述
工作状态:
A口工作于方式0,输入
B口工作与方式0,输出

工作过程:
读取开关的状态 K 3 K 2 K 1 K 0 K_3K_2K_1K_0 K3K2K1K0
K 3 K 2 K 1 K 0 K_3K_2K_1K_0 K3K2K1K0转换位十六进制,用七段显示译码器输出

2. 键盘接口

在这里插入图片描述

A口作输出,B作输入。

四条行线接到 P A 3 ∼ P A 0 , P B 3 ∼ P B 0 PA_3 \sim PA_0,PB_3 \sim PB_0 PA3PA0,PB3PB0
四条列线接到 P B 4 ∼ P B 7 PB_4 \sim PB_7 PB4PB7

B口既能读列信号,也能读行信号。
B口的高四位存储行信息,第四位存储列信息

当一个按键被按下,它的所在行输出一个低电平,由于按下后的行列相连,列也表现为低电平。

  1. 检测矩阵中是否有键压下的方法:
    自输出口A向所有行线输出低电平,再通过B口的低4位读取列值,若有零值,则有键被按下。

  2. 确认上一次压下的键是否已松开的方法:

  3. 消除键抖动的方法:检测到有键压下后,延长一定时间,再检查是否仍然被压下,如果是,则确实被按下。

  4. 确定压下键所在的行列号的方法:先从A口输出一个低电平到一行线上,再从B口读入各列的值,若没有一列为低电平,说明压下的键不在此列。再向下一行输出一个低电平,检测各列线上是否有低电平。依次对每一行重复,直到检查到某一列线出现低电平为止。

假设

  • 端口A——0FF9H
  • 端口B——0FFBH
  • 端口C——0FFDH
  • 控制字寄存器——0FFFH
MOV DX 0FF9H

3. 多位数码显示

在这里插入图片描述

4. PC/XT机中扬声器接口电路

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值