1.简介
在单片机应用系统中,常常使用轻触按键组成键盘。轻触按键具有自动回弹的特点,即按下按键,两个触点接通,放开按键,两个触点断开。轻触按键的外形及电路符号如图,通常轻触按键有4个引脚,4个引脚组成两对,每对引脚相通,相当于两个触点。
2.按键抖动及消抖方法
对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。
可采用硬件消抖和软件消抖方法。软件消抖方法是单片机设计中常用的方法。其过程当检测到按键端口为低电平时,不立即确认按键按下,延时10ms后再判断,如果该端口仍为低电平,则确认该端口引脚所接按键确实是被按键按下,这样做避开了按键按下时的抖动时间。
3.按键原理图
由于51系列单片机的I/O口在系统复位后为高电平,因此在设计按键接口时,将按键一端接地,另一端接单片机的I/O口。当按下按键时,I/O口接地,输入为低电平;当按键弹开时,接地端断开,I/O口输入高电平。
独立式按键的电路结构:每个按键占用一个I/O口,按键一端接I/O扣,另一端接地。通过程序检测I/O口的输入电平,即可判断是哪个按键按下,然后转去运行对应按键功能的程序段。
4.C51程序设计
#include <REGX52.H> //单片机内部资源头文件
void main()
{
while(1)
{
if(P3_1==0 || P3_0==0) //
{
P2_0=0; //LED1灭
}
else
{
P2_0=1; //LED1亮
}0
}
}
5.效果
按下,亮
松开,灭