单片机 中简单的流水灯问题
#include "reg52.h" void led_delay(void) { unsigned char i,j; for(i=0;i<200;i++) for(j=0;j<220;j++) ; } void forward(void)//正向流水点亮 { P1=0xfe; //第一个灯亮 led_delay(); P3=0xfd; //第二个灯亮 led_delay(); P1=0xfb; //第三个灯亮 led_delay(); P1=0xf7; //第四个灯亮 led_delay(); P1=0xef; //第五个灯亮 led_delay(); P1=0xdf; //第六个灯亮 led_delay(); P1=0xbf; //第七个灯亮 led_delay(); P1=0x7f; //第八个灯亮 led_delay(); P1=0xff; } void backward(void)//反向流水点亮 { P1=0x7f; //第八个灯亮 led_delay(); P1=0xbf; //第七个灯亮 led_delay(); P1=0xdf; //第六个灯亮 led_delay(); P1=0xef; //第五个灯亮 led_delay(); P1=0xf7; //第四个灯亮 led_delay(); P1=0xfb; //第三个灯亮 led_delay(); P1=0xfd; //第二个灯亮 led_delay(); P1=0xfe; //第一个灯亮 led_delay(); } void flash(void)//闪烁点亮 { P1=0xff; led_delay(); P1=0x00; led_delay(); } void main(void) { while(1) { forward(); led_delay(); backward(); led_delay(); flash(); led_delay(); // stop(); led_delay(); flash(); led_delay(); } }