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

📄 1.lst

📁 c51下的一个键盘程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 250   3                 if(count==1)          
 251   3                 {
 252   4                       p2_5= 0;
 253   4                       buffer[1]=a;
 254   4                       P0=codeled[*p];
 255   4                     
 256   4                       DelayX1ms(10);
 257   4                       p2_5= 1;
 258   4                     }
 259   3                            
 260   3                if(count==2)           
 261   3                { 
 262   4                      p2_6=0;
 263   4                      buffer[2]=a;
 264   4                      P0=codeled[*p];
 265   4                
 266   4                  DelayX1ms(10);
 267   4                  p2_6=1;
 268   4                }
 269   3                
 270   3               }
 271   2              
 272   2          }
 273   1      }
 274          //--------------------------------------------------------------------------//
 275          uint yiwei(uint count)
 276          {
 277   1          uint  b;
 278   1          uchar  *p;
 279   1          uchar code  codeled[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF};//共阳极0~9+"-"
 280   1          b=count%3;
 281   1          p=buffer+b;
 282   1          le=1;
 283   1          switch (b)
 284   1          {
 285   2              case 0: p2_4 = 0;
 286   2                       P0=codeled[*p];
 287   2                       
 288   2                       DelayX1ms(20);
 289   2                       p2_4 = 1;
 290   2                           break;
 291   2               case 1: p2_5= 0;
 292   2                           P0=codeled[*p];
 293   2                          
 294   2                           DelayX1ms(20);
 295   2                           p2_5= 1;
 296   2                           break;
 297   2               case 2: p2_6=0;
 298   2                           P0=codeled[*p];
 299   2                    
 300   2                       DelayX1ms(20);
 301   2                       p2_6=1;  
 302   2                       break;
 303   2           }
C51 COMPILER V7.10   1                                                                     05/24/2006 17:19:53 PAGE 6   

 304   1                
 305   1          return b;
 306   1      }
 307          //----------------------------------------------------------//
 308          void shuru(uchar aress)
 309          {
 310   1          uchar add=aress;
 311   1          uchar i; //是否需要初赋值  
 312   1          uchar *q=buffer;
 313   1          static uint j=500;
 314   1          for(i=0;i<3;i++)
 315   1          {
 316   2              EEprom24c02Write(add,buffer[i]); //写入报警值
 317   2              add+=1;
 318   2              while(j)
 319   2              {
 320   3                      display0(q);
 321   3                  j--;
 322   3              }       
 323   2          }
 324   1      }   
 325          //--------------------------------------------------------//
 326          void baojinzhi() //3
 327          {
 328   1          uint  m;
 329   1          uint c=0;
 330   1          oldbjz();  //显示报警值、
 331   1          if(p3_4==1)
 332   1          { 
 333   2              DelayX1ms(1);
 334   2              if(p3_4==1)
 335   2              {
 336   3                      m=yiwei(c);
 337   3                  c++;
 338   3                  }
 339   2           } 
 340   1           if(p3_5==1)
 341   1           {
 342   2              DelayX1ms(1);
 343   2              if(p3_5==1)
 344   2              {
 345   3                      shuzi(m); 
 346   3              }
 347   2           } 
 348   1      
 349   1           if(p3_3==1)
 350   1           {
 351   2              DelayX1ms(1);
 352   2              if(p3_3==1)
 353   2                  { 
 354   3                     shuru(0x10);
 355   3                 flag=0;
 356   3                   }    
 357   2           }
 358   1      }
 359          //----------------------------------------------//
 360          void tiaoling(void)            //1
 361          {
 362   1          float c;
 363   1          uchar *q;
 364   1          uint  j=500;
 365   1          if((p3_4==1)||(p3_5==1))
C51 COMPILER V7.10   1                                                                     05/24/2006 17:19:53 PAGE 7   

 366   1          { 
 367   2              DelayX1ms(1);
 368   2              if((p3_4==1)||(p3_5==1))
 369   2              {
 370   3                      c=(float)AcH/ArH; //把当前比值写入24c02
 371   3                  WriteK0(c);
 372   3                  le=1;
 373   3                  buffer[0]=0;
 374   3                  buffer[1]=0;
 375   3                  buffer[2]=0;
 376   3                  q=buffer;
 377   3                  while(j)
 378   3                  {
 379   4                      display0(q);
 380   4                      j--;
 381   4                   }
 382   3               }
 383   2            }
 384   1           
 385   1             if(p3_3==1)
 386   1             {
 387   2                DelayX1ms(1);
 388   2                if(p3_3==1)
 389   2                    { 
 390   3                      flag=0;
 391   3                    }           
 392   2             }
 393   1      
 394   1      }
 395          //-----------------------------------------------------------------//
 396          void tiaojing()  //2
 397          {
 398   1          float k0; //u为比值,k0为更新值
 399   1          uchar *q;
 400   1          uint j=500;
 401   1          if((p3_4==1)||(p3_5==1))
 402   1          { 
 403   2              DelayX1ms(1);
 404   2              if((p3_4==1)||(p3_5==1))
 405   2              {
 406   3                  k0=(float)AcH/ArH*1.0811; //为 0.925的倒数,uc/(ur*k0)=0.925=k',k'为2%瓦斯时的k值 
 407   3                  WriteK0(k0);
 408   3                  le=1;
 409   3                  buffer[0]=2;
 410   3                  buffer[1]=0;
 411   3                  buffer[2]=0;  //开复用口
 412   3                  q=buffer;
 413   3                  le=1;
 414   3                  while(j)
 415   3                  {
 416   4                      display0(q);
 417   4                      j--;
 418   4                  }
 419   3               }
 420   2          }  
 421   1          if(p3_3==1)
 422   1          {
 423   2              DelayX1ms(1);
 424   2              if(p3_3==1)
 425   2              { 
 426   3                      flag=0;
 427   3                  }     
C51 COMPILER V7.10   1                                                                     05/24/2006 17:19:53 PAGE 8   

 428   2          }
 429   1      
 430   1      }
 431          //--------------------------------------------------------------------//
 432          void duandian(void)  //4
 433          {       
 434   1           uchar *q;
 435   1           uint n=0;
 436   1           bit j1=0;
 437   1           uint j=500;
 438   1           if(p3_4==1)
 439   1           {
 440   2              DelayX1ms(1);
 441   2              if(p3_4==1)
 442   2              {   
 443   3                 j1=1;
 444   3              }
 445   2            }
 446   1           while(j1)
 447   1           { 
 448   2              n++;
 449   2              j1=0;
 450   2                  if(n>5)
 451   2                     n=1;
 452   2              if(n==1)
 453   2              { 
 454   3                      buffer[0]=0;
 455   3                      buffer[1]=5;
 456   3                      buffer[2]=0;    
 457   3               }
 458   2              else if(n==2)
 459   2                  {  
 460   3                      buffer[0]=0;
 461   3                      buffer[1]=7;
 462   3                      buffer[2]=5;    
 463   3              }
 464   2              else if(n==3)
 465   2              { 
 466   3                      buffer[0]=1;
 467   3                      buffer[1]=0;
 468   3                      buffer[2]=0;    
 469   3               }
 470   2              else if(n==4)
 471   2              { 
 472   3                       buffer[0]=1;
 473   3                       buffer[1]=2;
 474   3                       buffer[2]=5;   
 475   3               }
 476   2              else if(n==5)
 477   2              { 
 478   3                       buffer[0]=1;
 479   3                       buffer[1]=5;
 480   3                       buffer[2]=0;   
 481   3              }
 482   2              q=buffer;
 483   2              le=1;
 484   2              while(j)
 485   2              {
 486   3                  display0(q);
 487   3                  j--;
 488   3              }
 489   2            }       
C51 COMPILER V7.10   1                                                                     05/24/2006 17:19:53 PAGE 9   

 490   1           if(p3_3==1)
 491   1               {
 492   2                      DelayX1ms(1);
 493   2              if(p3_3==1)
 494   2                 { 
 495   3                    shuru(0x20);
 496   3                flag=0;
 497   3                 }      
 498   2                }
 499   1      
 500   1              
 501   1      
 502   1      }
 503          
 504          //-------------------------------555555----------------------------------//
 505          void zijian()
 506          {     
 507   1          uchar *q;//指针指向显示存储区

⌨️ 快捷键说明

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