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

📄 main.lst

📁 单片机产生音乐程序
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  04/10/2008 10:07:12 PAGE 1   


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

line level    source

   1          #include "music.h"
   2          #include "head.h"
   3          
   4          #define MU_O P2_6                                                        //音乐从P2.6口输出 
   5          
   6          /* 歌曲曲谱 - 虹彩妹妹 */
   7          const uint HCMM[] =                                                      //定义数组"常量"-----音调(频率)   
   8          {
   9                  _LA, _SO, _MI, _LA, _SO, _MI,
  10                  _LA, _LA, _SO, _LA,
  11                  _LA, _SO, _MI, _LA, _SO, _MI,
  12                  _RE, _RE, _DO, _RE,
  13                  _MI, _MI, _SO, _LA, _DO1, _LA, _SO,
  14                  _MI, _MI, _SO, _DO,
  15                  _MI, _MI, _MI, _MI, _MI,
  16                  _1LA,_1LA,_1SO,_1LA,
  17          };
  18                                                                                            
  19          /* 歌曲节拍 */
  20          const uchar HCMM_L[] =                                          //定义数组"常量"-----节拍(延时时间)            
  21          {
  22                  _4, _8, _8, _4, _8, _8,
  23                  _8, _4, _8, _2,
  24                  _4, _8, _8, _4, _8, _8,
  25                  _8, _4, _8, _2,
  26                  _4, _8, _8, _8, _8, _8, _8,
  27                  _8, _4, _8, _2,
  28                  _4, _4, _4, _8, _8,
  29                  _8, _4, _8, _2,
  30          };
  31          
  32          
  33          void Timer0_int( void ) interrupt 1           
  34          { 
  35   1              
  36   1         static xdata uint Count = 0;                           //为什么要定义成static??????????????
  37   1         static xdata uint add   = 0;                           // xdata------外部数据存储器???????????????????
  38   1      
  39   1        
  40   1        if(add >= (HCMM_L[Count]*100))
  41   1        {
  42   2          Count++;
  43   2          if(Count >= sizeof(HCMM)) Count = 0;
  44   2              add = 0;
  45   2        }
  46   1        
  47   1        add++;
  48   1        
  49   1        MU_O ^= 1;
  50   1        
  51   1        TH0 = 0xFF - HCMM[Count]/256;                 //0.01ms定时器 
  52   1        TL0 = 0xff - HCMM[Count]%256; 
  53   1        
  54   1      }
  55          
C51 COMPILER V8.08   MAIN                                                                  04/10/2008 10:07:12 PAGE 2   

  56          
  57          /*
  58          *********************************************************************************************************
  59          ** 函数名称 :main()
  60          ** 函数功能 :PWM音乐输出实验。    
  61          ** 调试说明 :需要将music.h包含进来。     
  62          *********************************************************************************************************
  63          */
  64          void main (void)
  65          {
  66   1          TMOD = 0x21;                //定时器1 定时方式2    0010 0001                
  67   1          ET0=1;                      // 开定时器0中断   
  68   1              TR0=1;                          // 启动定时器0
  69   1      
  70   1              TH0 = 0xFF;             //置入初值:0.1ms定时器   
  71   1              TL0 = 0x7A;     
  72   1      
  73   1              TI = 1;
  74   1              TR1 = 1;                        //启动定时器     
  75   1              EA = 1;
  76   1              P3_5 = 0;
  77   1              MU_O = 1;                        
  78   1          while(1)                    //等待!!!!!!!!!!!!!!!!! 
  79   1          {
  80   2               ;      
  81   2          }
  82   1      
  83   1      }
  84          
  85          /*********************************************************************************************************
  86          **                            End Of File
  87          ********************************************************************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    183    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      4    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =    120    ----
   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 + -