单片机一键多功能按键识别
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//-------------------------------------------------------------------------
程序功能:实现一个按键控制多个led
//-----------------------------------------------------------------------------
{
while(1)
{
if(P3_7==0){
delay1ms();
if(P3_7==0)
{
ID++;
if(ID==5)
{
ID=1;
}
while(P3_7==0);
}
}
switch(ID)
{
case 1:
P3=0xff;
delay20ms();
P3_0=0;
delay20ms();
break;
case 2:
P3=0xff;
delay20ms();
P3_1=0;
delay20ms();
break;
case 3:
P3=0xff;
delay20ms();
P3_2=0;
delay20ms();
break;
case 4:
P3=0xff;
delay20ms();
P3_3=0;
delay20ms();
break;
}
#include <at89x51.H>
#include<intrins.h>
unsigned char ID=0;
//-----精确延时1ms----------------------
void delay1ms(void)
{Leabharlann Baidu
unsigned char a,b,c;
for(c=1;c>0;c--)
}
}
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}
//---------延时20ms--------------------
void delay20ms(void)
{
unsigned char a,b;
for(b=215;b>0;b--)
for(a=45;a>0;a--);
}
void main(void)
程序功能:实现一个按键控制多个led
//-----------------------------------------------------------------------------
{
while(1)
{
if(P3_7==0){
delay1ms();
if(P3_7==0)
{
ID++;
if(ID==5)
{
ID=1;
}
while(P3_7==0);
}
}
switch(ID)
{
case 1:
P3=0xff;
delay20ms();
P3_0=0;
delay20ms();
break;
case 2:
P3=0xff;
delay20ms();
P3_1=0;
delay20ms();
break;
case 3:
P3=0xff;
delay20ms();
P3_2=0;
delay20ms();
break;
case 4:
P3=0xff;
delay20ms();
P3_3=0;
delay20ms();
break;
}
#include <at89x51.H>
#include<intrins.h>
unsigned char ID=0;
//-----精确延时1ms----------------------
void delay1ms(void)
{Leabharlann Baidu
unsigned char a,b,c;
for(c=1;c>0;c--)
}
}
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}
//---------延时20ms--------------------
void delay20ms(void)
{
unsigned char a,b;
for(b=215;b>0;b--)
for(a=45;a>0;a--);
}
void main(void)