片机学习键盘接口.ppt

上传人:小飞机 文档编号:6426492 上传时间:2023-10-30 格式:PPT 页数:14 大小:271.99KB
返回 下载 相关 举报
片机学习键盘接口.ppt_第1页
第1页 / 共14页
片机学习键盘接口.ppt_第2页
第2页 / 共14页
片机学习键盘接口.ppt_第3页
第3页 / 共14页
片机学习键盘接口.ppt_第4页
第4页 / 共14页
片机学习键盘接口.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《片机学习键盘接口.ppt》由会员分享,可在线阅读,更多相关《片机学习键盘接口.ppt(14页珍藏版)》请在三一办公上搜索。

1、2013.5.13课程安排,学习+实践,巩固按键的工作原理及识别方法独立按键的识别矩阵按键 行扫描法行列转换法,实践-按键识别C程序,通过调试程序,掌握三种按键的识别方法,编写相应的C语言程序01闪烁的LED17按键识别-行扫描法18 开关控制LED,Proteus的使用,软件的安装 Proteus 75SP3 Setup安装过程中要选择license安装完毕后运行启动吧!,10.2 键盘接口原理10.2.1 键盘输入应解决的问题键盘输入的特点键盘:一组按键开关的集合。行线电压信号通过键盘开关机械触点的断开、闭合,其输出波形如图10-6。,图10-6,P.166,行线上拉电阻,?,?,?,触点

2、抖动,1.独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可很容易判断那个键被按下。,图10-7独立式键盘工作电路,(适于键数较少、操作快、同时多键动作场合),10.2.2 键盘接口的工作原理 分独立式按键接口和行列式键盘接口。,P.167,程序处理方法与开关量输入相同,2.行列式(矩阵式)键盘接口,图10-9 44行列式键盘结构(扫描法),适于按键数目较多的场合;可节省很多的I/O口线;同时只会有一个键闭合的场合。,行列式键盘按键的识别方法,a.扫描法,第1步:识别键盘有无键按下;驱动所有列线为0,输入各行线电平如果有0,就说明有键按下,如果行线电平全1,则全部

3、无键按下。,第2步:如有键被按下,识别具体的按键。依序驱动某一列为0,其余列均为1,输入各行线电平,如果某行线电平为0,可确定此行列交叉点处的按键被按下;如果行线电平全为1 则本列无按键按下。,P.168,输出口驱动列线,输入口读取行线电平,第1步:列线输出为全0,随后输入行线电平如有0,则0所在的行就是闭合的按键所在行;无0则无键闭合。第2步:行线输出为全0,随后输入列线电平如有0,则0所在的列就是闭合的按键所在列;无0则无键闭合。结合上述两步,可确定按键所在行和列。,图10-10线反转法原理图,b.线反转法,P.168,PC3PC2PC1PC0PC4PC5PC6PC7,实验板44键盘连接8

4、2C55的端口线,采用线反转法的键盘行线、列线端口各自应当可以在输入与输出方式间切换!如图:高四位与低四位均可独立改变其输入或输出方式,实验板键盘扫描子程序(紫)如TEST2011.ASM所示。LCALL KEY;调用键盘扫描子程序(扫描到按键则在左第3、4位显示“键号、-”),实验板键盘接口设计实例,4X4键盘接口初始为输入,控制口 FEFFH方式字:89H=10001001B,FEFEH,利用82C55的C口高低四位可分别定义为输入或输出,扩展44行列式键盘,以线反转法进行按键的识别及处理,P2.0/A8,【主工作程序中】,KEY:MOV A,#81H;键盘扫描子程序(反转法)MOV DP

5、TR,#0FEFFH MOVX DPTR,A;C口先初始化为高4位输出驱行线、低4位输入列线 MOV DPTR,#0FEFEH MOV A,#00H;键盘行线(高4位)输出驱动全0 MOVX DPTR,A MOVX A,DPTR;输入键盘列线电平(低4位)存60H单元 MOV 60H,A MOV A,#88H;C口改初始化为高4位输入行线、低4位输出驱列线 MOV DPTR,#0FEFFH MOVX DPTR,A MOV DPTR,#0FEFEH MOV A,#00H;键盘列线(低4位)输出驱动全0 MOVX DPTR,A MOVX A,DPTR;输入键盘行线电平(高4位)在A中 ANL 60

6、H,#0FH;列线电平值保留所在的低4位 ANL A,#0F0H;行线电平值保留所在的高4位 ORL 60H,A;两次输入的列线电平值、行线电平值组合成8位行列码,TEST2011.ASM 键盘扫描子程序-1,MOV 61H,#00H;置键号初值为00H MOV R5,#10H;设定最多进行16次的键码查表 MOV DPTR,#KEY_N;键码表首地址 KY:MOV A,#00H;A清0 MOVC A,A+DPTR;查表读取键码表中当前位置键码 CJNE A,60H,NK;与8位行列码比较,不同则转NK查下一个 SJMP KN;相同则转KN根据已获取的键号进行相应处理 NK:INC 61H;键

7、号加1 INC DPTR;指向键值表下一个位置 DJNZ R5,KY;未查完,继续 RET;查完,说明无按键或出现异常行列码则返回(键号=10H)KEY_N:DB 0EEH,0EDH,0EBH,0E7H;键码表。K0,K1,K2,K3键码 DB 0DEH,0DDH,0DBH,0D7H;K4,K5,K6,K7键码 DB 0BEH,0BDH,0BBH,0B7H;K8,K9,K10,K11键码 DB 7EH,7DH,7BH,77H;K12,K13,K14,K15键码,TEST2011.ASM 键盘扫描子程序-2,00H+键号+KEY_N,KN:MOV A,61H;根据查表获得的键号00H0FH之一转

8、向相应处理程序 MOV B,#05H;转移表中每个键号处理程序占5个地址单元 MUL AB MOV DPTR,#K0 JMP A+DPTR;转向对应的键号处理程序 K0:MOV 35H,#0;各键号处理程序:将键号送35H单元(使键号显示在左第三位)SJMP RT0 K1:MOV 35H,#01H SJMP RT0 K2:MOV 35H,#02H SJMP RT0 K3:MOV 35H,#03H SJMP RT0 K4:MOV 35H,#04H SJMP RT0 K5:MOV 35H,#05H SJMP RT0 K6:MOV 35H,#06H SJMP RT0,TEST2011.ASM 键盘扫

9、描子程序-3,类似于高级语言中的开关语句,K7:MOV 35H,#07H SJMP RT0 K8:MOV 35H,#08H SJMP RT0 K9:MOV 35H,#09H SJMP RT0 KA:MOV 35H,#0AH SJMP RT0 KB:MOV 35H,#0BH SJMP RT0 KC:MOV 35H,#0CH SJMP RT0 KD:MOV 35H,#0DH SJMP RT0 KE:MOV 35H,#0EH SJMP RT0 KF:MOV 35H,#0FH RT0:MOV 34H,#10H;让左边第四位显示-,键号显示借用了小时的显示位置 RET,TEST2011.ASM 键盘扫描子程序-4,修改键盘扫描子程序功能:改为扫描到按键则显示H与键号于最右边两位;通过调整键码表实现该44键盘每一行4个键的定义左右对调,即原 键0改为3、原键1改为2、原键2改为1、原键3改为0,其他行以此类推。,键盘扫描程序其他功能需求:按键闭合动作、释放动作的判别及处理;按键闭合、释放时的触点抖动消除功能;(如:每10mS扫描一次,扫描到按键动作延迟20mS后再确认等),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号