流水灯.c

来自「AT89S52单片机程序50例(00-50)」· C语言 代码 · 共 32 行

C
32
字号
//19:38 2010-3-29
//实验名称 流水灯
//实验功能 LED灯由左往右依次循环点亮。
//电路接线 8个LED灯分别接在P1口。

#include <reg52.h>  //头文件

//延时子程序
void delay(unsigned int i) 
{
 while(--i);
}

//主程序
main()
{
  P1=0xfe;  //给初始化值,灯L1亮。
  while(1)
 {
   delay(30000);  //delay at crystal frequency in 12MHz
   P1<<=1;  //左移一位
   P1|=0x01;  //最后一位补1
   if(P1==0x7f)  //检测是否移到最左端?
  { 
    delay(30000);  //delay
    P1=0xfe;  //初始化,灯L1亮。
  }
 }
}
//注意:左移一位可以为P1<<=1;或者为P1=P1<<1;
//      最后一位补1可以为P1|=0x01;或者为P1=P1|0x01;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?