liwu.lst

来自「摇摇棒程序 用普通的51单片机控制16个LED」· LST 代码 · 共 264 行

LST
264
字号
C51 COMPILER V8.16   LIWU                                                                  01/04/2009 17:36:45 PAGE 1   


C51 COMPILER V8.16, COMPILATION OF MODULE LIWU
OBJECT MODULE PLACED IN liwu.OBJ
COMPILER INVOKED BY: D:\Keil3\C51\BIN\C51.EXE liwu.c BROWSE DEBUG OBJECTEXTEND

line level    source

*** WARNING C500 IN LINE 1 OF LIWU.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))

   1          #include<reg51.h>
   2          typedef unsigned int uint;
   3          typedef unsigned char uchar;
   4           
   5          uchar code JSTU[144] =   
   6          {
   7                  
   8                  //-------新---------
   9             0x00, 0x00,0x04,0x84,0x24,0x88,0x34,0xB2,0xAC,0x81,0x67,0xFE,0x2C,0xA0,0x34,0x9A,0x24,0x84,
  10            0x00,0x18,0x3F,0xE0,0x24,0x00,0x24,0x00,0x47,0xFF,0x44,0x00,0x44,0x00,0x00,0x00, 0x00, 0x00,
  11                  //-------年---------
  12            0x00, 0x00,0x02,0x20,0x04,0x20,0x08,0x20,0x30,0x20,0xC7,0xE0,0x44,0x20,0x44,0x20,0x44,0x20,
  13            0x7F,0xFF,0x44,0x20,0x44,0x20,0x44,0x20,0x44,0x20,0x40,0x20,0x00,0x20,0x00,0x00, 0x00, 0x00,
  14                  //-------快---------
  15              0x00, 0x00,0x0E,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x0D,0x01,0x11,0x02,0x11,0x0C,0x11,0x70,
  16            0xFF,0x80,0x11,0x60,0x11,0x10,0x11,0x0C,0x1F,0x06,0x01,0x03,0x01,0x02,0x00,0x00, 0x00,0x00,
  17                  //-------乐---------
  18             0x00, 0x00,0x00,0x00,0x00,0x04,0x02,0x18,0x3F,0x30,0x22,0xE0,0x22,0x48,0x22,0x04,0x62,0x02,
  19            0x5F,0xFC,0x42,0x00,0xC2,0x00,0xC2,0x40,0x42,0x30,0x02,0x1C,0x00,0x08,0x00,0x00, 0x00, 0x00
  20          };
  21             
  22          uchar code DX[144]= 
  23          {
  24                  //-------天---------                              
  25              0x00, 0x00,0x00,0x00,0x02,0x01,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x10,0x42,0x60,0x7F,0x80,
  26            0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x08,0x42,0x0C,0x42,0x06,0x02,0x04,0x00,0x00, 0x00,0x00,
  27                  //-------天---------                              
  28              0x00, 0x00,0x00,0x00,0x02,0x01,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x10,0x42,0x60,0x7F,0x80,
  29            0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x08,0x42,0x0C,0x42,0x06,0x02,0x04,0x00,0x00, 0x00,0x00,
  30                  //-------开---------
  31             0x00, 0x00,0x02,0x00,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x30,0x7F,0xC0,0x42,0x00,0x42,0x00,
  32            0x42,0x00,0x42,0x00,0x7F,0xFE,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00, 0x00, 0x00,
  33                  //-------心---------
  34            0x00, 0x00,0x00,0x20,0x01,0xC0,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x02,0x80,0x02,0x40,0x02,
  35            0x38,0x02,0x10,0x02,0x00,0x02,0x02,0x1E,0x01,0x00,0x00,0xE0,0x00,0x40,0x00,0x00, 0x00, 0x00
  36          };
  37          
  38          
  39          uchar code CK[144]= 
  40          {
  41                  //-------笑---------
  42              0x00, 0x00,0x08,0x01,0x30,0x41,0xC2,0x42,0x62,0x42,0x52,0x44,0x42,0x48,0x4A,0x70,0x13,0xC0,
  43            0xE4,0x60,0x44,0x50,0x64,0x48,0x54,0x44,0x48,0x46,0x40,0x43,0x40,0x02,0x00,0x00, 0x00,0x00,
  44                  //-------口---------
  45             0x00, 0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,
  46            0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00, 0x00, 0x00,
  47                  //-------常---------
  48             0x00, 0x00,0x04,0x00,0x18,0x00,0x10,0x7C,0x90,0x40,0x77,0x40,0x55,0x40,0x15,0x40,0xF5,0xFF,
  49            0x15,0x40,0x15,0x40,0x37,0x48,0xD0,0x44,0x54,0x78,0x18,0x00,0x10,0x00,0x00,0x00, 0x00, 0x00,
  50                  //-------开---------
  51             0x00, 0x00,0x02,0x00,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x30,0x7F,0xC0,0x42,0x00,0x42,0x00,
  52            0x42,0x00,0x42,0x00,0x7F,0xFE,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00, 0x00, 0x00
  53          };
  54          
C51 COMPILER V8.16   LIWU                                                                  01/04/2009 17:36:45 PAGE 2   

  55          
  56          //------------两边加0x0000是为了两个字之间延时时不出现字的”拖尾“现象---------
  57          
  58          
  59          
  60          /*------------------小心图-------------------*/
  61          uchar code small_heart[36] = 
  62          {
  63                  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x07,0xe0,0x07,0xf0,0x07,0xf0,0x03,0xf8,
  64                  0x03,0xf8,0x07,0xf0,0x07,0xf0,0x07,0xe0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  65          };
  66          /*-------------------大心图--------------------*/
  67          uchar code big_heart[36]=
  68          {
  69                  0x00,0x00,0x00,0x00,0x0f,0x80,0x1f,0xc0,0x1f,0xe0,0x1f,0xe0,0x1f,0xf0,0x0f,0xf8,0x07,0xfc,
  70                  0x07,0xfc,0x0f,0xf8,0x1f,0xf0,0x1f,0xe0,0x1f,0xe0,0x1f,0xc0,0x0f,0x80,0x00,0x00,0x00,0x00
  71          };
  72          /*------------------笑脸图-------------------*/
  73          uchar code smile[36]=
  74          {
  75                  0x00,0x00,0x03,0x80,0x0c,0x60,0x10,0x18,0x20,0xc4,0x4c,0x24,0x4c,0x12,0x4c,0x12,0x40,0x12,
  76                  0x40,0x12,0x4c,0x12,0x4c,0x12,0x4c,0x24,0x20,0xc4,0x10,0x18,0x0c,0x60,0x03,0x80,0x00,0x00
  77          };
  78          
  79          
  80          uchar wave_time = 0;
  81          uchar state = 10;    //无效状态 
  82          uchar flag = 0;          //显示过一遍则置1
  83          
  84          
  85          //----延时-----
  86          void  delay(uchar time);
  87          
  88          
  89          void  main(void)
  90          {
  91   1              signed int i;
  92   1              IT0 = 1;
  93   1              IE0 = 0;
  94   1              EX0 = 1;
  95   1              EA =1 ;
  96   1      
  97   1      //----P2接上面八位,P1接下面八位----
  98   1              P1 = 0xff;
  99   1              P2 = 0xff;
 100   1              while(1)
 101   1              {
 102   2              //--如果没有中断产生则不显示---
 103   2                      if(!flag)
 104   2                      {
 105   3                              IE0 = 0;//--中断请求置0---
 106   3                              EA = 0; //--关中断----
 107   3      
 108   3                              //----状态转换-------
 109   3                              switch(state)
 110   3                              {
 111   4                                      //-------技术师范---------
 112   4                                      case 0:
 113   4                                      {
 114   5                                              delay(50);              //      使图形在中央附近显示
 115   5                                              for(i = sizeof(JSTU)-1; i >=  0;i--)
 116   5                                              {
C51 COMPILER V8.16   LIWU                                                                  01/04/2009 17:36:45 PAGE 3   

 117   6                                                      P1 = ~JSTU[i];
 118   6                                                      P2 = ~JSTU[--i];
 119   6                                                      delay(2);
 120   6                                              }               
 121   5                                              flag = 1;
 122   5                                              break;
 123   5                                      }
 124   4                                                      
 125   4                                      //-------电信学院--------
 126   4                                      case 1:
 127   4                                      {
 128   5                                              delay(50);              //      使图形在中央附近显示
 129   5                                              for(i = sizeof(DX)-1;i >= 0;i--)
 130   5                                              {
 131   6                                                      P1 = ~DX[i];
 132   6                                                      P2 = ~DX[--i];
 133   6                                                      delay(2);
 134   6                                              }
 135   5                                              flag = 1;
 136   5                                              break;
 137   5                                      }
 138   4      
 139   4                                      //--------05测控1W----------
 140   4                                      case 2:
 141   4                                      {
 142   5                                              delay(50);              //      使图形在中央附近显示
 143   5                                              for(i = sizeof(CK)-1;i >= 0;i--)
 144   5                                              {
 145   6                                                      P1 = ~CK[i];
 146   6                                                      P2 = ~CK[--i];
 147   6                                                      delay(2);
 148   6                                              }
 149   5                                              flag = 1;
 150   5                                              break;
 151   5                                      }
 152   4      
 153   4                                      //--------笑脸------------
 154   4                                      case 3:
 155   4                                      {
 156   5                                              delay(50);              //      使图形在中央附近显示
 157   5                                              for(i = sizeof(smile)-1;i >= 0;i--)
 158   5                                              {
 159   6                                                      P1 = ~smile[i];
 160   6                                                      P2 = ~smile[--i];
 161   6                                                      delay(5);
 162   6                                              }
 163   5                                              flag = 1;
 164   5                                              break;
 165   5                                      }
 166   4      
 167   4                                      //---------心跳(小)----------
 168   4                                      case 4:
 169   4                                      {
 170   5                                              delay(50);              //      使图形在中央附近显示
 171   5                                              for(i = sizeof(small_heart)-1;i >= 0;i--)
 172   5                                              {
 173   6                                                      P1 = ~small_heart[i];
 174   6                                                      P2 = ~small_heart[--i];
 175   6                                                      delay(5);
 176   6                                              }
 177   5                                              flag = 1;
 178   5                                              break;
C51 COMPILER V8.16   LIWU                                                                  01/04/2009 17:36:45 PAGE 4   

 179   5                                      }
 180   4                                      //---------心跳(大)----------
 181   4                                      case 5:
 182   4                                      {
 183   5                                              delay(50);              //      使图形在中央附近显示
 184   5                                              for(i = sizeof(big_heart)-1;i >= 0;i--)
 185   5                                              {
 186   6                                                      P1 = ~big_heart[i];
 187   6                                                      P2 = ~big_heart[--i];
 188   6                                                      delay(5);
 189   6                                              }
 190   5                                              flag = 1;
 191   5                                              break;
 192   5                                      }
 193   4                                      //----其它不显示----
 194   4                                      default:
 195   4                                      {
 196   5                                              P1 = 0xff;
 197   5                                              P2 = 0xff;
 198   5                                              flag = 1;
 199   5                                              break;
 200   5                                      }
 201   4                              }
 202   3                      
 203   3                              EA = 1;
 204   3                      }
 205   2              }
 206   1      }
 207          
 208          //-----延时-----
 209          void delay(uchar time)
 210          {
 211   1              uint i,j;
 212   1              for(i = 0;i < 15;i++)
 213   1              for(j = 0;j < time;j++);
 214   1      }
 215          
 216          //-----外部中断-----
 217          void INT_0() interrupt 0 using 1
 218          {
 219   1              flag = 0;
 220   1              if(wave_time++ >= 90)wave_time = 0;//---90次一个轮回
 221   1      
 222   1              if(wave_time < 15)  state = 0;//技术师范
 223   1              else if (wave_time < 30) state = 1;// 电信学院
 224   1              else if (wave_time < 45) state = 2;//  05测控1W
 225   1              else if (wave_time < 60) state = 3;//   笑脸
 226   1              else if (wave_time %2 == 0)   state= 4;//       大心图
 227   1              else if (wave_time %2 == 1)   state= 5;//       小心图
 228   1              IE0 = 0;//----防抖动-----
 229   1      }
 230          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    643    ----
   CONSTANT SIZE    =    540    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V8.16   LIWU                                                                  01/04/2009 17:36:45 PAGE 5   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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