首先让8路LED灯闪烁3遍后熄灭,接着依次点亮LED灯,最后依次熄灭LED灯,程序循环实现上述功能
#include<reg52.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--); } void LEDRunning() { unsigned char i; HC138_C=1; HC138_B=0; HC138_A=0; //让Y4口输出低电平,让锁存器选通P0口 for(i=3;i>0;i--) { P0=0X00; delay(60000); delay(60000); P0=0xff; delay(60000); delay(60000); } for(i=1;i<=8;i++) //i=1,初值不为0,立刻点亮要往后移1位 { P0=0xff<<i ; delay(60000); delay(60000); } for(i=1;i<=8;i++) { P0=~(0xff<<i) ; delay(60000); delay(60000); } } void main() { while(1) { LEDRunning(); } }