51单片机初了解(9)

跑马灯效果的实现------8颗LED,7亮1灭,灭的移动

0x7f(01111111)

0xbf(10111111)

0xdf(11011111)

C语言按位取反:~表示对一个数字按位取反。01111111~10000000

#include <reg51.h>

void delay(void)

{

        unsigned char i,j;

  for(i=0;i<200;i++)

     for(j=0;j<200;j++);

}

void main(void)

{

      unsigned char i=0;             //i控制循环次数

  unsigned char d=0x80;     //端口值

  while(1)

  {

        for(i=0;i<8;i++)

    {

      d<<=1;       //d=d<<1;

      p0=~d;       //d按位取反后给p0端口

      delay();

    }

  }

}

猜你喜欢

转载自www.cnblogs.com/zzz2333/p/9889612.html
今日推荐