🌹作者简介: @鹤辞 ,喜欢玩弄单片机,嵌入式,PCB制作,电路设计等等,希望自己的学习经历经验能够对你们有启发
🌹前期回顾:单片机之中断系统篇_@鹤辞的博客-CSDN博客
🌹努力目标:突破1000粉丝
🌹支持鹤辞:点赞👍,留言👏, 关注💖,收藏🤞
51单片机独立按键
按键的基本原理
按键右端接GND,左边接到单片机的IO口,同时接了一个上拉电阻,当按键未按下时,P2.0为高电平(学过模电的人都应该知道为什么吧)当按键按下时,相当于P2.0口与GND相连为 低电平。
按键的消抖(重点)
可以从上图看到,断开和闭合之间有一些毛刺现象,这样,当我们按键按下时,我们无法判别此时P2.0口到底是高电平还是低电平,所以,这是我们要解决的问。
通常按键消抖有两种方式:
1,软件消抖(简易,省资源,常用)
利用延时程序代码进行消除抖动的一种方式。
2,硬件消抖
主要利用锁存器来实现按键消抖的一种方式。
3,利用protues实现模拟
代码多种编写:
第一种编写:
#include <reg52.h> sbit key=P2^0; unsigned char smg[]={0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F}; bit falg=0; unsigned char num=0; void key_scan() { if(key==0&&falg==0) { falg=1; } if(key==1&&falg==1) { num++; falg=0; } } void smg_display() { P3=smg[num]; if(num==10) num=0; } int main() { while(1) { key_scan(); smg_display(); } }
第二种编写:
void key() { if(key_1==0) { Delay10ms(); if(key_1==0) led=~led; } while(!key_1); }
❀❀❀下期:矩阵键盘多种编写
文章制作不易,感谢你的喜欢!点赞👍,留言👏, 关注💖,收藏🤞文章来源:https://www.toymoban.com/news/detail-439057.html
下期再见吧🐱🏍🐱🏍🐱🏍🐱🏍🐱🏍🐱🏍文章来源地址https://www.toymoban.com/news/detail-439057.html
到了这里,关于单片机之独立按键(多种按键代码编写)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!