首页 » 家电故障 » 单片机按键模块及其功能介绍「单片机按键模块及其功能介绍图」

单片机按键模块及其功能介绍「单片机按键模块及其功能介绍图」

admin 2024-09-30 00:40:32 家电故障 0

扫一扫用手机浏览

大家好,今天小编关注到一个比较有意思的话题,就是关于单片机按键模块及其功能介绍的问题,于是小编就整理了1个相关介绍单片机按键模块及其功能介绍的解答,让我们一起看看吧。

单片机的独立键盘有什么用?

单片机按键模块及其功能介绍

我这按键是机械弹性按键,所以具有弹性,按键在按下和松开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误

读多次,然后为了保证cpu对键的一次闭合仅作一次处理,所以我们必须去除抖动。去除抖动有2种,硬件消抖和软件消抖。

其中一软件消抖最方便。所以我就以软件消抖为例。

独立按键的原理图和led的原理图如上,8个led的阳极都接了vcc(vcc认为是电源正极,gnd认为是电源负极),所以只需要led的阴极接的p2i(i取值0到7)口输入低电平(即0v)对应的led就可以发亮了.

接下来看看独立按键的原理图,首先K1是和rxd管脚相连的,然后rxd管脚又是和P3^1口连接的,所以可以P3^1口是和k1开关连接的,可以知道当k1按键按下时电路就导通了,因为k1右边接了gnd,所以P3^1这个io口的输出电平就被拉低变0电平了。(p31io口电平能被拉低是因为P3口是准双向io口),所以我们可以通过判断P3^1io口的电平来获知按键的状态,P3^1==1,则按键k1没有按下,P3^1==0,则按键k1按下了。

接下来展示一个通过独立键盘里的按键k1来控制led1的亮灭的程序

#include<reg52.h>

sbit led1=P2^0;//因为led1由p2^0口控制

sbit k1=P3^1;//P31口的输出电平由按键k1控制

void delay(int i)

{

while(i--);

}

void keyproc()

{

if(k1==0)

{

delay(1000);//延时消抖

if(k1==0)

{

led1=~led1;////led1状态反转,亮变灭,灭变亮

}

while(!k1) ;

}

}

void main()

{

while(1)

{

keyproc();

}

}

把这代码烧到单片机后,我们一按k1,led1就会亮,再按一次就会灭,一直这样下去

按键是最常用的输入方式,学习单片机时,按键输入是必学习的内容,在大学课程《51单片机》有介绍,单片机的按键输入分为独立式按键矩阵式按键

1.什么是独立式按键

所谓独立式按键就是指,每个按键占用一个GPIO口,如下图所示,就是两个独立按键,占用了两个单片机的GPIO口。

单片机按键模块及其功能介绍

独立式按键在编程时比较简单、方便,但是严重浪费单片机的GPIO口资源。如果一个单片机系统中有多个按键,则需要考虑矩阵式按键或者是扩展GPIO口。

2.独立式按键有什么用

按键都是用作输入的,在单片机系统中自然也被当作输入,单片机需要检测按键的输入情况做相应的逻辑处理。如下图所示,是单片机所实现的一个数字时钟,用到了四个独立按键。

单片机按键模块及其功能介绍

可以利用这四个按键来设置时间、设置日期、设置闹钟等,从而实现与单片机的人机交互

3.多按键的扩展方式

有些场合会用到比较多的按键输入,如用单片机设计一个多通道的抢答器、用单片机实现一个计算器、密码锁等,这类情况如果再使用独立式按键需要占用大量的GPIO口。为了节省GPIO,可以通过矩阵式按键或者使用串入并出的移位寄存器来扩展。

单片机按键模块及其功能介绍

上图是典型的矩阵式按键的原理图,通过8个GPIO即可实现4×4的矩阵键盘。矩阵式按键可以节省GPIO,但是程序相对复杂。

除了矩阵式按键外,还可以使用芯片来扩展,如74HC595等。

以上就是这个问题的回答,感谢留言、评论、转发。更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。

很多的嵌入式或者单片机系统中,一般都需要向嵌入式或者单片机系统输入信息的外设,以及嵌入式或者单片机向外输出信息的外设

我们常见的显示屏,数码管等就是嵌入式或者单片机系统输出外设

触摸板,独立按键等就是嵌入式或者单片机系统输入的一种外设。

所以,关于单片机系统中运用独立按键的目的,是为了满足用户在单片机系统已有的功能中,选择自己需要的功能,或者设置对应的参数。

一般来说,独立按键是通过物理机械式的接触,将VCC或者GND短接,达到单片机的某一个IO电平变化的按键方式。

它与矩阵键盘,ADC按键等其他的按键方式,有电路设计简单稳定,软件处理简单的优点,但这种形式相对于矩阵键盘和ADC按键的形式,更多占用IO口

一般独立按键在硬件上设计时,如下图所示

单片机按键模块及其功能介绍

采取上拉式,其中的电阻是限流电阻,保护MCU的IO不会损坏,电容是滤波电容,

按键没有按下时,MCU端口一直高电平,当按键按下时,端口就会变为低电平

单片机按键模块及其功能介绍

在软件设计过程中,可以采用外部中断形式,或者IO端口循环扫描的形式进行键值的获取,在按键状态获取时,需要考虑软件消抖,同时建议不要使用Delay延时,使用时间计数方式来计算按键状态时间,避免了占用MCU资源,无法处理其他的任务。

按键的运用在软件中,按键的运用较为灵活,当多个按键同时存在时,可以通过组合按键操作实现某一个功能,但当只有一个按键,项目又需要多个功能实现切换的时候,可以考虑,短按+长按,按键按中+按键松开,单击+双击+多击,多种形式灵活组合实现各个不同的操作流程。

比如

关机状态,短按进入待机X状态

关机状态,长按进入状态A

待机X状态短按,进入状态B,

待机X状态后长按,进入状态C,

待机X状态,快速多连击进入状态D

等等这样的操作形式或者流程,就能利用一个独立按键,实现多个功能代码的设计。

单片机按键模块及其功能介绍

独立按键是单片机系统中一个很重要的设计,简单运用很简单,但深入灵活的组合实现也是需要自己仔细琢磨,将独立按键的用法吃透,在实际的项目开发过程中,会让您的解决问题可选方案增加很多,工作更加得心应手。

欢迎 留言 转发,点赞,关注!!!


谢谢大家

单片机的独立按键用于一端接地,另一端与I/O引脚相连。按键按下为低电平,未按下为高电平。与矩阵键盘相比,使用独立按键可以使单片机编程更加简单,但是浪费I/O口,毕竟单片机的I/O口是有限的。同时每个按键单独占用一个I/O口线,每个按键的工作不会影响其他I/O口线的状态。同时,当只需要几个按键的情况,采用独立按键较为合适。

在按键较少的情况下,使用独立键盘配置灵活。但按键较多时,就会浪费I/O口线。同时独立按键可以查询哪个按键被按下。

到此,以上就是小编对于单片机按键模块及其功能介绍的问题就介绍到这了,希望介绍关于单片机按键模块及其功能介绍的1点解答对大家有用。

相关文章

芯片丝印查询型号「芯片丝印查询型号网」

大家好,今天小编关注到一个比较有意思的话题,就是关于芯片丝印查询型号的问题,于是小编就整理了3个相关介绍芯片丝印查询型号的解答,让...

家电故障 2024-09-29 阅读2 评论0

电子厂口号「电子厂口号8字」

大家好,今天小编关注到一个比较有意思的话题,就是关于电子厂口号的问题,于是小编就整理了3个相关介绍电子厂口号的解答,让我们一起看看...

家电故障 2024-09-29 阅读2 评论0

制作小视频「制作小视频的免费软件」

大家好,今天小编关注到一个比较有意思的话题,就是关于制作小视频的问题,于是小编就整理了2个相关介绍制作小视频的解答,让我们一起看看...

家电故障 2024-09-29 阅读2 评论0