我写了一个程序你看一下:
#include<reg52.h>
typedef unsigned int u8;
#define led P2 //定义led由P2口控制
sbit key=P3^1; //定义开关与P3^1口相连
sbit one=P2^0; //8个IO口中的一个
u8 num=1;
u8 m;
void delay(u8 z) //
{ //延时函数大概延时1us
u8 x,y; //
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
void keypor() //检测按键函数
{
if(key == 0)
{
delay(10);
if(key == 0)
{
num++;
}
}
while(!key);
m=num%2;
}
void oneLED() //一个LED闪烁
{
one=~one;
delay(100);
}
void eightLED() //8个LED闪烁
{
led=0x00;
delay(100);
led=0xff;
delay(100);
}
void main() //主函数
{
while(1)
{
keypor();
if(m==0)
{
oneLED();
}
if(m==1)
{
eightLED();
}
}
} |