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

📄 main.lst

📁 TS12864液晶驱动
💻 LST
📖 第 1 页 / 共 2 页
字号:
 190   2      
 191   2      
 192   2                      ADC_data[AMX2SL] = AD2WINT;//获取比较器的值
 193   2                      AD2WINT = 0;//清比较器
 194   2      
 195   2              }while(AMX2SL!=7);
 196   1      
 197   1      //////////////////////////////////////////
 198   1          k = 0;
 199   1         
 200   1      
 201   1      ///////////////////////////////////////////////////////////////////
 202   1          if(!trig_delay)               //始端触发
 203   1              {
 204   2                      if(!trig_ch)                       //设置的触发字为单级触发字
 205   2                      {       
 206   3                 
 207   3                              if(!wflag)                         //尚未开始写FIFO
 208   3                              {
 209   4                      for(i=0;i<8;i++)           //判断所采数据是否与触发字相同
 210   4                                      {
 211   5                                              if(ADC_data[i]!=trig_word[i])
 212   5                                                      break;
 213   5                          else k++;
 214   5                                      }
 215   4                                      if(k==8)
 216   4                                              wflag = 1; 
 217   4                              }
 218   3                              
 219   3      
 220   3                              if(wflag)  //写FIFO
 221   3                              {    
 222   4                          if(FIFO_length()<DEPTH)
 223   4                                      {
 224   5                                              WriteFIFO(ADC_data);
 225   5                                      }
 226   4                              }       
 227   3                      }
 228   2      ////////////////////////////////////////////////////////////////////////////
 229   2                      else                               //if(trig_ch)   设置的触发字为三级触发字   
 230   2                      {
 231   3                              if(wflag!=3)
 232   3                              {
 233   4                                      for(i=0;i<2;i++)
 234   4                                      {
 235   5                                              if(ADC_data[ch[i]]!=trig_word[a])
 236   5                                                      break;
 237   5                                              else a++; 
 238   5                                      }
 239   4                                      if(((a==2)&&(wflag==0))||((a==4)&&(wflag==1))||((a==6)&&(wflag==2)))
 240   4                                      {
 241   5                                              wflag++;
C51 COMPILER V8.02   MAIN                                                                  07/26/2008 19:16:14 PAGE 5   

 242   5                                          WriteFIFO(ADC_data);        
 243   5                                      } 
 244   4                                      else if(a==1) a = 0;
 245   4                                      else if((a==3)||((a==2)&&(wflag==1))) {a = 0; ReadFIFO(buf);wflag--;}
 246   4                                  else if((a==5)||((a==4)&&(wflag==2))) {a = 0; ReadFIFO(buf);ReadFIFO(buf);wflag-=2;}                                        
 247   4                              }
 248   3                              else
 249   3                              {
 250   4                                      if(FIFO_length()<DEPTH)
 251   4                                      {
 252   5                                              WriteFIFO(ADC_data);
 253   5                                      }
 254   4                              }
 255   3                              if(a==6)
 256   3                                      a = 0;  
 257   3                              h = FIFO_length();              
 258   3                      }
 259   2              }
 260   1      /////////////////////////////////////////////////////////////////////////
 261   1              else                          //if(trig_delay)     非始端触发
 262   1              {
 263   2                      if(!trig_ch)                                   //单级触发
 264   2                      {
 265   3                              if(wflag!=trig_delay)
 266   3                              {
 267   4                                      WriteFIFO(ADC_data);
 268   4                                      wflag++;                
 269   4                              }
 270   3                              else
 271   3                              {
 272   4                                  for(i=0;i<8;i++)           //判断所采数据是否与触发字相同
 273   4                                      {
 274   5                                              if(ADC_data[i]!=trig_word[i])
 275   5                                                      break;
 276   5                          else m++;
 277   5                                      }
 278   4                                      if(m==8)
 279   4                                              wflag++;
 280   4                                      else {WriteFIFO(ADC_data);ReadFIFO(buf);}
 281   4                                      if(wflag==trig_delay+1)
 282   4                                      {   
 283   5                                              if(FIFO_length()<DEPTH)
 284   5                                                      WriteFIFO(ADC_data);
 285   5                                      }
 286   4                              }
 287   3                      }
 288   2              
 289   2      /////////////////////////////////////////////////////////////////////////
 290   2                      else                                          //三级触发
 291   2                      {
 292   3                              if(wflag<trig_delay)
 293   3                              {
 294   4                                      WriteFIFO(ADC_data);
 295   4                                      wflag++;
 296   4                              }
 297   3                              else
 298   3                              {
 299   4                                      if(wflag!=2+trig_delay)
 300   4                                      {
 301   5                                              for(i=0;i<2;i++)
 302   5                                              {
 303   6                                                      if(ADC_data[ch[i]]!=trig_word[a])
C51 COMPILER V8.02   MAIN                                                                  07/26/2008 19:16:14 PAGE 6   

 304   6                                                              break;
 305   6                                                      else a++; 
 306   6                                              }
 307   5                                              if(((a==2)&&(wflag==trig_delay-1))||((a==4)&&(wflag==trig_delay))||((a==6)&&(wflag==1+trig_delay)))
 308   5                                              {
 309   6                                                      wflag++;
 310   6                                                  WriteFIFO(ADC_data);        
 311   6                                              } 
 312   5      
 313   5                                              else if(a==1) 
 314   5                                              {
 315   6                                                      a = 0;
 316   6                                                      WriteFIFO(ADC_data);
 317   6                                                      ReadFIFO(buf);
 318   6                           }
 319   5                                          else if((a==3)||((a==2)&&(wflag==trig_delay))) {a = 0; WriteFIFO(ADC_data);ReadFIFO(buf);wflag--;}
 320   5                                      else if((a==5)||((a==4)&&(wflag==trig_delay+1))) {a = 0; WriteFIFO(ADC_data);ReadFIFO(buf);wfla
             -g-=2;}
 321   5      
 322   5      /*
 323   5                                              else 
 324   5                                              {
 325   5                                                      a = 0;
 326   5                                                      wflag = 0;
 327   5                                                      FIFO_Init();
 328   5                                              }
 329   5      
 330   5      */
 331   5                                              
 332   5                                      }
 333   4                                      else
 334   4                                      {
 335   5                                              if(FIFO_length()<DEPTH)
 336   5                                              {
 337   6                                                      WriteFIFO(ADC_data);
 338   6                                              }
 339   5                                      }
 340   4                                      if(a==6)
 341   4                                              a = 0;
 342   4                                      
 343   4                              }       
 344   3                      }
 345   2              }                                
 346   1      }
 347          
 348          
 349          
 350          
 351          
 352          
 353          
 354          /********************************************
 355          放置fifowindow            (未测试)
 356          *********************************************/
 357          void PlaceWindow(void)
 358          {
 359   1              unsigned char i,j;
 360   1      
 361   1              for(i=0;i<20;i++)
 362   1              {
 363   2                      ReadFIFO(buf);
 364   2              for(j=0;j<8;j++)
C51 COMPILER V8.02   MAIN                                                                  07/26/2008 19:16:14 PAGE 7   

 365   2                      {
 366   3                              fifowindow[j][i] = buf[j];
 367   3                      }
 368   2              }
 369   1      }
 370          


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