⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 999.c

📁 初学LED流水灯效果
💻 C
字号:
/*-------------------------------------------
项目名:   C语言彩灯程序系列 [C语言学习]
程序名:    渐明渐暗的闪烁彩灯
编写人:    杜洋 
初写时间:  2005年8月25日 22时
程序功能:   使LED彩灯由亮渐灭再由灭渐亮的闪烁
实现方法:  通过改变彩灯亮灭的时间长度来改变彩灯亮度
CPU说明:   AT89S52型单片机 12MHZ晶体振荡器
接口说明:  8个LED彩灯接P1口 
信息说明:  文件名-C彩灯
修改日志:  
  NO.1-2005年8月26日-修改了闪烁周期长度
 
-------------------------------------------*/

 #include <AT89X51.h>
void delay (unsigned int d);

/* 彩灯主函数 实现彩灯的显示 */
    void main (void)

    {

    unsigned char a, b;      /* a控制延时长度 b控制循环周期 */

        while (1)
        {

        P1 = 0xff;

     a = 0x00;

         for (b=500; b>0; b--)            /* 定义半周期循环时间(次数)*/
         {

         a++;

         delay (a);      /* 延时长度随a而改变 */

         P1 = 0x00;

         a = ~a;     /* a值取反 决定灯灭时的占空比 */

         delay (a);

         P1 = 0xff;

         a = ~a;       /* a值取反 使a回到原值继续循环 */

         }

        P1 = 0x00;     /* 彩灯全亮 使灯达到最亮 */

     a = 0x00;

         for (b=500; b>0; b--)
{

         a++;

         delay (a);

         P1 = 0xff;

         a = ~a;

         delay (a);

           P1 = 0x00;

         a = ~a;

         }

        P1 = 0xff;

        }
    }





    void delay (unsigned int d)    /* 延时功能函数--由d决定延时长度 */
    {

    unsigned char i;

     while( --d != 0)

     {

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

  }     
    }

⌨️ 快捷键说明

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