#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--);
}
|