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

📄 isd4002.lst

📁 ISD4002语音芯片驱动
💻 LST
字号:
C51 COMPILER V7.50   ISD4002                                                               11/10/2008 12:28:37 PAGE 1   


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

line level    source

   1          #include "ISD4002.h"
   2          
   3          void YS50(void){
   4   1      #if 1
   5   1              TMOD=1;
   6   1              TH0=0xcf;
   7   1              TL0=0x2c;
   8   1              TR0=1;
   9   1              while(!TF0);
  10   1              TF0=0;
  11   1              TR0=0;
  12   1      #else
                      unsigned char i;
                      for(i=250;i>0;i--);
              #endif
  16   1      }
  17          
  18          void ISD_Write(unsigned char d){
  19   1      unsigned char i,j;
  20   1              SS=0;
  21   1              SCLK=0;
  22   1              j=d;
  23   1              for(i=0;i<8;i++){
  24   2                      if(j&0x01)
  25   2                              MOSI=1;
  26   2                      else
  27   2                              MOSI=0;
  28   2                      SCLK=1;
  29   2                      j=j>>1;
  30   2                      SCLK=0;
  31   2              }
  32   1      }
  33          
  34          unsigned char ISD_Read(void){
  35   1      unsigned char i,d;
  36   1              SS=0;
  37   1              SCLK=1;
  38   1              for(i=0;i<8;i++){
  39   2                      SCLK=0;
  40   2                      if(MOSO&0x01)
  41   2                              d|=0x01;
  42   2                      else
  43   2                              d&=~0x01;
  44   2                      SCLK=1;
  45   2                      d<<=1;  
  46   2              }
  47   1      //      SS=1;
  48   1              return d;
  49   1      }
  50          
  51          void POWERUP(void){
  52   1              ISD_Write(0x20);
  53   1              SS=1;
  54   1              YS50();
  55   1      }
C51 COMPILER V7.50   ISD4002                                                               11/10/2008 12:28:37 PAGE 2   

  56          
  57          void SET_PLAY(unsigned int addr){
  58   1              unsigned char buffer[2];
  59   1              if(addr>0x7ff)return;
  60   1              buffer[0]=addr>>8;
  61   1              buffer[0]&=0x07;
  62   1              buffer[0]|=0xe0;
  63   1              buffer[1]=addr;
  64   1              ISD_Write(buffer[1]);
  65   1              ISD_Write(buffer[0]);
  66   1      //      ISD_Write(0xe0);
  67   1      //      ISD_Write(0xf0);
  68   1              SS=1;
  69   1              PLAY();
  70   1      }                                                                                 
  71          
  72          void PLAY(void){
  73   1              ISD_Write(0xf0);
  74   1              SS=1;
  75   1      }
  76          
  77          void SET_REC(unsigned int addr){
  78   1              unsigned char buffer[2];
  79   1              if(addr>0x7ff)return;
  80   1              buffer[0]=addr>>8;
  81   1              buffer[0]&=0x07;
  82   1              buffer[0]|=0xa0;
  83   1              buffer[1]=addr;
  84   1              ISD_Write(buffer[1]);
  85   1              ISD_Write(buffer[0]);
  86   1      //      ISD_Write(0xa0);
  87   1      //      ISD_Write(0xb0);
  88   1              SS=1;
  89   1              REC();
  90   1      }
  91          
  92          void REC(void){
  93   1              ISD_Write(0xb0);
  94   1              SS=1;
  95   1      }
  96          
  97          void SET_MC(unsigned int addr){
  98   1              unsigned char buffer[2];
  99   1              if(addr>0x7ff)return;
 100   1              buffer[0]=addr>>8;
 101   1              buffer[0]&=0x07;
 102   1              buffer[0]|=0xe8;
 103   1              buffer[1]=addr;
 104   1              ISD_Write(buffer[1]);
 105   1              ISD_Write(buffer[0]);
 106   1      //      ISD_Write(0xe8);
 107   1      //      ISD_Write(0xf8);
 108   1              SS=1;
 109   1              MC();
 110   1      }
 111          
 112          void MC(void){
 113   1              ISD_Write(0xf8);
 114   1              SS=1;
 115   1      }
 116          
 117          void STOP(void){
C51 COMPILER V7.50   ISD4002                                                               11/10/2008 12:28:37 PAGE 3   

 118   1              ISD_Write(0xc0);
 119   1              SS=1;
 120   1              YS50();
 121   1      }
 122          
 123          void STOP_WRDN(void){
 124   1              ISD_Write(0x40);
 125   1              SS=1;
 126   1              YS50();
 127   1      }
 128          
 129          unsigned char RINT(void){
 130   1              unsigned char dt;
 131   1              unsigned char d=0;
 132   1              dt=ISD_Read();
 133   1              if(dt&0x80)
 134   1                      d+=1;
 135   1              if(dt&0x40)
 136   1                      d+=2;
 137   1              return d;               
 138   1      }
 139          


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