《键盘检测原理及应用实现.pptx》由会员分享,可在线阅读,更多相关《键盘检测原理及应用实现.pptx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、键盘分键盘分编码编码键盘和键盘和非编码非编码键盘。键盘。键盘上闭合键的识别由键盘上闭合键的识别由专用的硬件编码专用的硬件编码器器实现,并实现,并产生键编码号或键值产生键编码号或键值的称为的称为编码键盘,如计算机键盘编码键盘,如计算机键盘.而靠而靠软件编程来识别软件编程来识别的称为非编码键盘;的称为非编码键盘;在单片机组成的各种系统中,用的在单片机组成的各种系统中,用的最最多的是非编码键盘多的是非编码键盘。4.1 4.1 键盘的分类键盘的分类第1页/共18页4.2 4.2 独立键盘检测独立键盘检测单片机系统常见按键,按下接通,单片机系统常见按键,按下接通,弹起断开弹起断开弹性弹性小按键小按键自锁
2、式自锁式小按键小按键第2页/共18页按键在闭合和断开时,触点会存在抖按键在闭合和断开时,触点会存在抖动现象:动现象:按键抖动电压变化按键抖动电压变化抖动时间抖动时间10ms10ms开关动作时间开关动作时间50ms50ms“1 1”“0 0”10ms10ms第3页/共18页消除按键抖动的方法(一)消除按键抖动的方法(一)软件消抖:判断到软件消抖:判断到有键按下后有键按下后,延时一段时延时一段时间再读取键盘间再读取键盘来消除抖动的编程方法来消除抖动的编程方法优点:优点:不需要额外的不需要额外的硬件电路硬件电路缺点:缺点:必须编程实现必须编程实现,且需要,且需要选取合适的延选取合适的延时时间时时间第
3、4页/共18页软软件件消消抖抖程程序序流流程程延时等待延时等待10ms10ms仍有按键信号?仍有按键信号?Y Y 有按键信号?有按键信号?N NY YN N键盘处理键盘处理 按键释放?按键释放?N NY Y第5页/共18页消除按键抖动的方法(二)消除按键抖动的方法(二)硬件消抖:方法较多,可采用硬件消抖:方法较多,可采用RSRS触触发器发器实现消抖实现消抖I/OI/O接接口口+5v+5v+5v+5v消除抖动电路消除抖动电路开关开关单单片片机机S SR RQ QQ Q不变不变不变不变1 11 10 01 10 01 11 10 01 10 01 11 10 00 0Q QQ QR RS S 真值
4、表真值表第6页/共18页独立键盘与单片机连接图独立键盘与单片机连接图第7页/共18页独立键盘编程举例独立键盘编程举例例例1 1 用数码管的用数码管的前两位前两位显示一个十进显示一个十进制数,范围从制数,范围从00590059,开始开始时显示时显示0000。每按下每按下S1S1键一次,数值键一次,数值加加1 1;每按下;每按下S2S2键一次,数值键一次,数值减减1 1;每按下;每按下S3S3键一次,键一次,数值数值归归0 0;按下;按下S4S4键第一次键第一次,利用定时,利用定时器使数值开始器使数值开始自动每秒加自动每秒加1 1,再次按下再次按下S4S4,数值,数值停止自动加停止自动加1 1,保
5、持原值保持原值不变。不变。第8页/共18页4.3 4.3 矩阵键盘检测矩阵键盘检测若若按键较多按键较多,则,则独立式键盘独立式键盘会会占用过多的单占用过多的单片机片机I/OI/O口资源口资源,为充分利用其有限的,为充分利用其有限的I/OI/O口口资源,引入资源,引入矩阵键盘矩阵键盘(行列式键盘行列式键盘)下面以下面以4*44*4键盘为例说明矩阵键盘的功能键盘为例说明矩阵键盘的功能第9页/共18页单片机与4*4矩阵键盘电路第10页/共18页矩阵键盘检测按键原理矩阵键盘检测按键原理扫描法扫描法:先:先输出输出送一行送一行为为低电平低电平,其余行其余行均为均为高电平高电平,然后,然后输入输入检测检测
6、一次各列是否一次各列是否为为低电平低电平,若,若检测到检测到某一列为低电平,则可确认某一列为低电平,则可确认当前哪当前哪一行哪一列有键按下一行哪一列有键按下,没有键按下没有键按下则继续则继续,同样方法,同样方法轮流送各行轮流送各行一次一次低电平,则可低电平,则可检测完所有按键检测完所有按键。第11页/共18页矩阵键盘应用举例矩阵键盘应用举例例例2 2 开始数码管不显示开始数码管不显示,顺序按下顺序按下矩阵矩阵键盘后,在数码管上键盘后,在数码管上依次显示依次显示0F0F,6 6个数个数码管码管同时显示同时显示第12页/共18页switch-caseswitch-case语句语句多重分支编程常用该
7、语句,常用于多重分支编程常用该语句,常用于判断条判断条件便于用常量表示件便于用常量表示的场合,此时的场合,此时switch-switch-casecase语句比语句比if-else ifif-else if语句使用起来要语句使用起来要简洁。简洁。第13页/共18页switch-caseswitch-case语句格式语句格式switch(switch(表达式表达式)case case 常量表达式常量表达式1 1 :/此处是此处是冒号冒号语句语句1;1;breakbreak;/;/若若没有没有breakbreak,则,则会顺序往下执会顺序往下执行行case case 常量表达式常量表达式2:2:语
8、句语句2;2;breakbreak;defaultdefault:语句语句n+1;n+1;breakbreak;第14页/共18页例例3 3 键盘显示综合应用(秒表)键盘显示综合应用(秒表)数码管数码管前三位显示一个秒表前三位显示一个秒表,从,从0.000.00到到9.999.99之间以之间以1%1%秒速度运行,用秒速度运行,用矩阵键矩阵键盘第二行作为按键盘第二行作为按键。当。当按下按下第一个键时第一个键时秒表停止秒表停止,松开松开手后秒表手后秒表继续运行继续运行。(用用定时器定时器设计表设计表)。用同一行另外三个键实现按下用同一行另外三个键实现按下第二个第二个时时计时停止计时停止,按下,按下
9、第三个第三个时时计时开始计时开始,按,按下下第四个第四个时时计数值清零从头开始计数值清零从头开始。第15页/共18页总总 结结键盘是单片机键盘是单片机最重要的输入设备最重要的输入设备,对控制系统的编程往往对控制系统的编程往往最复杂最复杂的就的就是对是对按键功能按键功能的设定的设定键盘一般除了键盘一般除了字符键字符键以外,还有各以外,还有各不相同的不相同的功能键功能键(切换切换、加加、减减等)等)第16页/共18页练练 习习按下按下1616个矩阵键盘依次在数码管上个矩阵键盘依次在数码管上显示显示1-1-1616的平方的平方。如按下。如按下第一个第一个显示显示1 1,第二个第二个显示显示2 2.第17页/共18页感谢您的观看!第18页/共18页