📄 key.c
字号:
#include<AT89X51.h>
void main()
{
void flashLed(unsigned char cnt); //闪烁函数
void Delay(unsigned char t); //延时函数
flashLed(2); //开机复位后,LED先闪两次,表明单片机正常
start:
while(1)
{
if(P3_2==0) //若开关K1按下
{Delay(50); //延时
while(P3_2) //若开关K1抬起,P3_2=1,则往下执行,否则,等待松开
{flashLed(1); //闪烁一次
goto start;}} //跳出去,否则会一直闪烁
if(P3_3==0) //若开关K2被按下
{Delay(50); //延时
while(P3_3) //等待松开
{flashLed(2); //闪烁二次
goto start;}} //跳出去,否则会一直闪烁
if(P3_4==0) //若K3被按下
{Delay(50);
while(P3_4) //等待松开
{flashLed(3); //闪烁三次
goto start;}} //跳出去,否则会一直闪烁
if(P3_5==0) //若K4被按下
{Delay(50);
while(P3_5) //等待松开
{flashLed(4); //闪烁四次
goto start; }} //跳出去,否则会一直闪烁
}
}
void flashLed(unsigned char cnt) //闪烁子程序
{
unsigned char a;
for(a=1;a<=cnt;a++)
{
P1=0x00;
Delay(100);
P1=0xff;
Delay(100);
}
}
void Delay(unsigned char t) //延时子程序
{
unsigned char i,j,k;
for(i=0;i<=t;i++)
for(j=0;j<=10;j++)
for(k=0;k<=120;k++)
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -