基于51单片机的独立按键设计

导语: 单片机在运用到实际的产品中,不仅仅只使用io输出去控制,更多的时候,我们需要收到一些信号,比如数字信号,模拟量信号等。
按键作为一种人机交互的方式,被广泛的应用在各个工业控制领域。
通过单片机的轮询来检测按键的电平变化,实现相应的功能。独立按键通过独占io,简化程序的设计,但与此对于的是需要占用io,比较浪费io,所以可以通过分时片选复用的方式实现8个io使用16个按键,本节介绍单个io的输入。
轻触开关 俗称按键,常开型,按下后会自动弹起,恢复到断开状态。机械开关都伴随着抖动,由于金属触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动。
常见的解决方法有硬件电路解决,rs触发器,电容等方法。但与之对应的是成本的上升与电路的复杂性上升。
平时更常见的有软件上的算法,如延时等待按键抖动结束,但会导致程序运行的实时性降低。
51单片机上电后,除p0端口外,其余默认为高电平,单片机内部自带上拉电阻把电平拉高。在传统8051中,并不能设置单片机io的输入输出模式。通过编写按键程序,识别电平从高到低的过程,从而实现交互。
在程序编写中,需要实现检测io电平是否为低,同时需要实现
自锁,按键按下一次只运行一次任务,当按键松开后,才能按下下一次实现功能,不然一直执行功能。不要去实现长按功能。 消抖,按下后不稳定的电平变化会影响程序,通过延时去屏蔽掉这段时间。 if(key0 == 0) 

 delay(20); 
 if(key0 == 0) 
 { 
     // 功能代码; 
     while(key0 == 0); 
 } 
} 按键的抖动时间跟按下力度,本身属性有关,抖动时间不定,通常取经验值20ms。
独立按键较为简单,独立按键和矩阵按键本质上都是通过单片机的轮询来检测io电平。


基于16 RISC架构和R8800实现基站监控终端的设计
全球芯片总体处于缺货涨价状态,CIS(CMOS图像传感器)市场也是如此
苹果自研GPU:新一代MacBook Air版本将搭载M1升级版
国内存储厂商开始崭露头角
无人机反制系统中的打击手段有哪些
基于51单片机的独立按键设计
IT自动化和人工智能在2021年发展的趋势和影响
遇到填报无计可施?一文讲透自由表填报,数据分析效率直线提升
华为青浦研发中心拟明年6月竣工交付,开展终端芯片等领域研发
全新Fluke雷射测距仪达100公尺的测量距离
支持Chiplet的底层封装技术
全“芯”升级!国产Q-EDA软件本源坤元2.0版本上线
65寸智能会议平板广泛应用于校园
PON供应商的市场格局不断扩大,PON市场正面临着分化
汽车电子稳定系统(ESP)的原理分析
全网最佳人气蓝牙耳机榜单Top5,值得入手的耳机推荐
高通本周与中国监管机构会面 确保恩智浦交易获批
小米将推红米5新机,全面屏+骁龙450,红米5 Plus联袂登场
74hc595与74hc573区别
基于单片机控制的水温炫彩智能杯垫电路设计