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

📄 music.lst

📁 说明: Virtual51是一个动态可视化的MCS-51全功能模拟程序
💻 LST
字号:
C51 COMPILER V7.20   MUSIC                                                                 02/26/2006 14:24:25 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MUSIC
OBJECT MODULE PLACED IN Music.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Music.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*-----------------------------------------------
   2            Virtual51 Music Demo 
   3            Oscilator:12Mhz
   4          ------------------------------------------------*/
   5          
   6          #include <Virtual51.h>
   7          #define uint  unsigned int
   8          #define uchar unsigned char
   9          
  10          #define  MHD    0x55AA
  11          #define  MREP   0xAA00
  12          #define  MEND   0x0000
  13          
  14          uchar code pic[]=
  15             {
  16          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  17          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x78,0x88,0x00,0x88,0x78,0x08,
  18          0x00,0x00,0x40,0x40,0xC8,0x00,0x00,0x00,0x00,0x40,0x40,0xC0,0x80,0x40,0x40,0x80,
  19          0x00,0x00,0x40,0xF0,0x40,0x40,0x00,0x00,0x00,0x40,0xC0,0x00,0x00,0x40,0xC0,0x00,
  20          0x00,0x00,0x40,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x08,0xF8,0x00,0x00,0x00,
  21          0x00,0x00,0xF8,0x88,0x88,0x88,0x08,0x00,0x00,0x00,0x10,0x10,0xF8,0x00,0x00,0x00,
  22          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  23          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  24          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  25          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x00,0x00,
  26          0x00,0x00,0x08,0x08,0x0F,0x08,0x08,0x00,0x00,0x08,0x08,0x0F,0x08,0x08,0x00,0x00,
  27          0x00,0x00,0x00,0x07,0x08,0x08,0x04,0x00,0x00,0x00,0x07,0x08,0x08,0x04,0x0F,0x08,
  28          0x00,0x06,0x09,0x09,0x09,0x09,0x07,0x08,0x00,0x00,0x08,0x08,0x0F,0x08,0x08,0x00,
  29          0x00,0x00,0x04,0x08,0x08,0x08,0x07,0x00,0x00,0x00,0x08,0x08,0x0F,0x08,0x08,0x00,
  30          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  31          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  33          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x0C,0x30,0x0C,0xFF,0x01,
  34          0x00,0x08,0xF8,0x00,0x00,0x88,0xF8,0x00,0x00,0x90,0x28,0x28,0x28,0x48,0x48,0x90,
  35          0x00,0x00,0x08,0x08,0xF9,0x00,0x00,0x00,0x00,0xF0,0x08,0x08,0x08,0x08,0x08,0x90,
  36          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x01,0x01,0x01,0x82,0x7C,
  37          0x00,0xF0,0x28,0x28,0x28,0x28,0x28,0xB0,0x00,0x08,0xF8,0x08,0xF0,0x08,0xF0,0x00,
  38          0x00,0xF0,0x08,0x08,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  39          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  40          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
  41          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x81,0x80,0x81,0x81,0x81,
  42          0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,
  43          0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,
  44          0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,
  45          0x00,0x00,0x01,0x01,0x01,0xE1,0x01,0x00,0x00,0x01,0x81,0x00,0x01,0x00,0x21,0x41,
  46          0x00,0x00,0xE1,0x01,0x01,0xC1,0x41,0xC0,0x00,0x00,0x00,0xC0,0x40,0x60,0xC0,0x00,
  47          0xC0,0x40,0x40,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  48          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0xFF,0x80,0x80,0x00,
  49          0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0xFF,0x80,0x00,0x01,
  50          0x00,0x78,0x84,0x84,0x84,0x84,0x84,0x78,0x00,0x84,0xFC,0x88,0x04,0x84,0xF8,0x80,
  51          0x00,0x78,0x94,0x94,0x94,0x94,0x94,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  52          0x00,0x00,0xC1,0xA0,0x90,0x88,0x87,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
  53          0x01,0x81,0x41,0x21,0x19,0x27,0xC9,0x11,0x21,0x41,0x81,0x81,0x00,0x21,0xF2,0x08,
  54          0x01,0xF9,0x4F,0x79,0x81,0x7F,0x0A,0xFF,0x00,0x00,0x84,0x7F,0x15,0x24,0xFF,0x04,
  55          0xF3,0x90,0x90,0x93,0xF4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.20   MUSIC                                                                 02/26/2006 14:24:25 PAGE 2   

  56          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  57          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x80,0x80,0x80,
  58          0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,
  59          0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
  60          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  61          0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,
  62          0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x00,
  63          0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  64          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x01,0x11,0x11,0xEE,0x00,
  65          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0xFF,0xAA,0xAA,0xBE,0xAB,0xAA,
  66          0xEA,0x3E,0x20,0x20,0x00,0x20,0xF0,0x09,0x80,0x62,0x1E,0x00,0xFF,0x14,0x22,0x41,
  67          0x80,0x00,0x41,0x21,0xF1,0x0D,0x03,0x41,0x41,0xFB,0x21,0x11,0x09,0x81,0x00,0x00,
  68          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  69          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  70          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  71          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  72          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,
  73          0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,
  74          0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
  75          0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x03,0x00,0x00,
  76          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  77          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  78          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  79          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  80          };
  81          
  82          struct 
  83          {uint  Tone;
  84           uchar Duration;  //Delay Time=Duration*10ms
  85          } code music[]={
  86          {MHD,0},  //Tone
  87          {500,4},{1000,4},{1500,4},{2000,4},{2500,4},{3000,4},{3500,4},{4000,4},{4500,4},{5000,4},{5500,4},{6000,4}
             -,{6500,4},
  88          {6000,4},{5500,4},{5000,4},{4500,4},{4000,4},{3500,4},{3000,4},{2500,4},{2000,4},{1500,4},{1000,4},
  89          {MREP+24,2},{MEND,50},
  90          {MHD,1},  //"太湖船"
  91          {1323,50},{1572,50},{1323,50},{1176,26},{1323,26},{1572,50},{1323,26},{1176,26},{1323,100},
  92          {1323,50},{1572,50},{1323,26},{1176,26},{1048,50},{1176,50},{1323,26},{1572,26},{1176,100},
  93          {1048,50},{1048,26},{882,26},{785,50},{785,26},{882,26},{1048,50},{1176,26},{1323,26},
  94          {1048,100},{MEND,100},
  95          {MHD,2},  //"鲁冰花"
  96          {2269,140},{1864,46}, {1661,186},{2269,93},{2269,24},  {2506,24}, {2269,24},  {1864,24}, 
  97          {1661,186},{1864,93}, {2269,46}, {1864,46},{1661,70},  {1397,24}, {1661,70},  {1397,24},
  98          {1244,70}, {1397,24}, {1244,93}, {1046,24},{932,24},   {830,24},  {1046,24},  {932,93},
  99          {1864,93}, {1397,46}, {1864,46}, {1480,24},{1397,24},  {1244,24}, {1480,24},  {1397,93},
 100          {1109,70}, {1244,24}, {1397,46}, {1661,46},{1864,70},  {1480,24}, {1397,93},  {1864,93},
 101          {2269,46}, {1864,46}, {1661,70}, {1397,24},{1661,70},  {1397,24}, {1244,70},  {1397,24}, 
 102          {1244,93}, {1046,24}, {932,24},  {830,24}, {1046,24},  {932,93},  {2269,186}, {1864,46},
 103          {1661,186},{2269,116},{2506,24}, {2269,24},{1864,24},  {1661,186},{1864,93},  {2269,46},
 104          {1864,46}, {1661,70}, {1397,24}, {1661,70},{1397,24},  {1244,70}, {1397,24},  {1244,93},
 105          {1046,24}, {932,24},  {830,24},  {1046,24},{932,93},   {MEND,100},
 106          {MHD,255},
 107          };
 108          
 109          uint  ATone;
 110          uchar ADuration,mrepcnt;
 111          uchar Tick=0,keycnt=0;
 112          uchar bdata Flags=0,keycon=0;
 113          
 114          sbit  To_10ms=Flags^0;
 115          sbit  Isrep  =Flags^1;
 116           
C51 COMPILER V7.20   MUSIC                                                                 02/26/2006 14:24:25 PAGE 3   

 117          void ShowPicture(uchar byPicID)
 118          {
 119   1              uchar col,pg;
 120   1              uchar code *pC;
 121   1              pC = pic + (byPicID&0x03)*128*8;
 122   1              for(pg = 0; pg < 8; pg++)  
 123   1              {
 124   2                      LCDCMR = SET_PAGE | pg;
 125   2                  LCDCMR = SET_COL  | 0;
 126   2                      for(col = 0; col < 128; col++)
 127   2                              LCDDR = *pC++;
 128   2              }
 129   1      }
 130          
 131          void main()
 132          {uint p=0;
 133   1       TMOD=0x01;
 134   1       LCDCMR=Cls;
 135   1       LCDCMR=LCD_on;
 136   1       LCDCMR=INC_enb;
 137   1       EA=1;ET0=1;TR0=1;
 138   1       ShowPicture(0);
 139   1       while (1)
 140   1         {ATone=music[p].Tone;
 141   2          ADuration=music[p].Duration;
 142   2          if (ATone>0x3FFF)
 143   2            {if ((ATone>>8)==0xAA) 
 144   3               {if (Isrep) 
 145   4                 {if (--mrepcnt!=0) p=p-(ATone &0xff); 
 146   5                   else 
 147   5                     {
 148   6                      p++;
 149   6                      Isrep=0;
 150   6                     }
 151   5                 } 
 152   4                 else 
 153   4                   {
 154   5                    mrepcnt=ADuration;
 155   5                    p=p-(ATone &0xff);
 156   5                    Isrep=1;
 157   5                   }
 158   4                continue;
 159   4               }
 160   3             if (ATone==MHD)
 161   3               {
 162   4                        if (ADuration!=255) {p++;continue;}
 163   4                       }
 164   3             p=0;Isrep=0;
 165   3                 continue;
 166   3            }
 167   2          TFR=ATone;
 168   2          TGCON=(ATone>>8)| 0x80;
 169   2          while (ADuration>0)
 170   2            {while (~To_10ms) {}
 171   3             To_10ms=0;
 172   3             ADuration--;
 173   3            }
 174   2          TGCON=0;
 175   2          p++;
 176   2         }
 177   1      }
 178          
C51 COMPILER V7.20   MUSIC                                                                 02/26/2006 14:24:25 PAGE 4   

 179          void timer0() interrupt 1
 180          {  
 181   1              TL0=0xF4;   //10ms Interval,XTAL=12Mhz
 182   1              TH0=0xD8;
 183   1          To_10ms=1;
 184   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    304    ----
   CONSTANT SIZE    =   1435    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       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 + -