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

📄 main2.lst

📁 ISD4004芯片的语音录放程序
💻 LST
字号:
C51 COMPILER V7.20   MAIN2                                                                 09/08/2008 20:04:06 PAGE 1   


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

line level    source

   1          
   2          
   3          /*spi isd4004.h*/
   4          #include "reg51.h"
   5          #include "intrins.h" 
   6          sbit _cs = P1^0;
   7          sbit _sclk= P1^3;
   8          sbit _mosi= P1^1;
   9          sbit _miso= P1^2;
  10          sbit _rac = P3^2;
  11          sbit _int = P3^3;
  12          sbit an=P2^2;
  13          void delay(unsigned int i) //延时程序
  14          {
  15   1      while(i--);
  16   1      }
  17          void stopmode() //停止
  18          {
  19   1      unsigned char m,i,j;
  20   1      _cs=1;
  21   1      _sclk=0;
  22   1      _cs=0;
  23   1      m=0x30;
  24   1      for(i=0;i<8;i++)
  25   1      {
  26   2      m=_cror_(m,1);
  27   2      j=m<<1;
  28   2      _mosi=j;
  29   2      _sclk=0;
  30   2      _sclk=1;
  31   2      }
  32   1      _cs=1;
  33   1      }
  34          void powerdown() //下电
  35          {
  36   1      unsigned char m,i,j;
  37   1      _cs=1;
  38   1      _sclk=0;
  39   1      _cs=0;
  40   1      m=0x10;
  41   1      for(i=0;i<8;i++)
  42   1      {
  43   2      m=_cror_(m,1);
  44   2      j=m<<1;
  45   2      _mosi=j;
  46   2      _sclk=0;
  47   2      _sclk=1;
  48   2      }
  49   1      _cs=1;
  50   1      }
  51          void powerup()// 上电
  52          {
  53   1      unsigned char m,i,j;
  54   1      _cs=1;
  55   1      _sclk=0;
C51 COMPILER V7.20   MAIN2                                                                 09/08/2008 20:04:06 PAGE 2   

  56   1      _cs=0;
  57   1      m=0x20;
  58   1      for(i=0;i<8;i++)
  59   1      {
  60   2      m=_cror_(m,1);
  61   2      j=m<<1;
  62   2      _mosi=j;
  63   2      _sclk=0;
  64   2      _sclk=1;
  65   2      }
  66   1      _cs=1;
  67   1      }
  68          
  69          void record4004(unsigned int address) //录音 address--录音地址 0---2400
  70          {
  71   1      unsigned char i,m,j;
  72   1      unsigned int datasoute=0;
  73   1      
  74   1      powerup();
  75   1      delay(5118);//上电延时
  76   1      powerup();
  77   1      delay(5118);//上电延时
  78   1      delay(5118);//上电延时
  79   1      _cs=1;
  80   1      _sclk=0;
  81   1      m=0xa0;
  82   1      _cs=0;
  83   1      for(i=0;i<16;i++)
  84   1      {
  85   2      address=_iror_(address,1);
  86   2      datasoute=address<<1;
  87   2      _mosi=datasoute;
  88   2      _sclk=0;
  89   2      _sclk=1;
  90   2      }
  91   1      for(i=0;i<8;i++)
  92   1      {
  93   2      m=_cror_(m,1);
  94   2      j=m<<1;
  95   2      _mosi=j;
  96   2      _sclk=0;
  97   2      _sclk=1;
  98   2      }
  99   1      _cs=1;
 100   1      _sclk=0;
 101   1      m=0xb0;
 102   1      _cs=0;
 103   1      for(i=0;i<8;i++)
 104   1      {
 105   2      m=_cror_(m,1);
 106   2      j=m<<1;
 107   2      _mosi=j;
 108   2      _sclk=0;
 109   2      _sclk=1;
 110   2      }
 111   1      _cs=1;
 112   1      P1=0xff;
 113   1      datasoute=0;
 114   1      while(_int==1) //存储地址换行标志
 115   1      {
 116   2      if(_rac) {delay(20000); datasoute++; } //记录本次录音所占的行数(也就是本次录音有多大)
 117   2      if(an==0)
C51 COMPILER V7.20   MAIN2                                                                 09/08/2008 20:04:06 PAGE 3   

 118   2      break;
 119   2      // 在这里应该加上自己的程序,就是录音退出程序
 120   2      //
 121   2      }
 122   1      }//while end;
 123          
 124          
 125          void audioout(unsigned int address) //放音程序
 126          {
 127   1      unsigned char i,m,j;
 128   1      unsigned int datasoute;
 129   1      
 130   1      powerup();
 131   1      _cs=1;
 132   1      _sclk=0;
 133   1      _cs=0;
 134   1      m=0xe0;
 135   1      for(i=0;i<16;i++)
 136   1      {
 137   2      address=_iror_(address,1);
 138   2      datasoute=address<<1;
 139   2      _sclk=0;
 140   2      _mosi=datasoute;
 141   2      _sclk=1;
 142   2      }
 143   1      for(i=0;i<8;i++)
 144   1      {
 145   2      m=_cror_(m,1);
 146   2      j=m<<1;
 147   2      _sclk=0;
 148   2      _mosi=j;
 149   2      _sclk=1;
 150   2      }
 151   1      _cs=1;
 152   1      _sclk=0;
 153   1      m=0xf0;
 154   1      _cs=0;
 155   1      for(i=0;i<8;i++)
 156   1      {
 157   2      m=_cror_(m,1);
 158   2      j=m<<1;
 159   2      _sclk=0;
 160   2      _mosi=j;
 161   2      _sclk=1;
 162   2      }
 163   1      _cs=1;
 164   1      P1=0xff;
 165   1      while(_int==1)
 166   1      {
 167   2      }//while end;
 168   1      }
 169          
 170          main()
 171          {
 172   1      
 173   1      record4004(0);
 174   1      audioout(0);
 175   1      while(1);
 176   1      }
 177          
 178          
 179          
C51 COMPILER V7.20   MAIN2                                                                 09/08/2008 20:04:06 PAGE 4   

 180          
 181          
 182          
 183          
 184          
 185          
 186          
 187          
 188          
 189          
 190          
 191          
 192          
 193          
 194          
 195          
 196          
 197          
 198          
 199          


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