懂单片机的大侠请进. 下面是单片机按键的消抖方法.没有看懂,麻烦大家讲解一下
该消抖方法相当于确定了一个下降沿1.单按键#include<AT89X51.h>#defineucharunsignedchar#defineuintunsignedin...
该消抖方法相当于确定了一个下降沿
1.单按键
#include<AT89X51.h>
#define uchar unsigned char
#define uint unsigned int
sbit key=P3^3;
void main(void)
{
uint n=0;
bit flag;
while(1)
{
if(P1_7==0)
{
n++;
if(n>300)
{
flag=1;
}
}
else
n=0;
if(flag&P1_7==1)
{
flag=0;
P3_7=~P3_7;//按键要完成的功能,这实际上是一个上升沿。不管按键按下多久,都只动作一次。
}
}
} 展开
1.单按键
#include<AT89X51.h>
#define uchar unsigned char
#define uint unsigned int
sbit key=P3^3;
void main(void)
{
uint n=0;
bit flag;
while(1)
{
if(P1_7==0)
{
n++;
if(n>300)
{
flag=1;
}
}
else
n=0;
if(flag&P1_7==1)
{
flag=0;
P3_7=~P3_7;//按键要完成的功能,这实际上是一个上升沿。不管按键按下多久,都只动作一次。
}
}
} 展开
展开全部
#include<AT89X51.h> //包含AT89X51头文件
#define uchar unsigned char
#define uint unsigned int //宏定义,不多说。。
sbit key=P3^3;//定义键盘按键key,连接在P3.3引脚上
void main(void)
{
uint n=0;
bit flag;
while(1)
{
if(P1_7==0)
{
n++;
if(n>300)
{
flag=1;
}
}
else
n=0;
if(flag&P1_7==1)
{
flag=0;
P3_7=~P3_7
老板来了不多说了,回头你追问我..
#define uchar unsigned char
#define uint unsigned int //宏定义,不多说。。
sbit key=P3^3;//定义键盘按键key,连接在P3.3引脚上
void main(void)
{
uint n=0;
bit flag;
while(1)
{
if(P1_7==0)
{
n++;
if(n>300)
{
flag=1;
}
}
else
n=0;
if(flag&P1_7==1)
{
flag=0;
P3_7=~P3_7
老板来了不多说了,回头你追问我..
追问
if(P1.7==0)这里不懂,麻烦讲解一下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询