1 / 37
文档名称:

《显示键盘接口》 (2).ppt

格式:ppt   大小:3,201KB   页数:37页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《显示键盘接口》 (2).ppt

上传人:相惜 2024/5/13 文件大小:3.13 MB

下载得到文件列表

《显示键盘接口》 (2).ppt

相关文档

文档介绍

文档介绍:该【《显示键盘接口》 (2) 】是由【相惜】上传分享,文档一共【37】页,该文档可以免费在线阅读,需要了解更多关于【《显示键盘接口》 (2) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。键盘实际上是由排列成矩阵形式的一系列按键开关组成,用户通过键盘可以向CPU输入数据、地址和命令。键盘按其结构形式可分为:编码式键盘和非编码式键盘两类。单片机系统中普遍使用非编码式键盘,这类键盘主要解决以下几个问题:①键的识别;②如何消除键的抖动;③键的保护。非编码式键盘识别按键的方法有两种:一是行扫描法,二是线反转法。1)行扫描法通过行线发出低电平信号,如果该行线所连接的键没有按下的话,那么列线所接的端口得到的是全“1〞信号,如果有键按下的话,那么得到非全“1〞信号。为了防止双键或多键同时按下,往往从第0行一直扫描到最后1行,假设只发现1个闭合键,那么为有效键,否那么全部作废。找到闭合键后,读入相应的键值,再转至相应的键处理程序。编辑课件2)线反转法线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。先将行线作为输出线,列线作为输入线,行线输出全“0〞信号,读入列线的值,然后将行线和列线的输入输出关系互换,并且将刚刚读到的列线值从列线所接的端口输出,再读取行线的输入值。那么在闭合键所在的行线上值必为0。这样,当一个键被按下时,必定可读到一对唯一的行列值。,其中KS1为判键闭合的子程序。有键闭合时〔A〕~=0。DIR为数码显示器扫描显示子程序,执行一遍的时间约6ms。程序执行后,假设键闭合,键值存入A中,键值的计算公式是:键值=行号×4+列号;假设无键闭合,那么A中存入标志FFH。KEY1:LCALLKS1;检查有无闭合键?JNZLK1;〔A〕~=0,有键闭合那么转LJMPLK8;无闭合键那么返回LK1:LCALLDIR;延时12msLCALLDIR;清抖LCALLLS1;再检查有键闭合否?JNZLK2;有键闭合那么转LJMPLK8;无键闭合那么返回编辑课件LK2:MOVR3,#00H;行号初值送R3MOVR2,#FEH;行扫描初值送R2LK3:MOVDPTR,#0101H;指向8155口AMOVA,R2;行扫描值送A******@DPTR,A;扫描1行INCDPTRINCDPTR;指向8155口CMOVXA,***@DPTR;读入列值ANLA,#0FH;保存低4位MOVR4,A;暂存列值CJNZA,#0FH,LK4;列值非全“1〞那么转MOVA,R2;,LK8;扫至最后一行那么转RLA;未扫完,那么移至下一行MOVR2,A;行值存入R2中INCR3;行号加1SJMPLK3;转至扫描下一行LK4:MOVA,R3;行号送入AADDA,R3;行号×2MOVR5,AADDA,R5;行号×4MOVR5,A;存入R5中MOVA,R4;列值送A编辑课件LK5:RRCA;右移一位JNCLK6;该位为0那么转INCR5;列号加1SJMPLK5;列号未判完那么继续LK6:MOV20H,R5;存键值LK7:LCALLDIR;扫描一遍显示器LCALLKS1;发扫描信号JNZLK7;键未释放等待LCALLDIR;键已释放LCALLDIR;延时12ms,清抖MOVA,20H;键值存入A中KND:RET编辑课件LK8:MOVA,#FFH;无键标志FFH存入A中RETKS1:MOVDPTR,#0101H;判键子程序MOVA,#00H;全扫描信号******@DPTR,A;发全扫描信号INCDPTRINCDPTR;指向8155口CMOVXA,***@DPTR;读入列值ANLA,#0FH;保存低4位ORLA,#F0H;高4位取“1〞CPLA ;取反,无键按下那么全“0〞RET编辑课件