#include<reg52.h> //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
/* 函数申明 -----------------------------------------------*/
void delay(uint z);
/* 变量定义 ----------------------------------------------*/
sbit key1=P3^5;
sbit key2=P3^4;
sbit key3=P3^3;
sbit key4=P3^2;
/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
void main()
{
P0 = 0;
while(1) //无限扫描
{
if(key1==0)
{
delay(5); //消抖动
if(key1==0) //确认按键被按下
{
while(!key1);//松手检测
P1=0;
delay(200);
P1=0XFF;
}
}
if(key2==0)
{
delay(5); //消抖动
if(key2==0) //确认按键被按下
{
while(!key2);//松手检测
P1=0;
delay(200);
P1=0XFF;
delay(200);
P1=0;
delay(200);
P1=0XFF;
}
}
if(key3==0)
{
delay(5); //消抖动
if(key3==0) //确认按键被按下
{
while(!key3);//松手检测
P1=0;
delay(200);
P1=0XFF;
delay(200);
P1=0;
delay(200);
P1=0XFF;
delay(200);
P1=0;
delay(200);
P1=0XFF;
delay(200);
}
}
if(key4==0)
{
delay(5); //消抖动
if(key4==0) //确认按键被按下
{
while(!key4);//松手检测
P1=0;
delay(200);
P1=0XFF;
delay(200);
P1=0;
delay(200);
P1=0XFF;
delay(200);
P1=0;
delay(200);
P1=0XFF;
delay(200);
P1=0;
delay(200);
P1=0XFF;
delay(200);
}
}
delay(10);
}
}
/*
********************************************************************************
** 函数名称 : delay(uint z)
** 函数功能 : 延时函数
********************************************************************************
*/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
|