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

📄 key.lst

📁 C51单片机一个小项目源程序:包含液晶12232驱动,AD7705驱动,按键扫描及单片机内部EEPROM的驱动,是一个比较值得参考的源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 246   2                      break;
 247   2                      default:
 248   2                      break;
 249   2                      }          
 250   1      }
 251          void RTDkey()
 252          {
 253   1         switch(MENU_NO)
 254   1         {
 255   2             case 1:
 256   2                         Test_Case_9();
 257   2                 break;
 258   2                 case 10:
 259   2                 {
 260   3                     Test_Case_10();
 261   3                 }       
 262   2                 break;
 263   2                 case 3:
 264   2                 case 5:
 265   2                 {
 266   3                    CH2_init();
 267   3                       // k=filter(0);
 268   3                        k=filter_biaoding(0);
 269   3                        display_num(1,80,1,1,1,k);
 270   3                        Wait7705(20000);
 271   3                 }
 272   2                 break;
 273   2                 case 4:
 274   2                 case 6:
 275   2                 {
 276   3                        CH1_init();
 277   3                        //k=filter(1);
 278   3                        k=filter_biaoding(1);
 279   3                        display_num(1,80,1,1,1,k);
 280   3                        Wait7705(20000);
 281   3                 }
 282   2                 break;
 283   2                 case 7:
 284   2                 {
 285   3                    Turnaround_CornerORPower_SendValue(); 
 286   3                 }
 287   2                 break;
 288   2                 case 8:
 289   2                 {
 290   3                        Turnaround_CornerORPower_SendORnot();
 291   3                 }
 292   2                 break;
 293   2                 default:
 294   2                 break;
 295   2         }
 296   1      }
 297          
 298          
 299          void test2()
 300          {
 301   1              SetSerio=1;
 302   1              send_char(0xaa);                     //左转角
 303   1                      delay();
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 6   

 304   1                      send_string_com(Turnaround_CornerORPower_Value2,2);
 305   1                      delay();
 306   1                      send_char(0xbb);                         //右转角
 307   1                      send_string_com(Turnaround_CornerORPower_Value2+2,2);
 308   1                      delay();
 309   1                      send_char(0xcc);                         //左转矩
 310   1                      delay();
 311   1                      send_string_com(Turnaround_CornerORPower_Value3,2);
 312   1                      delay();
 313   1                      send_char(0xdd);                          //右转矩
 314   1                      send_string_com(Turnaround_CornerORPower_Value3+2,2);
 315   1                      //SetSerio=1;
 316   1                      Turnaround_CornerORPower_Value2[0]=0;
 317   1                  Turnaround_CornerORPower_Value2[1]=0;
 318   1                      Turnaround_CornerORPower_Value2[2]=0;
 319   1                  Turnaround_CornerORPower_Value2[3]=0;
 320   1      
 321   1                      Turnaround_CornerORPower_Value3[0]=0;
 322   1                  Turnaround_CornerORPower_Value3[1]=0;
 323   1                      Turnaround_CornerORPower_Value3[2]=0;
 324   1                  Turnaround_CornerORPower_Value3[3]=0;
 325   1      
 326   1                      AD_getvalue1[0]=AD_getvalue1[1]=0;
 327   1              AD_getvalue2[0]=AD_getvalue2[1]=0;
 328   1                      AD_getvalue3[0]=AD_getvalue3[1]=0;
 329   1                      AD_getvalue4[0]=AD_getvalue4[1]=0;
 330   1      
 331   1                      k_max1a=k_max1b=k_max2a=k_max2b=0;
 332   1                      MENU_NO=8;
 333   1                  MENU_MENU1_NO=8;
 334   1                  EA=0;
 335   1                  ES=0;
 336   1                  dprintf(42,0,"0000",0);
 337   1                  dprintf(84,0,"0000",0); 
 338   1                      dprintf(42,1,"000",0);
 339   1                  dprintf(84,1,"000",0);
 340   1      }
 341          void Turnaround_CornerORPower_SendORnot()
 342          {
 343   1           Ch1k=Ch2k=0;
 344   1           CH1_init();
 345   1           Ch1k=filter(1);
 346   1               CH2_init();
 347   1           Ch2k=filter(0);
 348   1               dprintf(0,0,"转角:",0);
 349   1               draw_bmp(33,0,8,Left);
 350   1               draw_bmp(75,0,8,Right);
 351   1               dprintf(0,1,"转矩:",0);
 352   1               draw_bmp(33,1,8,Left);
 353   1               draw_bmp(75,1,8,Right); 
 354   1               if(Ch1k>Ck1)
 355   1                {
 356   2                   Nt1=(360.0/abs(Turnaround_Corner_360-Turnaround_Corner_0))*abs(Ch1k-Ck1);
 357   2                   k_ch1a=(int)Nt1;
 358   2                   AD_getvalue1[count1]=k_ch1a;
 359   2               count1++;
 360   2               if(count1==2)
 361   2                  count1=1;
 362   2                   max1=AD_getvalue1[0];
 363   2               for(i=1;i<2;i++)
 364   2               {
 365   3                   if(AD_getvalue1[i]>max1)
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 7   

 366   3                   max1=AD_getvalue1[i];
 367   3               }
 368   2                   k_max1a=max1;
 369   2                   AD_getvalue1[0]=k_max1a;
 370   2                       display_num(1,76,0,0,1,k_max1a);
 371   2                }
 372   1                else if(Ch1k<Ck1)
 373   1                {
 374   2                    Nt2=(360.0/abs(Turnaround_Corner_360-Turnaround_Corner_0))*abs(Ch1k-Ck1);
 375   2                    k_ch1b=(int)Nt2;
 376   2                    AD_getvalue2[count2]=k_ch1b;
 377   2                count2++;
 378   2                if(count2==2)
 379   2                    count2=1;
 380   2                        max2=AD_getvalue2[0];
 381   2                for(i=1;i<2;i++)
 382   2                {
 383   3                    if(AD_getvalue2[i]>max2)
 384   3                       max2=AD_getvalue2[i];
 385   3                }
 386   2                         k_max1b=max2;
 387   2                         AD_getvalue2[0]=k_max1b;
 388   2                         display_num(1,34,0,0,1,k_max1b);
 389   2                      }
 390   1                 else if(Ch1k==Ck1)
 391   1                      {
 392   2                         dprintf(42,0,"0000",0);
 393   2                     dprintf(84,0,"0000",0);
 394   2                      }
 395   1                      Turnaround_CornerORPower_Value2[0]=k_max1a/256;
 396   1                  Turnaround_CornerORPower_Value2[1]=k_max1a%256;
 397   1                      Turnaround_CornerORPower_Value2[2]=k_max1b/256;
 398   1                  Turnaround_CornerORPower_Value2[3]=k_max1b%256; 
 399   1      
 400   1               //Nt=(40.0*(abs(Ch2k-Turnaround_Power_0)))/(abs(Turnaround_Power_200-Turnaround_Power_0));
 401   1               if(Ch2k>Turnaround_Power_0)
 402   1                {
 403   2                   //Nt3=(40.0/abs(Turnaround_Power_200-Turnaround_Power_0))*abs(Ch2k-Ck2);
 404   2                       Nt3=(40.0*(abs(Ch2k-Turnaround_Power_0)))/(abs(Turnaround_Power_200-Turnaround_Power_0));
 405   2                   k_ch2a=(int)Nt3;
 406   2                   AD_getvalue3[count3]=k_ch2a;
 407   2               count3++;
 408   2               if(count3==2)
 409   2                  count3=1;
 410   2                   max3=AD_getvalue3[0];
 411   2               for(i=1;i<2;i++)
 412   2               {
 413   3                   if(AD_getvalue3[i]>max3)
 414   3                   max3=AD_getvalue3[i];
 415   3               }
 416   2                   k_max2a=max3;
 417   2                   AD_getvalue3[0]=k_max2a;
 418   2                       //void display_num1(uchar beginaddre,uchar cole,uint k);
 419   2      //               display_num1(84,1,k_max2a,1);
 420   2               display_num(1,68,1,0,0,k_max2a);
 421   2                }
 422   1                else if(Ch2k<Turnaround_Power_0)
 423   1                {
 424   2                    Nt4=(40.0*(abs(Ch2k-Turnaround_Power_0)))/(abs(Turnaround_Power_200-Turnaround_Power_0));
 425   2                    k_ch2b=(int)Nt4;
 426   2                    AD_getvalue4[count4]=k_ch2b;
 427   2                count4++;
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 8   

 428   2                if(count4==2)
 429   2                    count4=1;
 430   2                        max4=AD_getvalue4[0];
 431   2                for(i=1;i<2;i++)
 432   2                {
 433   3                    if(AD_getvalue4[i]>max4)
 434   3                       max4=AD_getvalue4[i];
 435   3                }
 436   2                         k_max2b=max4;
 437   2                         AD_getvalue4[0]=k_max2b;
 438   2                        // display_num1(42,1,k_max2b,1);
 439   2                         display_num(1,26,1,0,0,k_max2b);
 440   2                      }
 441   1                 else if(Ch2k==Turnaround_Power_0)
 442   1                      {
 443   2                         dprintf(42,1,"000",0);
 444   2                     dprintf(84,1,"000",0);
 445   2                      }
 446   1                      Turnaround_CornerORPower_Value3[0]=k_max2a/256;
 447   1                  Turnaround_CornerORPower_Value3[1]=k_max2a%256;
 448   1                      Turnaround_CornerORPower_Value3[2]=k_max2b/256;
 449   1                  Turnaround_CornerORPower_Value3[3]=k_max2b%256; 
 450   1      }
 451          void Turnaround_CornerORPower_SendValue()
 452          {
 453   1           Ch1k=Ch2k=0;
 454   1           CH1_init();
 455   1           Ch1k=filter(1);
 456   1               CH2_init();
 457   1           Ch2k=filter(0);
 458   1               dprintf(0,0,"转角:",0);
 459   1               draw_bmp(33,0,8,Left);
 460   1               draw_bmp(75,0,8,Right);
 461   1               dprintf(0,1,"转矩:",0);
 462   1               draw_bmp(33,1,8,Left);
 463   1               draw_bmp(75,1,8,Right); 
 464   1               Nt1=(360.0/abs(Turnaround_Corner_360-Turnaround_Corner_0))*abs(Ch1k-Ck1);
 465   1               k_ch1a=(int)Nt1;
 466   1               if(Ch1k>Ck1)
 467   1               {
 468   2                   k_max1a=k_ch1a;
 469   2                       display_num(1,76,0,0,1,k_ch1a);
 470   2                       dprintf(42,0,"0000",0);
 471   2                       Turnaround_CornerORPower_Value2[0]=k_max1a/256;
 472   2                   Turnaround_CornerORPower_Value2[1]=k_max1a%256;
 473   2               Turnaround_CornerORPower_Value2[2]=0;
 474   2                   Turnaround_CornerORPower_Value2[3]=0; 
 475   2               }
 476   1               if(Ch1k<Ck1)
 477   1               {
 478   2                        k_max1a=k_ch1a;
 479   2                        display_num(1,34,0,0,1,k_max1a);
 480   2                        dprintf(84,0,"0000",0);
 481   2                        Turnaround_CornerORPower_Value2[0]=0;
 482   2                    Turnaround_CornerORPower_Value2[1]=0;
 483   2                Turnaround_CornerORPower_Value2[2]=k_max1a/256;
 484   2                    Turnaround_CornerORPower_Value2[3]=k_max1a%256;
 485   2               }
 486   1               if(Ch1k==Ck1)
 487   1               {
 488   2                    dprintf(42,0,"0000",0);
 489   2                    dprintf(84,0,"0000",0);
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 9   

 490   2                        Turnaround_CornerORPower_Value2[0]=0;
 491   2                    Turnaround_CornerORPower_Value2[1]=0;
 492   2                Turnaround_CornerORPower_Value2[2]=0;
 493   2                    Turnaround_CornerORPower_Value2[3]=0; 
 494   2               }
 495   1               Nt1=(40.0*(abs(Ch2k-Turnaround_Power_0)))/(abs(Turnaround_Power_200-Turnaround_Power_0));
 496   1               k_ch1a=(int)Nt1;
 497   1               if(Ch2k>Turnaround_Power_0)
 498   1               {
 499   2                  k_max1a=k_ch1a;

⌨️ 快捷键说明

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