如何区分按键长按、短按和液晶动态显示时间

来源:本站
导读:目前正在解读《如何区分按键长按、短按和液晶动态显示时间》的相关信息,《如何区分按键长按、短按和液晶动态显示时间》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《如何区分按键长按、短按和液晶动态显示时间》的详细说明。
简介:本文主要介绍了一下关于如何区分按键长按、短按和液晶动态显示时间,一起来学习一下:

首先说这个用到的材料:STM32主板,5*4的矩阵键盘和12232液晶。具体的代码和硬件连接我就不详细说了,下面简单说一下思路。

按键的识别可以通过两种方式,扫描和中断,这里用的是扫描法识别按键。一般来说,矩阵键盘的扫描都是这样的,将某行(列)置0,然后读取某列(行)的值,若为0则代表该行该列的按键按下。延时10ms左右(防止按键的机械抖动),再将该行置0并读取该列的值 ,若还为0则代表该按键确实按下了。下面就该区分是长按还是短按了,接着,如果不松开按键,此后每隔10ms检测一下列的值,连续100次(长按时间1s)都为0 代表按键一直未松开,则可以断定为长按,若中间有一次不为0,则断定为短按。

如何长按一个按键,然后动态显示时间呢?液晶的画面是静态的,要想它呈现动态,那就得不断的刷新液晶显示内容,例如:显示时间的时候让秒刷新。由于键盘需要动态的扫描,按我们长按一个按键后,调用一次时间显示函数,如果想让时间秒刷新,那就得不断的调用时间显示函数,这样程序就会不断的死循环,这样是不行的。正确的做法是,在长按一个按键后设定一个标志位flag=1,然后设定一个中断函数,中断间隔小于等于1s,然后在中断函数中判断flag,if(flag==1),则调用时间显示函数,这样程序就不会死循环了。

提醒:《如何区分按键长按、短按和液晶动态显示时间》最后刷新时间 2024-03-14 00:55:13,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《如何区分按键长按、短按和液晶动态显示时间》该内容的真实性请自行鉴别。