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

📄 main.lst

📁 利用单片机的定时器
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  03/08/2006 15:28:06 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "reg52.h"
   2          unsigned char Count;
   3          sbit _Speak =P0^0 ;                     //讯响器控制脚 
   4          
   5          unsigned char code SONG[] ={      //祝你平安
   6          0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
   7          0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
   8          0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
   9          0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
  10          0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
  11          0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
  12          0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
  13          0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
  14          0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
  15          0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
  16          0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
  17          0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
  18          0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
  19          0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,
  20                                            //路边的野华不要采
  21          0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,
  22          0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,
  23          0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
  24          0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  25          0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  26          0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,
  27          0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,
  28          0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,
  29          0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,
  30          0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,
  31          0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,
  32          0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,
  33          
  34          };
  35          
  36          void Time0_Init()
  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
  45          {
  46   1              TH0 = 0xD8;
  47   1              TL0 = 0xEF;
  48   1              Count++;                        //长度加1
  49   1      }
  50          
  51          /*-------------------------------------------------
  52          功能:1MS延时子程序
  53          -------------------------------------------------*/
  54          void Delay_xMs(unsigned int x)
  55          {
C51 COMPILER V7.06   MAIN                                                                  03/08/2006 15:28:06 PAGE 2   

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    163    ----
   CONSTANT SIZE    =    407    ----
C51 COMPILER V7.06   MAIN                                                                  03/08/2006 15:28:06 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       3
   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 + -