|
普中2.0的板子 使用獨(dú)立按鍵通過(guò)ID的大小來(lái)控制led
#include <reg52.h>
#define u16 unsigned int //數(shù)據(jù)類(lèi)型的定義
#define u8 unsigned char
u16 ID=0; //通過(guò)ID的大小來(lái)控制某個(gè)led的閃爍
sbit led=P2^0; //led的管教定義
sbit led1=P2^1;
sbit led2=P2^2;
sbit led3=P2^3;
sbit k1=P3^1; //獨(dú)立按鍵的定義
sbit k2=P3^0; //復(fù)位按鍵
void delay(u16 i); //延時(shí)函數(shù)
void key(); //按鍵函數(shù)
void main()
{
while(1)
{
key();
switch(ID)
{
case 1: led=~led; led3=1; delay(5000); break; //led的閃爍實(shí)現(xiàn)
case 2: led1=~led1; led=1; delay(5000); break;
case 3: led2=~led2; led1=1; delay(5000); break;
case 4: led3=~led3; led2=1; delay(5000); break;
}
}
}
void delay(u16 i) //延時(shí)函數(shù)
{
while(i--);
}
void key() //按鍵函數(shù)
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
ID++;
}
if(ID>4)
{
ID=0; //當(dāng)按了4次后第五次按下所有的led不在閃爍
led3=1; //是led4 停止閃爍
}
while(!k1);
}
if(k2==0)
{
delay(1000);
if(k2==0)
{
ID=0;
led=1;
led1=1;
led2=1;
led3=1;
}
while(!k2);
}
}
|
評(píng)分
-
查看全部評(píng)分
|