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

📄 999.lst

📁 用C语言来实现LED的渐明渐暗效果
💻 LST
字号:
C51 COMPILER V7.06   999                                                                   04/18/2009 15:10:58 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 999
OBJECT MODULE PLACED IN 999.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 999.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*-------------------------------------------
   2          项目名:   C语言彩灯程序系列 [C语言学习]
   3          程序名:    渐明渐暗的闪烁彩灯
   4          编写人:    杜洋 
   5          初写时间:  2005年8月25日 22时
   6          程序功能:   使LED彩灯由亮渐灭再由灭渐亮的闪烁
   7          实现方法:  通过改变彩灯亮灭的时间长度来改变彩灯亮度
   8          CPU说明:   AT89S52型单片机 12MHZ晶体振荡器
   9          接口说明:  8个LED彩灯接P1口 
  10          信息说明:  文件名-C彩灯
  11          修改日志:  
  12            NO.1-2005年8月26日-修改了闪烁周期长度
  13           
  14          -------------------------------------------*/
  15          
  16           #include <AT89X51.h>
  17          void delay (unsigned int d);
  18          
  19          /* 彩灯主函数 实现彩灯的显示 */
  20              void main (void)
  21          
  22              {
  23   1      
  24   1          unsigned char a, b;      /* a控制延时长度 b控制循环周期 */
  25   1      
  26   1              while (1)
  27   1              {
  28   2      
  29   2              P2 = 0xff;
  30   2      
  31   2           a = 0x00;
  32   2      
  33   2               for (b=500; b>0; b--)            /* 定义半周期循环时间(次数)*/
  34   2               {
  35   3      
  36   3               a++;
  37   3      
  38   3               delay (a);      /* 延时长度随a而改变 */
  39   3      
  40   3               P2 = 0x00;
  41   3      
  42   3               a = ~a;     /* a值取反 决定灯灭时的占空比 */
  43   3      
  44   3               delay (a);
  45   3      
  46   3               P2 = 0xff;
  47   3      
  48   3               a = ~a;       /* a值取反 使a回到原值继续循环 */
  49   3      
  50   3               }
  51   2      
  52   2              P2 = 0x00;     /* 彩灯全亮 使灯达到最亮 */
  53   2      
  54   2           a = 0x00;
  55   2      
C51 COMPILER V7.06   999                                                                   04/18/2009 15:10:58 PAGE 2   

  56   2               for (b=500; b>0; b--)
  57   2      {
  58   3      
  59   3               a++;
  60   3      
  61   3               delay (a);
  62   3      
  63   3               P2 = 0xff;
  64   3      
  65   3               a = ~a;
  66   3      
  67   3               delay (a);
  68   3      
  69   3                 P2 = 0x00;
  70   3      
  71   3               a = ~a;
  72   3      
  73   3               }
  74   2      
  75   2              P2 = 0xff;
  76   2      
  77   2              }
  78   1          }
  79          
  80          
  81          
  82          
  83          
  84              void delay (unsigned int d)    /* 延时功能函数--由d决定延时长度 */
  85              {
  86   1      
  87   1          unsigned char i;
  88   1      
  89   1           while( --d != 0)
  90   1      
  91   1           {
  92   2      
  93   2        for(i = 0; i < 2; i++);
  94   2      
  95   2        }     
  96   1          }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    106    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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