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

📄 speak.lst

📁 运行于51单片机的音乐彩灯源代码
💻 LST
字号:
C51 COMPILER V8.01   SPEAK                                                                 01/14/2006 16:53:21 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE SPEAK
OBJECT MODULE PLACED IN speak.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE speak.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "..\h\config.h"
   2          
   3          
   4          char const aMusic1[]={
   5           0x18, 0x30, 0x1C, 0x10,
   6           0x20, 0x40, 0x1C, 0x10,
   7           0x18, 0x10, 0x20, 0x10,
   8           0x0C, 0x10, 0x18, 0x40,
   9           0x1C, 0x20, 0x20, 0x20,
  10           0x1C, 0x20, 0x18, 0x20,
  11           0x20, 0x80, 0x0F, 0x20,
  12           0x30, 0x1C, 0x10, 0x18,
  13           0x20, 0x15, 0x20, 0x1C,
  14           0x20, 0x20, 0x20, 0x26,
  15           0x40, 0x20, 0x20, 0x2B,
  16           0x20, 0x26, 0x20, 0x20,
  17           0x20, 0x30, //0xFF, 0xFF,
  18           0x20, 0x20, 0x1C, 0x10,
  19           0x18, 0x10, 0x20, 0x20,
  20           0x26, 0x20, 0x2B, 0x20,
  21           0x30, 0x20, 0x2B, 0x40,
  22           0x20, 0x20, 0x1C, 0x10,
  23           0x18, 0x10, 0x20, 0x20,
  24           0x26, 0x20, 0x2B, 0x20,
  25           0x30, 0x20, 0x2B, 0x40,
  26           0x20, 0x30, 0x1C, 0x10,
  27           0x18, 0x20, 0x15, 0x20,
  28           0x1C, 0x20, 0x20, 0x20,
  29           0x26, 0x40, 0x20, 0x20,
  30           0x2B, 0x20, 0x26, 0x20,
  31           0x20, 0x20, 0x30, 0x80,
  32           0x20, 0x30, 0x1C, 0x10,
  33           0x20, 0x10, 0x1C, 0x10,
  34           0x20, 0x20, 0x26, 0x20,
  35           0x2B, 0x20, 0x30, 0x20,
  36           0x2B, 0x40, 0x20, 0x15,
  37           0x1F, 0x05, 0x20, 0x10,
  38           0x1C, 0x10, 0x20, 0x20,
  39           0x26, 0x20, 0x2B, 0x20,
  40           0x30, 0x20, 0x2B, 0x40,
  41           0x20, 0x30, 0x1C, 0x10,
  42           0x18, 0x20, 0x15, 0x20,
  43           0x1C, 0x20, 0x20, 0x20,
  44           0x26, 0x40, 0x20, 0x20,
  45           0x2B, 0x20, 0x26, 0x20,
  46           0x20, 0x20, 0x30, 0x30,
  47           0x20, 0x30, 0x1C, 0x10,
  48           0x18, 0x40, 0x1C, 0x20,
  49           0x20, 0x20, 0x26, 0x40,
  50           0x13, 0x60, 0x18, 0x20,
  51           0x15, 0x40, 0x13, 0x40,
  52           0x18, 0x80, 0x00, 0x00,
  53          
  54           };
  55          const char aMusic2[]={
C51 COMPILER V8.01   SPEAK                                                                 01/14/2006 16:53:21 PAGE 2   

  56            0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
  57            0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
  58            0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
  59            0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
  60            0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
  61            0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
  62            0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
  63            0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
  64            0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
  65            0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
  66            0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
  67            0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
  68            0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
  69            0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00};
  70          char const *aMusic[MUSIC_MAX];
  71          //////////////////////////////////////////////////////////////////////////////////////////////
  72          //** 函数名称 :
  73          //** 函数功能 :
  74          //** 入口参数 :             
  75          //** 出口参数 :
  76          //   使用方法 :
  77          //   注意事项 :
  78          //////////////////////////////////////////////////////////////////////////////////////////////
  79          char MUsic_reg=0;
  80          void  delay(char timer)
  81          {
  82   1        while(timer--)
  83   1        {
  84   2         _nop_(); 
  85   2         _nop_();
  86   2         _nop_();
  87   2         _nop_();
  88   2         _nop_();
  89   2         _nop_();
  90   2         _nop_();
  91   2         _nop_();   
  92   2         _nop_();
  93   2         _nop_();
  94   2         _nop_();
  95   2         _nop_();
  96   2         _nop_();
  97   2         _nop_();
  98   2         _nop_();
  99   2         _nop_();   
 100   2         _nop_();
 101   2         _nop_();
 102   2         _nop_();
 103   2         _nop_();   
 104   2         _nop_();
 105   2         _nop_();
 106   2         _nop_();
 107   2         _nop_();
 108   2         _nop_();   
 109   2         _nop_();
 110   2         _nop_();
 111   2         _nop_();
 112   2         _nop_();
 113   2         _nop_();
 114   2         _nop_();   
 115   2         _nop_();
 116   2         _nop_();
 117   2         _nop_();
C51 COMPILER V8.01   SPEAK                                                                 01/14/2006 16:53:21 PAGE 3   

 118   2         _nop_();
 119   2         _nop_();
 120   2         _nop_();   
 121   2         _nop_();
 122   2         _nop_();
 123   2         _nop_();
 124   2        }
 125   1      
 126   1      }
 127          //////////////////////////////////////////////////////////////////////////////////////////////
 128          //** 函数名称 :
 129          //** 函数功能 :
 130          //** 入口参数 :             
 131          //** 出口参数 :
 132          //   使用方法 :
 133          //   注意事项 :
 134          //////////////////////////////////////////////////////////////////////////////////////////////
 135          void  timer1init(void)
 136          {
 137   1        TMOD|=0x10;
 138   1        IE|=0x88;
 139   1        TH1=0x0Dc;
 140   1        TL1=0x00;
 141   1      }
 142          void  time1start(void)
 143          {
 144   1        TR1=1;
 145   1      }
 146          void  time1stop(void)
 147          {
 148   1        TR1=0;
 149   1      }
 150          //////////////////////////////////////////////////////////////////////////////////////////////
 151          //** 函数名称 :
 152          //** 函数功能 :
 153          //** 入口参数 :             
 154          //** 出口参数 :
 155          //   使用方法 :
 156          //   注意事项 :
 157          //////////////////////////////////////////////////////////////////////////////////////////////
 158          void  timer1exp(void) interrupt 3
 159          {
 160   1       MUsic_reg++; 
 161   1        TH1=0x0Dc;
 162   1        TL1=0x00; 
 163   1      }
 164          //////////////////////////////////////////////////////////////////////////////////////////////
 165          //** 函数名称 :
 166          //** 函数功能 :
 167          //** 入口参数 :             
 168          //** 出口参数 :
 169          //   使用方法 :
 170          //   注意事项 :
 171          //////////////////////////////////////////////////////////////////////////////////////////////
 172          
 173          char ID_speak=0;
 174           bit MUSIC_OK=1;//为1时,不允许播放音乐
 175          
 176          void   Speak(void)
 177          {
 178   1       int h_speak=0;
 179   1       char i=0,x=0;
C51 COMPILER V8.01   SPEAK                                                                 01/14/2006 16:53:21 PAGE 4   

 180   1       while(((i=aMusic[ID_speak][h_speak++])!=0)&&(MUSIC_OK==0)) //是停止符
 181   1       {
 182   2           x=aMusic[ID_speak][h_speak++];
 183   2            if(i==0xff)  //是停顿符
 184   2            {
 185   3                 time1stop();
 186   3                 SPEAK=1;
 187   3                 delay(i); 
 188   3            }
 189   2                
 190   2            else {
 191   3              
 192   3                      time1start();
 193   3              while(x!=MUsic_reg)
 194   3                      {
 195   4                       delay(i);
 196   4                       SPEAK=~SPEAK;
 197   4                      }
 198   3                      MUsic_reg=0;
 199   3              }
 200   2                      SPEAK=1;
 201   2       }
 202   1       SPEAK=1;
 203   1       time1stop();
 204   1      }
 205          
 206          
 207          
 208          
 209                          main()
 210          { aMusic[0]=aMusic1;
 211   1      MUSIC_OK=0;
 212   1       timer1init();
 213   1       ID_speak=0;
 214   1        while(1)
 215   1        {
 216   2         Speak();
 217   2        
 218   2        }
 219   1      
 220   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    225    ----
   CONSTANT SIZE    =    407    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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