模拟警灯.c

来自「这些是自己大学里认为非常宝贵的AVR程序」· C语言 代码 · 共 53 行

C
53
字号
/*****************************************************************************
程 序 名:51AVR实验板配套程序 - 模拟警灯
开发环境:Keil
编 写 者:www.01mcu.net
功能简述:使LS8/LS1模拟警灯闪烁
硬件说明:8个灯接p1口,p0.1是led的公共极,本实验要拉低p0.1
          晶体为12MHz
其它说明:
完成日期:2008.06.20
******************************************************************************/

#include <reg51.h>
sbit ls0=P0^1;     //LED公共极
sbit RED=P1^0;     //代表红色
sbit BLUE=P1^7;    //代表蓝色

//-------------------------------------------
delay(unsigned int t)
{
 while(t--);
}
//-------------------------------------------
main()
{
  unsigned char i;   //在程序中的计数器变量
  ls0=0;             //打开LED公共阳极
  while(1)           //永远循环
    {
     for(i=0;i<5;i++) //红闪5次
       {RED=0;          //红亮
        delay(5000);    //大约50mS@12M
        RED=1;          //红灭
        delay(11000);   //大约100mS@12M
       }
     delay(20000);
     for(i=0;i<5;i++) //蓝闪5次
       {BLUE=0;         //蓝亮
        delay(5000);
        BLUE=1;         //蓝灭
        delay(11000);
       }       
     delay(20000);
     for(i=0;i<5;i++) //红蓝闪5次
       {BLUE=RED=0;     //红蓝亮
        delay(5000);
        BLUE=RED=1;     //红蓝灭
        delay(11000); 
       }
     delay(20000);     
    }
}

⌨️ 快捷键说明

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