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

📄 text1.lst

📁 这是我在07年索尼杯做电动车跷跷板题目的源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 215   1      }
 216          
 217          void timetiaozh(void)
 218          {
 219   1      TR1=0;
 220   1       
 221   1      if(!K2) //k3按键处理 
 222   1      { 
 223   2      f1++; //值加1
 224   2      while(!K2); //等待按键松开 
 225   2      for(m=0;m<250;m++); //松开按键去抖
 226   2      } 
 227   1      f2=f1*10;
 228   1      f3=f2/10;
 229   1      f4=f2%10;
 230   1      xiansishu(); 
 231   1      }
 232          
 233          void scan_key()
 234          {TR1=0;
 235   1      if(!K1) //k3按键处理 
 236   1      { 
 237   2      set++; //值加1
 238   2      if(set>=5)set=0; 
 239   2      while(!K1); //等待按键松开 
 240   2      for(m=0;m<250;m++); //松开按键去抖 
 241   2      } 
C51 COMPILER V7.06   TEXT1                                                                 09/06/2007 19:50:59 PAGE 5   

 242   1      }
 243          
 244          void  gais()
 245          {TR1=0;
 246   1       
 247   1      if(!K2) //k3按键处理 
 248   1      { 
 249   2      nn++; //值加1
 250   2      while(!K2); //等待按键松开 
 251   2      for(m=0;m<250;m++); //松开按键去抖
 252   2      } 
 253   1      
 254   1      mm=nn/10;
 255   1      qq=nn%10;
 256   1      xiangais(); 
 257   1      }
 258          
 259          
 260          void time_adj()
 261          {
 262   1      TR0=0;
 263   1      TR1=0;
 264   1      time2=0;
 265   1      time1=0;
 266   1      A_input1 = 0;
 267   1      A_input2 = 0;
 268   1      A_enable = 0;
 269   1      if(!K2) //k1按键处理 
 270   1      { 
 271   2      shu1++; //值减1
 272   2      if(shu1>30)shu1=0; 
 273   2      while(!K2); //等待按键松开 
 274   2      for(m=0;m<250;m++); //松开按键去抖 
 275   2      } 
 276   1      if(!K3) //k3按键处理 
 277   1      { 
 278   2      shu2++; //值减1
 279   2      if(shu2>9)shu1=0; 
 280   2      while(!K3); //等待按键松开 
 281   2      for(m=0;m<250;m++); //松开按键去抖 
 282   2      } 
 283   1      if(!K4) //k3按键处理 
 284   1      { 
 285   2      shu1--; //值减1
 286   2      if(shu2<0)shu1=30; 
 287   2      while(!K4); //等待按键松开 
 288   2      for(m=0;m<250;m++); //松开按键去抖 
 289   2      } 
 290   1      wz=shu1*10+shu2;
 291   1      c4=wz%10;
 292   1      c5=(wz/10)%10;
 293   1      c6=(wz/100)%10;
 294   1      xiansi1();
 295   1      led=0;
 296   1      }
 297          void timer0() interrupt 1 using 2     //定义定时器0
 298          {
 299   1       //  TF0=0;
 300   1         TH0=0x3c;
 301   1         TL0=0xb0;
 302   1         s++;
 303   1       }
C51 COMPILER V7.06   TEXT1                                                                 09/06/2007 19:50:59 PAGE 6   

 304          
 305          void timer1() interrupt 3 using 3     //定义定时器1
 306          {TH1=0xb1;
 307   1      TL1=0xdf;
 308   1      t1++;}
 309          
 310          
 311          void time()
 312          {
 313   1      TR0=1;
 314   1      TR1=1;
 315   1      if(s<9)
 316   1       {  A_input1 = 1;
 317   2          A_input2 = 0;
 318   2          A_enable = 1;}
 319   1      if(s>=9)
 320   1        {A_input1 = 0;
 321   2         A_input2 = 0;
 322   2         A_enable = 0;
 323   2            }
 324   1        if(s==24) s=0;
 325   1        adc=TLC549ADC();
 326   1        w1=(adc*500)/255;
 327   1        ph1++;
 328   1        if(ph1>2)
 329   1       {
 330   2       w=w1;
 331   2       ph1=0;
 332   2       }
 333   1      
 334   1       
 335   1      
 336   1      if(t1>60){time1++;//时间
 337   2                 time7++;
 338   2                t1=0; }
 339   1      if(time1>59)
 340   1                        {time2++;
 341   2                  time1=0;}
 342   1                       
 343   1      
 344   1      time3=time2/10;                 
 345   1      time4=time2%10;
 346   1      time5=time1/10;
 347   1      time6=time1%10;
 348   1      xiansishij();   //显示时间
 349   1      
 350   1      guiji();
 351   1      
 352   1      if((wz-w)<10)//||((wz-w)>-10)
 353   1        {TR0=0;
 354   2         s=10;
 355   2         A_input1 = 0;
 356   2         A_input2 = 0;
 357   2         A_enable = 0;
 358   2         
 359   2      }
 360   1         if((w-wz)>10)
 361   1         {A_input1 = 0;
 362   2          A_input2 = 1;
 363   2          A_enable = 1;
 364   2              delay(8);
 365   2          A_input1 = 0;
C51 COMPILER V7.06   TEXT1                                                                 09/06/2007 19:50:59 PAGE 7   

 366   2          A_input2 = 0;
 367   2          A_enable = 0;
 368   2              }
 369   1      if(time7==f2)
 370   1      {led=1;}
 371   1      if(time7==(f2+8))
 372   1      { TR0=1;
 373   2        s=3; 
 374   2           }  
 375   1      if((left==1)&&(righ==1)&&(midrigh==1)&&(midleft==1))
 376   1      {   A_input1 = 0;
 377   2          A_input2 = 1;
 378   2          A_enable = 1;
 379   2              delay(500);
 380   2              while(1);
 381   2          A_input1 = 0;
 382   2          A_input2 = 0;
 383   2          A_enable = 0;
 384   2              }
 385   1      }
 386          
 387          
 388          void main()
 389          {
 390   1      
 391   1      TMOD=0X11;
 392   1       //IT1=0;   //电平触发
 393   1       //EX1=1;
 394   1       //PT1=1;
 395   1       TH0=0x3c;
 396   1       TL0=0xb0;
 397   1       TH1=0xb1;
 398   1       TL1=0xdf;
 399   1       ET1=1;
 400   1       ET0=1;
 401   1       EA=1;
 402   1       TR0=1;
 403   1       led=0;
 404   1       while(1)
 405   1      {
 406   2      scan_key(); 
 407   2      
 408   2      switch(set)                     /*根据set键值散转*/
 409   2      {
 410   3      case 0:time();break;                    /*转动程序*/
 411   3      case 1:dianya();break;                 //电压调整
 412   3      case 2:time_adj();break;                /*转动调整*/
 413   3      case 3:timetiaozh();break;   
 414   3      case 4:gais();break;            
 415   3      default:break;                          /*其它退出*/
 416   3      } 
 417   2      }
 418   1      }
 419           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1737    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =    108    ----
C51 COMPILER V7.06   TEXT1                                                                 09/06/2007 19:50:59 PAGE 8   

   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 + -