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

📄 6 sing.lst

📁 很好的51单片机仿真模板。
💻 LST
字号:
C51 COMPILER V8.08   6_SING                                                                10/27/2008 19:39:55 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 6_SING
OBJECT MODULE PLACED IN 6 SING.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 6 SING.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "reg51.h" 
   2          unsigned char Count; 
   3          sbit _Speak =P2^3 ;     //蜂鸣器控制脚   
   4          unsigned char code SONG[] ={     
   5                  //祝你平安,以下为编码 
   6                  0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,
   7                  0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,
   8                  0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,
   9                  0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,
  10                  0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,
  11                  0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,
  12                  0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,
  13                  0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,
  14                  0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,
  15                  0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,
  16                  0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,
  17                  0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,
  18                  0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,0x39,0x20,0x26,
  19                  0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,
  20                  0x2b,0x10,0x26,0x30,0x30,0x80,0x00, 
  21                  //路边的野华不要采 ,  以下为这首歌的编码 
  22                  0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,
  23                  0x1C,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,
  24                  0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,
  25                  0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,
  26                  0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,
  27                  0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,
  28                  0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
  29                  0x30,0x80,0x20,0x30,0x1C,0x10,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,
  30                  0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,
  31                  0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,
  32                  0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
  33                  0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x26,0x40,0x13,
  34                  0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00, 
  35                  }; 
  36          void Time0_Init()   //定时器 0 初始化函数 
  37          { 
  38   1              TMOD = 0x01;  //工作模式选择 
  39   1              IE    = 0x82;  //中断设置 
  40   1              TH0  = 0xD8;   //装初值 
  41   1              TL0  = 0xEF;   //12MZ晶振,10ms 
  42   1      } 
  43           
  44          void Time0_Int() interrupt 1    //定时器 0 中断子函数 
  45          { 
  46   1              TH0 = 0xD8; 
  47   1              TL0 = 0xEF; 
  48   1              Count++;   //长度加 1 
  49   1      } 
  50          /*------------------------------------------------- 
  51          1MS 延时子程序 
  52          -------------------------------------------------*/ 
  53          void Delay_xMs(unsigned int x) 
  54          {       unsigned int i,j; 
  55   1              for( i =0;i < x;i++ ) 
C51 COMPILER V8.08   6_SING                                                                10/27/2008 19:39:55 PAGE 2   

  56   1              { 
  57   2                      for( j =0;j<3;j++ ); 
  58   2              } 
  59   1      } 
  60          /*------------------------------------------------- 
  61          功能:歌曲播放子程序 i 为播放哪一段曲目 
  62          -------------------------------------------------*/ 
  63          void Play_Song(unsigned char i) 
  64          { 
  65   1              unsigned char Temp1,Temp2; 
  66   1              unsigned int Addr; 
  67   1              Count = 0;      //中断计数器清 0 
  68   1              Addr = i * 217; 
  69   1              while(1) 
  70   1              { 
  71   2                      Temp1 = SONG[Addr++]; 
  72   2                      if ( Temp1 == 0xFF )          //休止符 
  73   2                      { 
  74   3                              TR0 = 0; 
  75   3                              Delay_xMs(100); 
  76   3                      } 
  77   2                      else if ( Temp1 == 0x00 )    //歌曲结束符 
  78   2                      { 
  79   3                              return; 
  80   3                      } 
  81   2                      else 
  82   2                      { 
  83   3                              Temp2 = SONG[Addr++]; 
  84   3                              TR0 = 1; 
  85   3                              while(1) 
  86   3                              { 
  87   4                                      _Speak = ~_Speak; 
  88   4                                      Delay_xMs(Temp1); 
  89   4                                      if ( Temp2 == Count ) 
  90   4                                      { 
  91   5                                              Count = 0; 
  92   5                                              break; 
  93   5                                      } 
  94   4                              } 
  95   3                      } 
  96   2              } 
  97   1      } 
  98          /*------------------------------------------------- 
  99          功能:主程序 
 100          -------------------------------------------------*/ 
 101          void main() 
 102          { 
 103   1              Time0_Init();   //定时器 0 中断初始化 
 104   1              while(1) 
 105   1              { 
 106   2                      Play_Song(0);  //播放 
 107   2              } 
 108   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    163    ----
   CONSTANT SIZE    =    407    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       3
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.08   6_SING                                                                10/27/2008 19:39:55 PAGE 3   

   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 + -