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

📄 音乐演奏(八月桂花遍地开).lst

📁 用于单片机开发实验平台上
💻 LST
字号:
C51 COMPILER V7.06   音乐演奏___嗽耞鸹__開乜猒_                                            06/01/2007 14:49:34 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 音乐演奏___嗽耞鸹__開乜猒_
OBJECT MODULE PLACED IN 音乐演奏(八月桂花遍地开).OBJ
COMPILER INVOKED BY: D:\keil c51\C51\BIN\C51.EXE 音乐演奏(八月桂花遍地开).c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          unsigned char m;   //m为频率常数
   3          unsigned char n=0; //n为节拍常数 
   4          unsigned char i=0;
   5          sbit bell=P1^1;
   6          unsigned char code music_tab[] ={ 
   7          0x18, 0x30, 0x1C , 0x10, 
   8          0x20, 0x40, 0x1C , 0x10,
   9          0x18, 0x10, 0x20 , 0x10,
  10          0x1C, 0x10, 0x18 , 0x40,
  11          0x1C, 0x20, 0x20 , 0x20,
  12          0x1C, 0x20, 0x18 , 0x20,
  13          0x20, 0x80, 0xFF , 0x20,
  14          0x30, 0x1C, 0x10 , 0x18,
  15          0x20, 0x15, 0x20 , 0x1C,
  16          0x20, 0x20, 0x20 , 0x26,
  17          0x40, 0x20, 0x20 , 0x2B,
  18          0x20, 0x26, 0x20 , 0x20,
  19          0x20, 0x30, 0x80 , 0xFF,
  20          0x20, 0x20, 0x1C , 0x10,
  21          0x18, 0x10, 0x20 , 0x20,
  22          0x26, 0x20, 0x2B , 0x20,
  23          0x30, 0x20, 0x2B , 0x40,
  24          0x20, 0x20, 0x1C , 0x10,
  25          0x18, 0x10, 0x20 , 0x20,
  26          0x26, 0x20, 0x2B , 0x20,
  27          0x30, 0x20, 0x2B , 0x40,
  28          0x20, 0x30, 0x1C , 0x10,
  29          0x18, 0x20, 0x15 , 0x20,
  30          0x1C, 0x20, 0x20 , 0x20,
  31          0x26, 0x40, 0x20 , 0x20,
  32          0x2B, 0x20, 0x26 , 0x20,
  33          0x20, 0x20, 0x30 , 0x80,
  34          0x20, 0x30, 0x1C , 0x10,
  35          0x20, 0x10, 0x1C , 0x10,
  36          0x20, 0x20, 0x26 , 0x20,
  37          0x2B, 0x20, 0x30 , 0x20,
  38          0x2B, 0x40, 0x20 , 0x15,
  39          0x1F, 0x05, 0x20 , 0x10,
  40          0x1C, 0x10, 0x20 , 0x20,
  41          0x26, 0x20, 0x2B , 0x20,
  42          0x30, 0x20, 0x2B , 0x40,
  43          0x20, 0x30, 0x1C , 0x10,
  44          0x18, 0x20, 0x15 , 0x20,
  45          0x1C, 0x20, 0x20 , 0x20,
  46          0x26, 0x40, 0x20 , 0x20,
  47          0x2B, 0x20, 0x26 , 0x20,
  48          0x20, 0x20, 0x30 , 0x30,
  49          0x20, 0x30, 0x1C , 0x10,
  50          0x18, 0x40, 0x1C , 0x20,
  51          0x20, 0x20, 0x26 , 0x40,
  52          0x13, 0x60, 0x18 , 0x20,
  53          0x15, 0x40, 0x13 , 0x40,
  54          0x18, 0x80, 0x00};
  55          void time0(void)  
C51 COMPILER V7.06   音乐演奏___嗽耞鸹__開乜猒_                                            06/01/2007 14:49:34 PAGE 2   

  56          interrupt 1 using 1  //产生10MS精确定时
  57          {  
  58   1      TH0=(65536-10000)/256;   
  59   1      TL0=(65536-10000)%256;   
  60   1      n--;}
  61          void delayms
  62          (unsigned char a)  //微秒延时程序
  63          {  while(--a);                  
  64   1      }
  65          void delay(void)   //延迟程序
  66          { int i,j; 
  67   1      for(i=50;i--;i>0)  
  68   1      for(j=10000;j--;j>0)  
  69   1      ;}
  70          void main()
  71          { 
  72   1                          
  73   1      TMOD=(TMOD&0xf0)|0x01;     
  74   1      TH0=(65536-10000)/256;     
  75   1      TL0=(65536-10000)%256;     
  76   1      EA=1;     
  77   1      ET0=1;     
  78   1      TR0=0;        
  79   1      while(1)     
  80   1      {     
  81   2      switch(music_tab[i])     
  82   2      {        
  83   3      case 0x00:            
  84   3      i=0;delay(); break; // 曲终停顿一定时间        
  85   3      case 0xff:            
  86   3      i=i+1;delayms(100);break;  //遇到休止符停顿一定时间100微秒,再取下一个频率        
  87   3      default:               
  88   3      m=music_tab[i++];n=music_tab[i++];//取频率到m,取节拍到n
  89   3                                       
  90   3      TR0=1;                 
  91   3      while(n!=0)                  
  92   3      {                  
  93   4      bell=!bell;                  
  94   4      delayms(4*m);//调整产生的频率,可以通过在m前的值来修正音调的高低
  95   4                                         
  96   4      }    
  97   3      TR0=0;      
  98   3      }     
  99   2      }
 100   1      }


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