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

📄 system.lst

📁 1、语音存储和回放系统的单片机代码。 2、重要语音录用和回放
💻 LST
字号:
C51 COMPILER V7.09   SYSTEM                                                                08/24/2007 09:36:47 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          #include"Config.h"
   3          #include"Config.c"
   4          #include"TimeDLY.h"
   5          #include"zlg7289.h"
   6          #include"RecordMng.h"
   7          #include"PlayMng.h"
   8          
   9          void InitIO()
  10          {
  11   1              RECD_PLAY  = 1;
  12   1              RecordGUD  = 0;
  13   1              PlayGUD    = 0;
  14   1              ZLG7289CS  = 1;
  15   1              ZLG7289CLK = 0;
  16   1              ZLG7289DIO = 1;
  17   1              ZLG7289INT = 1;
  18   1              ADCEOT     = 0;
  19   1              ADCSTART   = 1;
  20   1              ADCOE      = 1;
  21   1              DACCS      = 1;
  22   1              SRAMCE     = 0;
  23   1              SRAMWE     = 0;
  24   1              SRAMOE     = 0;
  25   1              A16        = 0;
  26   1              A17        = 0;
  27   1              P2         = 0x00;
  28   1              P1         = 0x00;
  29   1              }
  30                  
  31          void main()
  32          {
  33   1              INT16U  seg;
  34   1              INT8U  key,key1,key2,key3,key4;
  35   1              InitIO();
  36   1              while(1)
  37   1              {
  38   2                      if(RECD_PLAY==1) //录音
  39   2                      {
  40   3                              //设置段号
  41   3                              //段号的百位数字
  42   3              seg0:           do
  43   3                                              {
  44   4                                                      while(ZLG7289INT);
  45   4                                                      key = ZLG7289_ReadKey();
  46   4                                                      }
  47   3                                              while(key>9);
  48   3                                              key1 = key;
  49   3                                              while(!ZLG7289INT);
  50   3                                      
  51   3                                              while(ZLG7289INT);
  52   3                                              key = ZLG7289_ReadKey();
  53   3                                              if(key==ESC) goto seg0;
  54   3                                              else
  55   3                                              {
C51 COMPILER V7.09   SYSTEM                                                                08/24/2007 09:36:47 PAGE 2   

  56   4                                                      key2 = key;
  57   4                                                      while(!ZLG7289INT);
  58   4                                                      goto esc1; 
  59   4                                                      }
  60   3                                                
  61   3                              //段号的十位数字                        
  62   3              seg1:           do
  63   3                                              {
  64   4                                                      while(ZLG7289INT);
  65   4                                                      key = ZLG7289_ReadKey();
  66   4                                                      }
  67   3                                              while(key>9);
  68   3                                              key2 = key;
  69   3                                              while(!ZLG7289INT);
  70   3                                      
  71   3              esc1:           while(ZLG7289INT);
  72   3                                              key = ZLG7289_ReadKey();
  73   3                                              if(key==ESC) goto seg1;
  74   3                                              else
  75   3                                              {
  76   4                                                      key3 = key;
  77   4                                                      while(!ZLG7289INT);
  78   4                                                      goto esc2;
  79   4                                                      } 
  80   3      
  81   3                              //段号的个位数字
  82   3              seg2:           do
  83   3                                              {
  84   4                                                      while(ZLG7289INT);
  85   4                                                      key = ZLG7289_ReadKey();
  86   4                                                      }
  87   3                                              while(key>9);
  88   3                                              key3 = key;
  89   3                                              while(!ZLG7289INT);
  90   3                                      
  91   3              esc2:           while(ZLG7289INT);
  92   3                                              key = ZLG7289_ReadKey();
  93   3                                              if(key==ESC) goto seg2;
  94   3                                              else
  95   3                                              {
  96   4                                                      seg = key1*100+key2*10+key3;
  97   4                                                      key4 = key;                                     
  98   4                                                      while(!ZLG7289INT);
  99   4                                                      if(key4==ENTER) goto start;
 100   4                                                      else goto wait;
 101   4                                                      }
 102   3                                               
 103   3                              //等待开始 
 104   3              wait:           do
 105   3                                              {
 106   4                                                      while(ZLG7289INT);
 107   4                                                      key = ZLG7289_ReadKey();
 108   4                                                      }
 109   3                                              while(key!=ENTER);
 110   3                                              while(!ZLG7289INT);
 111   3                                              
 112   3              start:  Record(seg);
 113   3                                              if(ZLG7289INT==0)
 114   3                                              {
 115   4                                                      key = ZLG7289_ReadKey();
 116   4                                                      if(key == NEXT) 
 117   4                                                      {
C51 COMPILER V7.09   SYSTEM                                                                08/24/2007 09:36:47 PAGE 3   

 118   5                                                              if(seg<300) seg +=1;
 119   5                                                              goto start;
 120   5                                                              }
 121   4                                                      while(!ZLG7289INT);
 122   4                                                      }       
 123   3                              }
 124   2                      else if(RECD_PLAY==0) //放音    
 125   2                      {
 126   3                              //设置段号
 127   3                              //段号的百位数字
 128   3              pseg0:  do
 129   3                                              {
 130   4                                                      while(ZLG7289INT);
 131   4                                                      key = ZLG7289_ReadKey();
 132   4                                                      }
 133   3                                              while(key>9);
 134   3                                              key1 = key;
 135   3                                              while(!ZLG7289INT);
 136   3                                      
 137   3                                              while(ZLG7289INT);
 138   3                                              key = ZLG7289_ReadKey();
 139   3                                              if(key==ESC) goto pseg0;
 140   3                                              else
 141   3                                              {
 142   4                                                      key2 = key;
 143   4                                                      while(!ZLG7289INT);
 144   4                                                      goto pesc1; 
 145   4                                                      }
 146   3                                                
 147   3                              //段号的十位数字                        
 148   3              pseg1:  do
 149   3                                              {
 150   4                                                      while(ZLG7289INT);
 151   4                                                      key = ZLG7289_ReadKey();
 152   4                                                      }
 153   3                                              while(key>9);
 154   3                                              key2 = key;
 155   3                                              while(!ZLG7289INT);
 156   3                                      
 157   3              pesc1:  while(ZLG7289INT);
 158   3                                              key = ZLG7289_ReadKey();
 159   3                                              if(key==ESC) goto pseg1;
 160   3                                              else
 161   3                                              {
 162   4                                                      key3 = key;
 163   4                                                      while(!ZLG7289INT);
 164   4                                                      goto pesc2;
 165   4                                                      } 
 166   3      
 167   3                              //段号的个位数字
 168   3              pseg2:  do
 169   3                                              {
 170   4                                                      while(ZLG7289INT);
 171   4                                                      key = ZLG7289_ReadKey();
 172   4                                                      }
 173   3                                              while(key>9);
 174   3                                              key3 = key;
 175   3                                              while(!ZLG7289INT);
 176   3                                      
 177   3              pesc2:  while(ZLG7289INT);
 178   3                                              key = ZLG7289_ReadKey();
 179   3                                              if(key==ESC) goto pseg2;
C51 COMPILER V7.09   SYSTEM                                                                08/24/2007 09:36:47 PAGE 4   

 180   3                                              else
 181   3                                              {
 182   4                                                      seg = key1*100+key2*10+key3;
 183   4                                                      key4 = key;                                     
 184   4                                                      while(!ZLG7289INT);
 185   4                                                      if(key4==ENTER) goto pstart;
 186   4                                                      else goto pwait;
 187   4                                                      }
 188   3                                               
 189   3                              //等待开始 
 190   3              pwait:  do
 191   3                                              {
 192   4                                                      while(ZLG7289INT);
 193   4                                                      key = ZLG7289_ReadKey();
 194   4                                                      }
 195   3                                              while(key!=ENTER);
 196   3                                              while(!ZLG7289INT);
 197   3                                              
 198   3              pstart: Play(seg);
 199   3                                              if(ZLG7289INT==0)
 200   3                                              {
 201   4                                                      key = ZLG7289_ReadKey();
 202   4                                                      if(key == NEXT) 
 203   4                                                      {
 204   5                                                              if(seg<300) seg +=1;
 205   5                                                              goto pstart;
 206   5                                                              }
 207   4                                                      while(!ZLG7289INT);
 208   4                                                      }       
 209   3                              }
 210   2                      }
 211   1              }


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