什么是单片机的键盘接口与LED显示器接口技术
扫描二维码
随时随地手机看文章
在单片机应用系统中,常常需要人机对话,因而功能开关、拨码器、键盘、显示器和打印机等输入/输出设备就必不可少,本文将介绍一些外部设备及它们与单片机的接口技术。
键盘实际上是由排列成矩阵形式的一系列按键开关组成的,用户通过键盘可以向 CPU 输入数据、地址和命令。
键盘按其结构形式可分为编码式键盘和非编码式键盘两类。
单片机系统中普遍使用非编码式键盘,这类键盘主要解决以下几个问题:
① 键的识别;
② 如何消除键的抖动;
③ 键的保护。
1. 非编码式键盘工作原理
非编码式键盘识别按键的方法有两种:一是行扫描法,二是线反转法。
1) 行扫描法
通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所接的端口得到的是全“1”信号,如果有键按下的话,则得到非全“1”信号。
为了防止双键或多键同时按下,往往从第 0 行一直扫描到最后 1 行,若只发现 1 个闭 合键,则为有效键,否则全部作废。
找到闭合键后,读入相应的键值,再转至相应的键处理程序。
2) 线反转法
线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。
先将行线作为输出线,列线作为输入线,行线输出全“0”信号,读入列线 的值,然后将行线和列线的输入、输出关系互换,并且将刚才读到的列线值从列线所接的端口输出,再读取行线的输入值。那么在闭合键所在的行线上值必为 0 。这样,当一个键被按下时,必定 可读到一对唯一的行列值。
2.键盘接口电路
图 7.26 是采用 8155 接口芯片构成 8×4 键盘的接口电路,其中 A 口为输出,作为行线;C 口为输入,作为列线。
图 7.26 采用 8155 的键盘接口电路
1.LED 显示器结构与原理
LED 显示器由 7 条发光二极管组成显示字段,有的还带有一个小数点 dp 。将 7 段发光二极管阴极连在一起,称为共阴接法,当某个字段的阳极为高电平时,对应的字段就点亮。共阳接法是将 LED 的所有阳极并接后连到+5V 上,当某一字段的阴极为 0 时,对应的字段就点亮。如图 7.27 所示。
图 7.27 7 段 LED 数码显示器
点亮 LED 显示器有静态和动态两种方法。所谓静态显示,就是显示某一字符时,相应的发光二极管恒定的导通或截止,这种方式,每一显示位都需要一个 8 位输出口控制,占用硬件较多,一般仅用于显示器位数较少的场合。
所谓动态显示,就是一位一位地轮流点亮各位显示器。对每一位显示器而言,每隔一段时间点亮一次。显示位的亮度既跟导通电流有关,也和点亮时间与间隔时间的比例有 。动态显示器因其硬件成本较低而常常采用。
为了显示字符,要为 LED 显示器提供显示段码(或称字形代码), 组成一个“8”字形 的 7 段,再加上 1 个小数点位,共计 8 段,因此提供 LED 显示器的显示段码为 1 个字节。各段码位的对应关系如下:
用 LED 显示器显示十六进制数和空白及 P 的显示段码,如表 7.8 所示。
2.LED 显示器接口电路
图 7.28 为 6 位共阴显示器和 8155 的接口逻辑。8155 的 A 口作为扫描 口,经反相驱动器 7545N 接显示器公共极,B 口作为段数据口,经同相驱动器 7407 接显示器的各段。
图 7.28 6 位动态显示器接口
设 8031RAM 中有 6 个显示缓冲单元 79H~7EH ,分别存放 6 位显示器的显示数据。 8155 的 A 口扫描输出总有一位为高电平,8155 的 B 口输出相应位的显示数据的段数据,使某一位显示出一个字符,其余位为暗,依次改变 A 口输出的高电平位及 B 口输出对应的段数据,6 位显示器就显示出缓冲器的显示字符。显示程序流程如图 7.29 所示。
图 7.29 显示子程序流程图