独立按键实验
做按键的实验,首先需要知道的,就是关于按键的消抖。
一般的情况下,消抖分为两种:硬件和软件消抖。下面做实验用的是软件消抖。
软件消抖的方式:先读取按键的状态,如果在得到按键按下的讯息之后,进行延迟处理。之后在读取按键的状态,如果这时候按键还是处于按下的状态,那么说明按键已经被按下了。其中的延时程序,就是软件消抖处理。
常用的软件消抖方法:
1,先设置IO口输出为高电平,基本上因为单片机IO口有上拉电阻的缘故,所以默认IO口为高电平了。
2,读取按键IO口的输出电平状态确认是否按下:如果有IO口为低电平,那么就进行延时消毒处理。
3,再对这个IO口的电平状态进行确认,如果仍然为低电平状态,那么此时确定了IO口被按下。
4,执行相应的按键程序。
5,检测按键是否松开:while(!按键的借口值)。
独立按键的检测原理如下:
独立按键电路构成是由各个按键的一个管脚连接在一起接地,按键其他引脚 分别接到单片机 IO 口(这个按键,他的一个引脚接地,另一个引脚接在IO口上,负责输入)。开始时先给该 IO 口赋一高电平,然后让单片机不断地检测该 I/O 口是否变为 低电平,当按键闭合时,即相当于该 I/O 口通过按键与地相连,变成低电平, 程序一旦检测到 I/O 口变为低电平则说明按键被按下,然后执行相应的指令
实验程序如下:
#include "reg52.h"
#include<intrins.h>
sbit k1=P0^0;
sbit led=P1^0;
void delay10ms(void) //误差 10ms
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void keypros() // 键盘扫描函数
{
if

本文介绍了51单片机独立按键和矩阵按键的实验,包括消抖原理、软件消抖方法及其实现。独立按键通过检测IO口低电平判断按键状态,矩阵键盘使用行列扫描或线翻转法检测按键位置。实验中强调了消抖处理和程序编写注意事项。
最低0.47元/天 解锁文章
3748





