- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用Principle Application of MCU;教学内容与要求;键盘概述;微机键盘外形;机械式(Mechanical) :最早被采用,由金属触点和弹簧片组成,使触点导通或断开。工艺简单、维修方便、价格低廉;噪音大、易磨损、寿命短,时间久了故障率升高,现在已基本被淘汰。
导电橡胶式(Conductive Rubber):通过导电橡胶相连。内部有一层凸起带电的导电橡胶,每个按键都对应一个凸起,按下时把下面的触点接通,是机械键盘向薄膜键盘的过渡产品。
塑料薄膜式(Membrane):内部共分四层,实现了无机械磨损。低价格、低噪音和低成本,已占领市场绝大部分份额。
电容式(Capacitives):由导体或半导体材料构成,表面覆盖绝缘材料,按下时形成微小电容,按键改变电极间的距离产生电容量的变化,暂时形成震荡脉冲允许通过的条件,引起电流或电压变化产生输入信号从而驱动编码器。非接触无磨损、噪音小、寿命长、易控制、手感舒适,广泛使用。手感好, 击键声音小。
;;键盘的编码方式;按键key or switch push button;按键开关和单片机的连接;芯片内部有上拉电阻;抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误操作。;硬件消抖
;软件消抖;按一次按键执行多次操作;;[例];主程序;;闭合键扫描程序
KEYSCAN: SETB P1.0
MOV A,P1
ORL A,#0FEH
CLP A
RET ;A为0,无闭合键
;否则键闭合
键处理程序
KEYPRO: CPL P2.0
RET
;多个按键与单片机之间的连接方式;独立式连接方式;F0;;按键处理多分支
K0: RET
K1: MOV LEDBUFF,#0
RET
K2: CPL F0
RET
K3: MOV A,LEDBUFF
INC A
MOV LEDBUFF,A
RET
K4: MOV LEDBUFF,#0AH
RET;;按键处理程序
KEYPRO:
MOV R7,A ;A中是分支序号(键码)
RL A
ADD A,R7
MOV DPTR,#TAB
JMP @A+DPTR
RET
TAB:
LCALL K0
LCALL K1
LCALL K2
LCALL K3
LCALL K4;;闭合键扫描程序
KEYSCAN:ORL P1,#03H ;P1.0~P1.1 为高
MOV A,P1 ;读键值,键闭合相应位为0
CPL A ;取反,键闭合相应位为1
ANL A, ;保留有键值信息低2位
RET ;A为0 无闭合键,1有
;低两位
;1 闭合 0 断开;;;主程序
F0 EUQ 58H
MAIN: CLR F0
LCALL KEYSCAN
JZ FINISH ;全0,无键闭合,返回
LCALL DIR ;非全0,有键闭合,延时消抖
LCALL KEYSCAN
JZ FINISH ;全0,无键闭合,返回
LCALL KEYCODE ;确定键码
LCALL KEYPROC;根据键码进行键处理
FINISH:
LCALL 300MS
SJMP MAIN;键盘扫描控制方式——何时执行扫描子程序;键盘扫描控制方式——何时执行扫描子程序;程序控制扫描方式;定时中断控制方式;外部中断控制方式;行列式(矩阵式)连接方式;行列式(矩阵式)连接方式;扫描法;列线输出扫描码,行线输入状态码。
闭合键扫描:扫描码全0,状态码全1?
闭合键位置:扫描码逐列输出0,某行有按键,状态码有0,若无按键,状态码全部为1。;★ 按键处理过程
A 、判断键盘中有无键按下。
B、消除键的抖动。
C、键码的计算。
D、等待键释放。
E、转键处理子程序。 ;键盘扫描
LED显示子程序(DIR)
判断键闭合子程序(KPS)
键盘扫描子程序(KBS);;键盘扫描程序
KBS: ACALL KPS ;检查是否有键闭合
JNZ KBS1 ;有键闭合,转延时消抖
ACALL DLY ;无键闭合,延时
AJMP KBS ;重新检查是否有键闭合(也可返回主程序)
KBS1: ACALL DIR ;延时(显示)消抖(也可用普通延时程序)
ACALL DIR ;延
文档评论(0)