?? 1鍵多功能按鍵識別技術.c
字號:
//一鍵多功能按鍵識別技術
//P3.0接按鍵,P1.0-P1.3接LED燈。
#include <reg52.h>
unsigned char ID=0; //定義鍵值ID
sbit SP1=P3^0; //定義P3.0為按鍵
sbit L1=P1^0; //定義P1.0為燈L1
sbit L2=P1^1; //定義P1.1為燈L2
sbit L3=P1^2; //定義P1.2為燈L3
sbit L4=P1^3; //定義P1.3為燈L4
//10ms延時子程序
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
//0.2s延時子程序
void delay02s(void)
{
unsigned char i;
for(i=20;i>0;i--)
{
delay10ms();
}
}
//主程序
void main(void)
{
while(1)
{
if(SP1==0) //按鍵是否按下,SP1=0時,是
{
delay10ms(); //延時消抖
if(SP1==0) //按鍵是否真的按下,SP1=0時,是
{
ID++; //ID加1
if(ID==4) //ID=4時,重新初始化ID
{
ID=0;
L2=1;
L3=1;
L4=1;
}
//按鍵是否釋放,SP1=0時,沒釋放,進入死循環;SP1=1時,釋放,退出死循環。
while(SP1==0);
}
}
switch(ID)
{
case 0:L1=~L1;delay02s();break;
case 1:L2=L1=~L1;delay02s();break;
case 2:L3=L2=L1=~L1;delay02s();break;
case 3:L4=L3=L2=L1=~L1;delay02s();break;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -