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

📄 f020.lst

📁 多通道高速数据采集源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:

 238   3        
 239   3         AIN12_ADDR[0]=0x14;
 240   3         AIN12_ADDR[1]=0x00;
 241   3         //AIN12_ADDR[2]=0x08;//AIN1.2        存储区域0x140000~0x15FFFF共128K
 242   3      
 243   3         AIN13_ADDR[0]=0x16;
 244   3         AIN13_ADDR[1]=0x00;
 245   3         //AIN13_ADDR[2]=0x08;//AIN1.3        存储区域0x160000~0x17FFFF共128K
 246   3        
 247   3         AIN14_ADDR[0]=0x18;
 248   3         AIN14_ADDR[1]=0x00;
 249   3         //AIN14_ADDR[2]=0x08;//AIN1.4        存储区域0x180000~0x19FFFF共128K
 250   3      
 251   3         AIN15_ADDR[0]=0x1A;
 252   3         AIN15_ADDR[1]=0x00;
 253   3         //AIN15_ADDR[2]=0x08;//AIN1.5        存储区域0x1A0000~0x1BFFFF共128K
 254   3         
 255   3         AIN16_ADDR[0]=0x1C;
 256   3         AIN16_ADDR[1]=0x00;
 257   3         //AIN16_ADDR[2]=0x08;//AIN1.6        存储区域0x1C0000~0x1DFFFF共128K
 258   3      
 259   3         AIN17_ADDR[0]=0x1E;
 260   3         AIN17_ADDR[1]=0x00;
 261   3         //AIN17_ADDR[2]=0x08;//AIN1.7        存储区域0x1E0000~0x1FFFFF共128K
 262   3      
 263   3      //RAM Address Initial//
 264   3         m0=0x0000;
 265   3         m1=0x0100;
 266   3         m2=0x0200;
 267   3         m3=0x0300;
 268   3         m4=0x0400;
 269   3         m5=0x0500;
 270   3         m6=0x0600;
 271   3         m7=0x0700;
 272   3      
 273   3         n0=0x1000;
 274   3         n1=0x1100;
 275   3         n2=0x1200;
 276   3         n3=0x1300;
 277   3         n4=0x1400;
 278   3         n5=0x1500;
 279   3         n6=0x1600;
 280   3         n7=0x1700;
 281   3      //first_flag Initial//
 282   3         first_flag00=0;first_flag01=0;first_flag02=0;first_flag03=0;first_flag04=0;first_flag05=0;first_flag06=
             -0;first_flag07=0;
 283   3         first_flag10=0;first_flag11=0;first_flag12=0;first_flag13=0;first_flag14=0;first_flag15=0;
 284   3             //UART0_SendByte(0X0E);
 285   3             
 286   3                }
 287   2        if(c_flag==1)//C命令程序段
 288   2               {
 289   3                         //TR0=0;
 290   3                         //ET0=0;
 291   3                     c_flag=0;
 292   3                     Read_Flash_Data_To_PC (adh,adm,adl,data_length);
 293   3                 //ET0=1;
 294   3                 //TR0=1;
 295   3                 
 296   3                   }
 297   2        if(AD_Current_flag==1)//K命令程序段
 298   2              {
C51 COMPILER V7.50   F020                                                                  09/08/2007 13:14:11 PAGE 6   

 299   3                        AD_Current_flag=0;
 300   3                TR0=0;
 301   3                        ET0=0;
 302   3                Read_AD_Current();
 303   3                      }
 304   2        if(systemstate==1)//S命令启动采样
 305   2         {
 306   3           
 307   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x00,0x00,0x00,0x00);//通道AIN0
             -。0
 308   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x10,0x00,0x00,0x10);//通道AIN1
             -。0
 309   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x02,0x00,0x00,0x01);//通道AIN0
             -。1
 310   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x12,0x00,0x00,0x11);//通道AIN1
             -。1
 311   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x04,0x00,0x00,0x02);//通道AIN0
             -。2
 312   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x14,0x00,0x00,0x12);//通道AIN1
             -。2
 313   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x06,0x00,0x00,0x03);//通道AIN0
             -。3
 314   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x16,0x00,0x00,0x13);//通道AIN1
             -。3
 315   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x08,0x00,0x00,0x04);//通道AIN0
             -。4
 316   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x18,0x00,0x00,0x14);//通道AIN1
             -。4
 317   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x0A,0x00,0x00,0x05);//通道AIN0
             -。5
 318   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x1A,0x00,0x00,0x15);//通道AIN1
             -。5
 319   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x0C,0x00,0x00,0x06);//通道AIN0
             -。6
 320   3            //Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x1C,0x00,0x00,0x16);//通道AI
             -N1。6
 321   3            Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x0E,0x00,0x00,0x07);//通道AIN0
             -。7
 322   3            //Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x1E,0x00,0x00,0x17);//通道AI
             -N1。7
 323   3            systemstate=2;
 324   3            ET0=1;
 325   3            TR0=1;
 326   3                while(systemstate==2)
 327   3               {
 328   4             
 329   4                  if(c_flag==1)//C命令程序段
 330   4               {
 331   5                 TR0=0;
 332   5                         ET0=0;
 333   5                     c_flag=0;
 334   5                     Read_Flash_Data_To_PC (adh,adm,adl,data_length);
 335   5                 ET0=1;
 336   5                 TR0=1;
 337   5                   }
 338   4             if(AD_Current_flag==1)//K命令程序段
 339   4              {
 340   5                        AD_Current_flag=0;
 341   5                TR0=0;
 342   5                        ET0=0;
 343   5                Read_AD_Current();
 344   5                ET0=1;
C51 COMPILER V7.50   F020                                                                  09/08/2007 13:14:11 PAGE 7   

 345   5                TR0=1;
 346   5                      }
 347   4              if(fast_read==1)//D命令程序段
 348   4            {
 349   5              fast_read=0;
 350   5                      TR0=0;
 351   5                      ET0=0;
 352   5              Fast_Read(fast_adh,fast_adm,fast_adl,end_add);
 353   5              ET0=1;
 354   5                      TR0=1;
 355   5           }
 356   4      
 357   4       if(AIN_Flag==1)
 358   4              {
 359   5      /***********************************START AIN=0X01*********************************************/
 360   5                  if(AIN==0X01)
 361   5                      {
 362   6                        AIN_Flag=0;
 363   6      /***************************AD LONG TIME NO CHANGE****************************/
 364   6             if(timepoint>253)
 365   6                         {
 366   7                   TR0=0;
 367   7                           ET0=0;
 368   7                   Status_AD_LED=~Status_AD_LED;
 369   7                   AMX0SL = 0x00;//AIN0.0                                       //AIN00-AIN07->0X00-0X07        
 370   7                       AD0INT = 0;               // 清除ADC转换完成标志
 371   7                       AD0BUSY = 1;
 372   7                   Delay_us(5);
 373   7                       while (!AD0INT);
 374   7                   current_xn = ADC0H;
 375   7                   x[m0]=current_xn;
 376   7                               m0++;
 377   7                   x[m0]=0xFE;
 378   7                   m0++;
 379   7                      
 380   7                   AMX1SL=0x00;//AIN1.0
 381   7                   ADC1CN &= 0xDF;// 清除ADC转换完成标志 AD1INT = 0;
 382   7                   ADC1CN |= 0x10;//  AD1BUSY = 1;
 383   7                   Delay_us(5);
 384   7                   while (!ADC1CN&0x20);              //等待AD1INT=1;
 385   7                   current_xn=ADC1;
 386   7                   x[n0]=current_xn;
 387   7                               n0++;
 388   7                   x[n0]=0xFE;
 389   7                   n0++;
 390   7                           ET0=1;
 391   7                   TR0=1;
 392   7      
 393   7                          }
 394   6                 if(m0>0X00FF)
 395   6                         {
 396   7                  TR0=0;
 397   7                          ET0=0;
 398   7                          m0=0x0000;//AIN0.0缓存区首地址
 399   7                  switch (first_flag00)
 400   7                              {
 401   8                              case 0X00: Read_Data_T0_Flash (AIN00_ADDR[0],AIN00_ADDR[1],0x08,m0+8,248);
 402   8                          AIN00_ADDR[1]++;
 403   8                          //AIN00_ADDR[2]=0x00;
 404   8                          first_flag00=1;
 405   8                                              break;
 406   8                              case 0X01: Read_Data_T0_Flash (AIN00_ADDR[0],AIN00_ADDR[1],0x00,m0,256);
C51 COMPILER V7.50   F020                                                                  09/08/2007 13:14:11 PAGE 8   

 407   8                          AIN00_ADDR[1]++;
 408   8                          //AIN00_ADDR[2]=0x00;
 409   8                                              break;
 410   8                              default:break;
 411   8                              }
 412   7                  if(AIN00_ADDR[1]>255)
 413   7                                {
 414   8                     AIN00_ADDR[1]=0x00;
 415   8                     //AIN00_ADDR[2]=0x00;
 416   8                                 AIN00_ADDR[0]++;
 417   8                                 if( AIN00_ADDR[0]>=0X02)
 418   8                                   {
 419   9                                        FLASH_SE(0x00,0x00,0x00);
 420   9                        FLASH_SE(0x01,0x00,0x00);
 421   9      
 422   9                        first_flag00=0;
 423   9                        Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x00,0x00,0x00,0x00
             -);//通道AIN0。0
 424   9                        AIN00_ADDR[0]=0x00;
 425   9                        AIN00_ADDR[1]=0x00;
 426   9                        //AIN00_ADDR[2]=0x08;//AIN0.0         存储区域0x000000~0x01FFFF共128K
 427   9                                       }
 428   8      
 429   8                                }
 430   7                                ET0=1;
 431   7                              TR0=1;
 432   7                         }//end if m0>0x00FF
 433   6                 if(n0>0X10FF)//地址注意之处
 434   6                         {
 435   7                  TR0=0;
 436   7                  ET0=0;
 437   7                          n0=0x1000;//AIN1.0缓存区首地址
 438   7                              
 439   7                  switch (first_flag10)
 440   7                              {
 441   8                              case 0X00: Read_Data_T0_Flash (AIN10_ADDR[0],AIN10_ADDR[1],0x08,n0+8,248);
 442   8                          AIN10_ADDR[1]++;
 443   8                          //AIN10_ADDR[2]=0x00;
 444   8                          first_flag10=1;
 445   8                                              break;
 446   8                              case 0X01: Read_Data_T0_Flash (AIN10_ADDR[0],AIN10_ADDR[1],0x00,n0,256);
 447   8                          AIN10_ADDR[1]++;
 448   8                          //AIN10_ADDR[2]=0x00;
 449   8                                              break;
 450   8                              default:break;
 451   8                              }
 452   7                  
 453   7                  if(AIN10_ADDR[1]>255)
 454   7                                {
 455   8                     AIN10_ADDR[1]=0x00;
 456   8                     //AIN10_ADDR[2]=0x00;
 457   8                                 AIN10_ADDR[0]++;
 458   8                                 if( AIN10_ADDR[0]>=0X12)//存储区域0x100000~0x11FFFF共128K
 459   8                                   {
 460   9                                        FLASH_SE(0x10,0x00,0x00);
 461   9                        FLASH_SE(0x11,0x00,0x00);
 462   9                       
 463   9                        first_flag10=0;
 464   9                        Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x10,0x00,0x00,0x10
             -);//通道AIN1。0
 465   9                        AIN10_ADDR[0]=0x10;
 466   9                        AIN10_ADDR[1]=0x00;
C51 COMPILER V7.50   F020                                                                  09/08/2007 13:14:11 PAGE 9   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -