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

📄 sound5008.lst

📁 以C8051F020单片机做的多功能计数器
💻 LST
字号:
C51 COMPILER V7.50   SOUND5008                                                             09/20/2008 15:21:11 PAGE 1   


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

line level    source

   1          /****************************************************************/
   2          /*                                              程序说明                                                                */
   3          /*                                                                                                                              */
   4          /*                                      BMP5008语音芯片播音程序                                         */
   5          /*                      该程序很奇怪,不用送使能信号就能播放声音                        */
   6          /*                                                                                                                              */
   7          /*                                                                                      日期:2008,9,14          */
   8          /****************************************************************/
   9          
  10          #include "sound5008.h"
  11          
  12          
  13          unsigned char xdata soundNumPos=0x00;
  14          unsigned char xdata soundNumList[10]={0xee};//0xee为结束标志
  15                          
  16          
  17          
  18          void Sound5008Play(unsigned char num)   
  19          {
  20   1              if(num==0||num==0xff)
  21   1              {
  22   2                      SOUND5008_DATA=num;
  23   2                      return;
  24   2              }
  25   1              SOUND5008_DATA=~(num&0x1f);
  26   1              Delayms(400);
  27   1      //      SOUND5008_PLAY=0;
  28   1              SOUND5008_DATA=0xff;
  29   1      }
  30          
  31          
  32          /****************************************************************************/
  33          //该函数的使用方法:
  34          //将该函数放在while主循环中即可,如果有需要播放的声音,将他们的组合序号放在
  35          //soundNumList数组中,该数组最大容量为10,初始化该数组时,一定要将其最后一个数
  36          //置成0xee做为结束标记
  37          /****************************************************************************/
  38          void Sound5008PlaySome()//      using 0 
  39          {
  40   1              char i=0;
  41   1          while(i++<10)
  42   1              {
  43   2                      if(soundNumList[soundNumPos]!=0xee)     //不是结束标志
  44   2                      {
  45   3                              while(!SOUND5008_TEST_BUSY);//如果空闲
  46   3                              Sound5008Play(soundNumList[soundNumPos]);
  47   3                              soundNumPos++;          
  48   3                      }
  49   2                      else
  50   2                      {
  51   3                              soundNumPos=0;
  52   3                              soundNumList[0]=0xee;//如果你需要将同样的播放声音列表播放两遍,可以将该句注释掉,
  53   3                                                                                      //但以后每次播放完声音列表之后需要手动清空列表或在下一次播放之前清空列表
  54   3                              break;
  55   3                      }
C51 COMPILER V7.50   SOUND5008                                                             09/20/2008 15:21:11 PAGE 2   

  56   2              }
  57   1      }       
  58          
  59          
  60          /*
  61          unsigned char soundMakeUpList[5];//255以内的数,最大是五个的组合.不够五个的,以0xee结尾
  62          
  63          void ComListMakeUP(unsigned char i)//根据数字(最大255)组合出声音列表,如:35,组合成声音列表就是:三 十 
             -五
  64          {
  65                  if(i<=10)//  <=10的数
  66                  {
  67                          soundMakeUpList[0]=i;
  68                          soundMakeUpList[1]=0xee;
  69                  }
  70                  else if((i>=11&&i<=20)||(i<100&&i%10==0)) // >=11并<=20的数 和 20,30,40,50,...,90,100
  71                  {
  72                          if(i/10==1)
  73                          {
  74                                  soundMakeUpList[0]=shi;
  75                                  soundMakeUpList[1]=i%10;
  76                          }
  77                          else
  78                          {
  79                                  soundMakeUpList[0]=i/10;
  80                                  soundMakeUpList[1]=shi;                                         
  81                          }       
  82                          
  83                          soundMakeUpList[2]=0xee;
  84                          
  85                  }
  86                  else if(i<100) // 除上述两类数之外的小于100的数
  87                  {
  88                          soundMakeUpList[0]=i/10;
  89                          soundMakeUpList[1]=shi;
  90                          soundMakeUpList[2]=i%10;
  91                          soundMakeUpList[3]=0xee;
  92          
  93                  }
  94                  else if(i%100==0)//这里指100和200这两个数
  95                  {
  96                          soundMakeUpList[0]=i/100;
  97                          soundMakeUpList[1]=bai;
  98                          soundMakeUpList[2]=0xee;
  99          
 100                  }
 101                  else if((i>=101&&i<=109)||(i>=201&&i<=209))
 102                  {
 103                          soundMakeUpList[0]=i/100;
 104                          soundMakeUpList[1]=bai;
 105                          soundMakeUpList[2]=ling;
 106                          soundMakeUpList[3]=i%10;
 107                          soundMakeUpList[4]=0xee;
 108          
 109                          
 110                  }
 111                  else if(i%10==0)// 大于100的数中被10整除的数
 112                  {
 113                          soundMakeUpList[0]=i/100;
 114                          soundMakeUpList[1]=bai;
 115                          soundMakeUpList[2]=i%100/10;
 116                          soundMakeUpList[3]=shi;
C51 COMPILER V7.50   SOUND5008                                                             09/20/2008 15:21:11 PAGE 3   

 117                          soundMakeUpList[4]=0xee;
 118          
 119                  }
 120                  else
 121                  {
 122                          soundMakeUpList[0]=i/100;
 123                          soundMakeUpList[1]=bai;
 124                          soundMakeUpList[2]=i%100/10;
 125                          soundMakeUpList[3]=shi;         
 126                          soundMakeUpList[4]=i%10;
 127          
 128                  }
 129                  
 130          
 131          
 132          }
 133          */


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