欢迎来到天天文库
浏览记录
ID:51593358
大小:950.00 KB
页数:56页
时间:2020-03-25
《单片机键盘原理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、5.1键盘接口技术键盘是十分重要的人机对话的组成部分,是人向机器发出指令、输入信息的必需设备。1、键的特性键盘是由若干独立的键组成,键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程。抖动必须消除,去抖动的方法主要有以下两种:5.1键盘接口技术硬件去抖动软件去抖动前沿抖动稳定后沿抖动图5.1按键抖动信号波形5.1键盘接口技术2、键盘的形式键盘的形式有以下两种:独立式键盘编码式键盘(1)独立式键盘每一个按键的电路是独立的,占用一条数据线。这种键盘占用硬件资源多,适合少量按键的情况。独
2、立式键盘结构独立式键盘与单片机接口独立式键盘与单片机接口程序框图键闭合吗?置P1口为输入方式开始延时10ms消除抖动有键闭合吗?是K1键闭合吗?20H单元加1YYYYYYNNNNNN图5.5独立键盘程序框图流程图是K2键闭合吗?是K3键闭合吗?是K4键闭合吗?20H单元减121H单元清021H单元置FF独立式键盘与单片机接口程序清单:ORG0030HKB:MOVP1,#0FFH;置P1口为输入口MOVA,P1;读键状态CPLAANLA,#0FH;屏蔽高4位JZKB;无键闭合则返回ACALLD10MS;延时去抖动MOVA,P1;再读键状态
3、CPLAANLA,#0FHJZKB;无键闭合则返回CJNEA,#01H,KB01INC20H;K1键闭合,20H单元加1SJMPKB独立式键盘与单片机接口KB01:CJNEA,#02H,KB02DEC20H;K2键闭合,20单元减1SJMPKBKB02:CJNEA,#04H,KB03MOV21H,#00H;K3键闭合,21H单元清0SJMPKBKB03:CJNEA,#08H,KBMOV21H,#0FFH;K4键闭合,21H单元置FFSJMPKB;若有两键以上闭合则返回END矩阵式键盘结构矩阵式键盘的工作原理扫描原理:首先确定是否有键闭合
4、然后逐一扫描以进一步确定是哪一键闭合以4×4键盘为例:(1)使列线D0~D3都输出0,检测行线D4~D7的电平。如果D4~D7上的电平全为高,则表示没有键被按下。如果D4~D7上的电平不全为高,则表示有键被按下。(2)如果没有键闭合,就返回扫描。如果有键闭合,在进行逐列扫描,找出闭合键的键号。先使D0=0,D1~D3=1,检测D4~D7上的电平,如果D4=0,表示K1键被按下;同理,如果D5~D7=0,分别表示K5、K9、K13键被按下;如果D4~D7=1,则表示这一列没有键被按下。再使D1=0,D0、D2、D3为1,对第二列进行扫描,
5、这样依次进行下去,直到把闭合的键找到为止。矩阵式键盘与单片机接口矩阵式键盘与单片机接口一、程序扫描方式三个步骤:判断有无键按下;软件延时10ms去抖动;求键的位置(行、列)。有键闭合吗?开始软件延时10ms有键闭合吗?键释放了吗?逐列逐行扫描确定键的位置调键值处理程序返回YYYNNN图5.8程序键盘扫描程序框图矩阵式键盘与单片机接口程序清单:KSCAN:ACALLKEYS1;调用判键闭合子程序JNZKEY1;有键闭合则转至去抖动AJMPRETURN;无键闭合则返回KEY1:ACALLD10MS;调用10ms延时程序ACALLKEYS1;
6、再次调用判键闭合子程序JNZKEY2;确认有键闭合,开始扫描AJMPRETURN;无键闭合则返回KEY2:MOVR2,#0FEH;送首列扫描字MOVR4,#00H;送首列号KEY0:MOVA,R2MOVP1,AMOVA,P1;扫描字从P1口送出JBACC.4,LINE1;第1行无键闭合,转第2行MOVA,#00H;第1行首键号送AAJMPKPV;转键值计算程序矩阵式键盘与单片机接口LINE1:JBACC.5,LINE2;第2行无键闭合,转第3行MOVA,#04H;第2行首键号送AAJMPKPV;转键值计算程序LINE2:JBACC.6,
7、LINE3;第3行无键闭合,转第4行MOVA,#08H;第3行首键号送AAJMPKPV;转键值计算程序LINE3:JBACC.7,NEXT;第4行无键闭合,转下1列MOVA,#0CH;第4行首键号送AKPV:ADDA,R4;计算键值PUSHACCKEY3:ACALLKEYS1;等待键释放JNZKEYS1POPACCSETBFLAG;置有键按下标志SJMPKEY4RETURN:CLRFLAG;清有键按下标志KEY4:RETNEXT:INCR4;列号加1矩阵式键盘与单片机接口MOVA,R2CJNEA,#0F7H,RETURN;判断4行是否都
8、已扫描完,;完则返回RLA;为扫描下1行做准备MOVR2,AAJMPKEY0;开始扫描下1列KEYS1:MOVP1,#0F0H;判键闭合子程序MOVA,P1CPLAANLA,#0F0HRETD10MS:MO
此文档下载收益归作者所有