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

📄 音乐.lst

📁 单片机开发板配套52个程序(c语言源代码)
💻 LST
字号:
C51 COMPILER V7.06   音乐                                                                  05/13/2009 14:53:36 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 音乐
OBJECT MODULE PLACED IN 音乐.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 音乐.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*-----------------------------------------------
   2            名称:音乐播放
   3            公司:上海浩豚电子科技有限公司
   4            网站:www.doflye.cn
   5            编写:师访
   6            日期:2009.5
   7            修改:无
   8            内容:
   9          ------------------------------------------------*/
  10          #include<reg52.h>        //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
  11          
  12          sbit      speaker=P1^2;  //定义音乐输出端口
  13          unsigned char timer0h,timer0l,time;
  14                                   //世上只有妈妈好数据表
  15          code unsigned char sszymmh[]={        6,2,3,      5,2,1,      3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1,
  16                                                6,2,4,      3,2,2,      5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,
  17                                                6,1,1,      5,2,1,      3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2,
  18                                                5,2,1,      6,2,1,      3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,
  19                                                2,2,1,      1,2,1,      6,1,1, 1,2,1, 5,1,6, 0,0,0 
  20                                                };
  21                                   // 音阶频率表 高八位
  22          code unsigned char FREQH[]={
  23                                          0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 
  24                                          0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
  25                                          0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
  26                                          0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
  27                                         } ;
  28                                   // 音阶频率表 低八位
  29          code unsigned char FREQL[]={
  30                                           0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
  31                                           0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
  32                                           0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 
  33                                           0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
  34                                          };
  35          /******************************************************************/
  36          /*                    延时函数                                    */
  37          /******************************************************************/
  38          void delay(unsigned char t)
  39             {
  40   1         unsigned char t1;
  41   1         unsigned long t2;
  42   1         for(t1=0;t1<t;t1++)
  43   1         {
  44   2          for(t2=0;t2<8000;t2++)
  45   2             {
  46   3              ;
  47   3              }
  48   2         }
  49   1         TR0=0;
  50   1       }
  51          /******************************************************************/
  52          /*                    定时器中断函数                              */
  53          /******************************************************************/
  54          void t0int() interrupt 1
  55          {
C51 COMPILER V7.06   音乐                                                                  05/13/2009 14:53:36 PAGE 2   

  56   1       TR0=0;
  57   1       speaker=!speaker;
  58   1       TH0=timer0h;
  59   1       TL0=timer0l;
  60   1       TR0=1;
  61   1       }
  62          /******************************************************************/
  63          /*                    音乐处理函数                                */
  64          /******************************************************************/
  65          void song()
  66          {
  67   1       TH0=timer0h;
  68   1       TL0=timer0l;
  69   1       TR0=1;
  70   1       delay(time);                       
  71   1       }
  72          /******************************************************************/
  73          /*                    主函数                                      */
  74          /******************************************************************/
  75           void main(void)
  76           {
  77   1       unsigned char k,i;
  78   1       TMOD=1; //置CT0定时工作方式1
  79   1       EA=1;
  80   1       ET0=1;//IE=0x82 //CPU开中断,CT0开中断 
  81   1       while(1)
  82   1            {
  83   2             i=0;  
  84   2             while(i<100){         //音乐数组长度 ,唱完从头再来        
  85   3             k=sszymmh[i]+7*sszymmh[i+1]-1;
  86   3             timer0h=FREQH[k];
  87   3             timer0l=FREQL[k];
  88   3             time=sszymmh[i+2];
  89   3             i=i+3;
  90   3             song();
  91   3              }
  92   2            } 
  93   1        }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    169    ----
   CONSTANT SIZE    =    158    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       8
   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 + -