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

📄 flowlight12.lst

📁 伴随音乐节奏变化的广告灯,C语言编写,使用了定时器与中断的方法
💻 LST
字号:
C51 COMPILER V7.50   FLOWLIGHT12                                                           12/18/2008 03:22:28 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FLOWLIGHT12
OBJECT MODULE PLACED IN FLOWLIGHT12.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE FLOWLIGHT12.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //flow light and beep 
   2          #include <reg51.h>
   3          #include <intrins.h>
   4          unsigned char Count;
   5          sbit _Speak =P0^0;         //讯响器控制脚 
   6          
   7          unsigned char code SONG[] ={      //祝你平安
   8          0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
   9          0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
  10          0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
  11          0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
  12          0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
  13          0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
  14          0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
  15          0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
  16          0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
  17          0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
  18          0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
  19          0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
  20          0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
  21          0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,
  22                                            //路边的野华不要采
  23          0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,
  24          0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,
  25          0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
  26          0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  27          0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  28          0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,
  29          0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,
  30          0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,
  31          0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,
  32          0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,
  33          0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,
  34          0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,
  35          
  36          };
  37          unsigned char a,b,k,j;
  38          
  39          void Time0_Init()
  40          {
  41   1          TMOD = 0x01;
  42   1          IE   = 0x82;
  43   1          TH0  = 0xD8;
  44   1          TL0  = 0xEF;        //12MZ晶振,10ms
  45   1      }
  46          
  47          void Time0_Int() interrupt 1
  48          {
  49   1          TH0 = 0xD8;
  50   1          TL0 = 0xEF;
  51   1          Count++;            //长度加1
  52   1      }
  53          
  54          /*-------------------------------------------------
  55          功能:1MS延时子程序
C51 COMPILER V7.50   FLOWLIGHT12                                                           12/18/2008 03:22:28 PAGE 2   

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

 118   2              Play_Song(0);           //播放
 119   2          }
 120   1      }
 121          
 122          
 123           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    184    ----
   CONSTANT SIZE    =    407    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      5       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 + -