单片机8灯闪烁实验写出程序

img

编程实现: 8个LED奇偶交替亮灭X次,接着8个LED从左到右依次亮灭,最后8个LED从右到左依次亮灭,周而复始。(用delay ()函数进行时间控制)。



#include <reg51.h>
//LED在P1口,共阴
//交替亮灭次数
#define X  100

void delay()
{
    int i;
    for(i=0; i< 10000;i++){}
}

void main()

{
  int i;
  while(1){
      for(i=0; i< X; i++)
      {
          P1 = 0X55;
          delay();
          P1 = 0xaa;
          delay();
      }
      
      for(i = 0; i< 8; i++)
      {
          P1 = 0x01 << i;
          delay();
      }
      
      
      for(i = 0; i< 8; i++)
      {
          P1 = 0x80 >> i;
          delay();
      }
  }
}

除了程序,需要proteus的仿真电路吗