独立按键

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件消抖
if(k1==0) //检测按键K1是否按下 { delay(1000); //消除抖动 一般大约10ms if(k1==0) //再次判断按键是否按下 { 语句; }
软件编程
下载程序后按下K1按键可以对D1小灯状态取反。 #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; sbit k1=P3^1; //定义P31口是k1 sbit led=P2^0; //定义P20口是led void delay(u16 i) { while(i--); }
按键处理函数 void keypros() { if(k1==0) //检测按键K1是否按下 { delay(1000); //消除抖动 一般大约10ms if(k1==0) //再次判断按键是否按下 { led=~led; //led状态取反 } while(!k1); //检测按键是否松开 } }
独立按键原理
(2)矩阵按键
为了减少I/O口的占用,通常将按键排列成矩阵 形式,即每条水平和垂直直线在交叉处不直接连通, 而是通过一个按键加以连接。
2. 独立按键原理
按键在闭合和断开时,触点会存在抖动现象。由 于机械触点的弹性作用,一个按键在闭合时不会马上 稳定地接通,断开时不会立即断开。
为了避免这种现象而做的措施就是按键消抖。消抖方法 分为:硬件消抖、软件消抖。
独立按键实验
1.按键介绍
2.独立按键原理 3.编写独立按键控制程序
工程图示按键
键盘的分类
键盘分为编码键盘和非编码键盘。键盘上闭合键的识别由专用源自硬件编码器实现,如计算机键盘。靠软件编
程来识别称为非编码键盘。单片机组成的各系统中,用
得最多的是非编码键盘。 非编码键盘又分为:独立键盘和矩阵键盘。
1. 按键介绍
主函数
void main() { while(1) { keypros(); //按键处理函数 } }
如何用按键控制流水灯?
轻触开关是一种电子开关,使用时,轻轻按开关按钮就可使
开关接通,当松开手时,开关断开。我们使用的开关如下图:
自锁开关
是一种常见的按钮开关。在开关按钮第一次按时,开关接通
并保持,即自锁,在开关按钮第二次按时,开关断开,同时开 关按钮弹出来。
(1)独立按键
每个按键单独占用一个I/O口, I/O口 高低电平反映了对应按键的状态 识别流程 查询是否有按键按下? 查询是哪个按键按下? 执行按下键的相应键处理?
(1)硬件消抖:RC电路(利用电容的充放电特性来对 抖动过程产生的电压毛刺进行平滑处理,从而实现消 抖)
(1)硬件消抖电路:
(2)软件消抖:
检测到按键按下后进行10—15ms延时,用于跳过这个 抖动区域。 延时后再检测按键状态,如果没有按下表明是抖动或 者干扰造成,如果仍旧按下,可以认为是正真的按下 。并进行对应的操作。 同样按键释放后也要进行去抖动延时,延时后检测按 键是否真正松开。
相关文档
最新文档