步骤思路如下:
#include <STC15F2K60S2.H>
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
void Delay (unsigned int t)
{
while(t--);
while(t--);
}
//选通led灯亮
void LEDrunning()
{
unsigned char i;
HC138_C=1;
HC138_B=0;
HC138_A=0;
for (i=0;i<3;i++)
{
P0 = 0x00;
Delay(60000);
Delay(60000);
P0 = 0xff;
Delay(60000);}
//循环点亮
for (i = 1; i<=8;i++)
{
P0 = 0xff << i; //移位操作 每移i位, 后面就补充i个0,进而点亮i个灯
Delay(60000);
Delay(60000);
}
//循环熄灭
for (i = 1; i<=8;i++)
{
P0 =~( 0xff << i); //移位操作 对上面的操作取反
Delay(60000);
Delay(60000);
}
}
void main()
{
while(1)
{ P2 = 0xa0; //选通蜂鸣器
P0 = 0x00; //关闭蜂鸣器
LEDrunning();}
}