文档介绍:主编范立南谢子殿
副主编刘彤尹授远李雪飞
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
键盘接口
显示接口
打印机接口技术
D/A转换器
A/D转换
单片机常用总线
第 7章 MCS-51单片机常用接口技术
键盘接口
键盘是一组按键的组合,它是最常用的单片机输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机对话。单片机使用的键是一种常开型的开关,平时键的两个触点处于断开状态,按下键时它们才闭合。键盘分编码和非编码键盘,键盘的识别可用软件识别也可用专用芯片识别。
MCS-51单片机扩展键盘接口方法有很多,从硬件结构上,可通过单片机I/O口扩展键盘,也可通过扩展I/O口设计键盘,有些是用专用键盘芯片。
键盘工作原理
键盘从结构上分,有独立式键盘与矩阵式键盘。
1. 独立式键盘
-51单片机的P1口设计的非编码键盘。
独立式键盘
键盘工作原理
当按键没按下时,CPU对应的I/O口由于内部有上拉电阻,其输入为高电平,当某键被按下后,对应的I/O口变为低电平,只要在程序中判断I/O口的状态即可知道哪个键处于闭合状态。以下是非编码键盘键处理子程序。
KEY_00: JNB KEY00 ;转按键1处理程序
JNB KEY01 ;转按键2处理程序
JNB KEY02 ;转按键3处理程序
JNB KEY03 ;转按键4处理程序
JNB KEY04 ;转按键5处理程序
JNB KEY05 ;转按键6处理程序
RET ;无键按下,返回
键盘工作原理
2. 矩阵式键盘
它由行线与列线组成,按键位于行、列的交叉点上。×4矩阵式键盘。
矩阵式键盘
键盘按键识别方法
扫描法
,说明此键是如何识别出来的。
用8031的P1口设计的4×4键盘
键盘按键识别方法
~,~。在某一位为低时读行线,根据行线的状态即可判断出哪一个按键被按下。
如9号键按下时,,,由此可知2号键被按下。
一般在扫描法中分两步处理按键,首先是判断有无键按下,即使列线(~)全部为低,读行线,如行线(~)全为高,则无键按下,如行线有一个为低,则有键按下。当判断有键按下时,使列线依次变低,读行线,进而判断出具体哪个键按下。
键盘按键识别方法
第1步:~,~,并将输出线输出全为低电平,读行线状态,则行线中电平为低的是按键所在的行。
第2步:同上步相反,将列线为输入线,行线为输出线,并将输出线输出为低电平,读列线状态,则列线是电平为低的是按键所在的列。
综合1、2两步结果,可确定按键所在的行和列,从而识别出所按下的键。
,假设10号键被按下,~,~,,~,~,,由此可判断第2行第3列有键被按下,此键就是10号键。因此线反转法非常简单实用
键盘的接口电路
利用单片机的I/O口设计键盘
利用MCS-51单片机的I/O口设计键盘时分两种情况,一是当P0、P1、P2、P3均为普通I/O时可使用任意I/O口设计键盘;当单片机系统扩展程序存储器、数据存储器、I/O时,由于P0、P2作地址数据总线使用,因而扩展键盘时只能使用P1口、P3口。-51单片机的P1口设计的4×4矩阵键盘。