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

📄 main.lst

📁 自己写的测试程序,调试已通过,可以直接使用, 而且有的还有详细的注释.红外测试软件
💻 LST
📖 第 1 页 / 共 5 页
字号:
 231   1      
 232   1      
 233   1       
 234   1        read_iic_data(1,&iic_write[0],5,1);                 ///////???????????
 235   1        o1=iic_write[0]/10;
 236   1      
C51 COMPILER V7.06   MAIN                                                                  03/26/2008 16:30:50 PAGE 5   

 237   1        o2=iic_write[0]%10;
 238   1        write_byte(1,6,16,&number[0]);
 239   1        write_byte(1,6,24,&number[o1]);
 240   1        write_byte(1,6,32,&number[o2]);
 241   1      
 242   1        delay_1s(10000);
 243   1        delay_1s(30000);
 244   1         
 245   1        }
 246          /****************  display iic blank  ********************************/     
 247            void lcd_screen_blank(void)
 248            { 
 249   1         unsigned int j,i;
 250   1         unsigned int hhhh;
 251   1         bit ff;
 252   1       hhhh=0;
 253   1                for(i=0;i<8;i++)
 254   1                     {iic_read[i]=0x00;}
 255   1                                  iic_read[2]=80;
 256   1                                  iic_read[1]=0;
 257   1                                              iic_read[3]=0;
 258   1                                              iic_read[4]=0;
 259   1                                              iic_read[5]=0;
 260   1                                              iic_read[7]=0;
 261   1                       write_iic_data(1,&iic_read,0,8);    // 初始温度上限
 262   1         clear_lcd_screen();
 263   1        write_word(0,3,12,&chinese[27]);           //write input a word "存储器无记录!“
 264   1        write_word(0,3,28,&chinese[28]);
 265   1        write_word(0,3,44,&chinese[17]);
 266   1        write_word(0,3,60,&chinese[29]);
 267   1        write_word(1,3,12,&chinese[30]);
 268   1        write_word(1,3,28,&chinese[31]);
 269   1        write_byte(1,3,44,&number[23]);
 270   1               while(1){if(base_time==1){     hhhh++;if(hhhh>40000){break;}}}
 271   1      
 272   1          clear_lcd_screen();
 273   1         write_word(0,2,10,&chinese[22]);           // write input a word "请连接传感器!
 274   1         write_word(0,2,26,&chinese[32]);
 275   1         write_word(0,2,42,&chinese[33]);
 276   1         write_word(0,2,58,&chinese[25]);
 277   1         write_word(1,2,10,&chinese[26]);
 278   1         write_word(1,2,26,&chinese[17]);
 279   1         write_byte(1,2,42,&number[23]);
 280   1        
 281   1         write_word(0,4,20,&chinese[34]);             // write input 搜索中
 282   1         write_word(0,4,36,&chinese[35]);
 283   1         write_word(0,4,50,&chinese[36]);
 284   1         i=2;
 285   1        while(1)
 286   1          {
 287   2                   
 288   2              write_byte(1,4,i,&number[24]);
 289   2                     i+=6;
 290   2      
 291   2                  if(i>32){i=2;for(j=8;j<35;j+=8){ write_byte(1,4,j,&number[19]);  }}  //clear 
 292   2                  while(1){if(base_time==1){  hhhh++;if(hhhh>2000){break;}}}                // point while
 293   2                 ff= finding();
 294   2                      if(ff){break;}
 295   2                          }
 296   1              }
 297                   
 298                               
C51 COMPILER V7.06   MAIN                                                                  03/26/2008 16:30:50 PAGE 6   

 299          
 300                                     
 301          
 302                    
 303          /****************   display before set ************************************/
 304          void display_set(void)
 305          {
 306   1        unsigned char z,x,y;                            // 系统状态
 307   1      
 308   1        read_iic_data(1,&iic_read[0],0,6); 
 309   1        
 310   1         clear_lcd_screen();
 311   1        
 312   1      
 313   1        write_word(0,0,32,&chinese[11]);             
 314   1        write_word(0,0,48,&chinese[12]);            
 315   1        write_word(1,0,0,&chinese[60]);           
 316   1        write_word(1,0,16,&chinese[61]);            
 317   1      
 318   1      
 319   1        write_word(0,2,4,&chinese[42]);             //write input a word "已"
 320   1        write_word(0,2,20,&chinese[23]);            //write input a word "安装硬件"
 321   1        write_word(0,2,36,&chinese[24]);           
 322   1        write_word(0,2,52,&chinese[40]);            
 323   1        write_word(1,2,4,&chinese[41]);  
 324   1        write_byte(1,2,20,&number[22]);
 325   1        
 326   1        x=iic_read[0]/10;                                    //
 327   1        write_byte(1,2,28,&number[x]);
 328   1        x=iic_read[0]%10;
 329   1        write_byte(1,2,36,&number[x]);  
 330   1        
 331   1                                                  
 332   1      
 333   1        write_word(0,4,4,&chinese[7]);           // 温度下限
 334   1        write_word(0,4,20,&chinese[8]);         
 335   1        write_word(0,4,36,&chinese[45]);            
 336   1        write_word(0,4,52, &chinese[44]); 
 337   1        write_byte(1,4,4,&number[22]);
 338   1                                                         write_byte(1,4,32,&number[26]);
 339   1                                                         write_byte(1,4,40,&number[12]); 
 340   1        
 341   1          z=iic_read[1]/100;
 342   1           write_byte(1,4,12,&number[z]);
 343   1            x=(iic_read[1]-z*100)/10;
 344   1      
 345   1             write_byte(1,4,20,&number[x]); 
 346   1          y=(iic_read[1]-z*100-x*10)%10;
 347   1           write_byte(1,4,28,&number[y]);  
 348   1       
 349   1                            
 350   1            
 351   1                       if(iic_read[3]==1) {write_byte(1,4,12,&number[25]);}
 352   1              //                        else if(z==0&x==0){write_byte(1,2,20,&number[25]);}    // 正负号!
 353   1                      //                         else  write_byte(1,2,12,&number[25]);
 354   1                              
 355   1      //next1:  
 356   1      
 357   1        write_word(0,6,4,&chinese[7]);           // 温度上限
 358   1        write_word(0,6,20,&chinese[8]);         
 359   1        write_word(0,6,36,&chinese[43]);            
 360   1        write_word(0,6,52, &chinese[44]); 
C51 COMPILER V7.06   MAIN                                                                  03/26/2008 16:30:50 PAGE 7   

 361   1        write_byte(1,6,4,&number[22]); 
 362   1                                                        write_byte(1,6,32,&number[26]);
 363   1                                                        write_byte(1,6,40,&number[12]);
 364   1          z=iic_read[2]/100;
 365   1           write_byte(1,6,12,&number[z]);
 366   1            x=(iic_read[2]-z*100)/10;
 367   1      
 368   1             write_byte(1,6,20,&number[x]); 
 369   1          y=(iic_read[2]-z*100-x*10)%10;
 370   1           write_byte(1,6,28,&number[y]); 
 371   1            
 372   1        
 373   1                       if(iic_read[4]==1){write_byte(1,6,12,&number[25]);}
 374   1                              //        else if(z==0&x==0){write_byte(1,6,20,&number[25]);}
 375   1                              //             else  write_byte(1,6,12,&number[25]);
 376   1      
 377   1        
 378   1      //next2:      
 379   1       
 380   1                        ES=0;
 381   1        delay_1s(1000);
 382   1                        ES=0;
 383   1      }           
 384          
 385          /**********************   found new  ****************************************/
 386          
 387          void found_new(void)
 388          {
 389   1         unsigned char num[8];
 390   1         unsigned char n,i,z;
 391   1         bit h;
 392   1      
 393   1         delay_iic();
 394   1        read_iic_data(1,&iic_read,0,6);
 395   1        n=iic_read[0];
 396   1        delay_iic();
 397   1         if(iic_read[0]==64)                  //  系统超限!
 398   1            {          clear_lcd_screen();
 399   2                        
 400   2                                write_word(0,3,26,&chinese[11]);           
 401   2                    write_word(0,3,42,&chinese[12]);
 402   2                    write_word(0,3,58,&chinese[50]);
 403   2                    write_word(1,3,10,&chinese[44]);
 404   2                                write_byte(1,3,26,&number[23]);
 405   2                  delay_1s(30000);
 406   2      
 407   2                       goto xx;
 408   2                  }
 409   1        if(iic_read[0]<0|iic_read[0]>64)
 410   1                          {
 411   2                                                  read_iic_data(1,&iic_read,0,6);
 412   2                              if(iic_read[0]<0|iic_read[0]>64){error();}
 413   2                                                      }   //系统故障!
 414   1           
 415   1      
 416   1       
 417   1      
 418   1               for(;n>0;n--)
 419   1                { z=0;    
 420   2                 read_iic_data(0,&iic_read,n*8-8,8);
 421   2              delay_iic();
 422   2               if(iic_write[0]==iic_read[0]){ z++;}
C51 COMPILER V7.06   MAIN                                                                  03/26/2008 16:30:50 PAGE 8   

 423   2           if(iic_write[1]==iic_read[1]){ z++;}
 424   2           if(iic_write[2]==iic_read[2]){ z++;}
 425   2           if(iic_write[3]==iic_read[3]){ z++;}     
 426   2               if(iic_write[4]==iic_read[4]){ z++;}
 427   2           if(iic_write[5]==iic_read[5]){ z++;}
 428   2           if(iic_write[6]==iic_read[6]){ z++;}
 429   2           if(iic_write[7]==iic_read[7]){ z++;}                        
 430   2                                                   if(z==8)
 431   2                                              {        clear_lcd_screen();    
 432   3                                           write_word(0,3,20,&chinese[17]);//器件已存在! 
 433   3                                           write_word(0,3,36,&chinese[41]);
 434   3                                           write_word(0,3,52,&chinese[42]);
 435   3                                           write_word(1,3,4,&chinese[27]);
 436   3                                           write_word(1,3,20,&chinese[57]);
 437   3                                                       write_byte(1,3,36,&number[23]);
 438   3                                    x:     delay_1s(30000);
 439   3                                                                         while(1){
 440   4                                                                                 ds18b20_number(&num[0]);
 441   4                                                                                         if(num[0]==0x28|num[0]==0x26)
 442   4                                                                                           {goto x;}  
 443   4                                                                                          else           
 444   4                                                                                                 {break;}    // if you not bright ds18b20,do while  
 445   4                                                                                        }
 446   3                                                                                                  
 447   3                                                          goto xx;
 448   3                                                                       }
 449   2                            
 450   2                                
 451   2                
 452   2                  }
 453   1      
 454   1                        read_iic_data(1,&iic_read,0,6);        //写IIC 总数加1
 455   1                        delay_iic();
 456   1                write_iic_data(0,&iic_write,iic_read[0]*8,8);   
 457   1                                                        
 458   1                                                       
 459   1                iic_read[0]++;
 460   1                delay_iic();
 461   1                        write_iic_data(1,&iic_read[0],0,1); 
 462   1      
 463   1                       clear_lcd_screen();
 464   1              write_word(0,0,28,&chinese[53]);           
 465   1              write_word(0,0,44,&chinese[54]);                   //  添加成功 序列
 466   1              write_word(0,0,60,&chinese[55]);                            //  ::当前总数 
 467   1              write_word(1,0,12,&chinese[56]);
 468   1              write_byte(1,0,28,&number[23]);
 469   1              
 470   1                  z=0;n=0;h=0;
 471   1             for(i=0;i<8;i++)
 472   1                    {    if(i<4)h=0;else h=1;

⌨️ 快捷键说明

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