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

📄 复件 7.lst

📁 刚学时编的小程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 209   5                                      }
 210   4                                      if(i==4)
 211   4                                      {
 212   5                                              minite--;
 213   5                                              if(minite<0)
 214   5                                              minite=59;
 215   5                                      }
 216   4                                      if(i==1)
 217   4                                      {
 218   5                                              second--;
 219   5                                              if(second<0)
 220   5                                              second=59;
 221   5                                      }       
 222   4                               }
 223   3                              if(yijian()==1)          break;                                 //一键按下,移到下一位
 224   3                      }
 225   2                      if(yijian()==1)          break;                                 //跳出循环,显示时间
 226   2              }
 227   1              k=0;                                                          //开始计时
 228   1              loop:1;
*** WARNING C275 IN LINE 228 OF 复件 7.C: expression with possibly no effect
 229   1      }                  
 230          
 231          jijia()
 232          {
 233   1              TR1=1;                                                        //开计数器1
 234   1              a=1;                                                          //计价单元显示
 235   1              while(1)
 236   1              {
 237   2                      if(yijian()==1)                                             //按下一键,每过10秒循环显示路程和总价
 238   2                      {
 239   3                              a=3;
 240   3                      }
C51 COMPILER V8.02   复件_7                                                                03/12/2007 13:13:46 PAGE 5   

 241   2                      if(erjian()==1)                                             //按下二键,暂停/开始
 242   2                      {
 243   3                              TR1=~TR1;
 244   3                      }
 245   2                      if(shangjian()==1)                                          //按下三键,停止
 246   2                      {
 247   3                              k=~k;
 248   3                              if(k==1)                                                  //第一次按下,停止计价
 249   3                              {
 250   4                                      TR1=0;
 251   4                                      a=4;
 252   4                              }
 253   3                              if(k==0)                                                  //第二次按下,显示时间,数据清0
 254   3                              {
 255   4                                      a=0;
 256   4                                      lucheng[5]=0;
 257   4                                      lucheng[6]=18;
 258   4                                      lucheng[7]=0;
 259   4                                      lucheng[0]=0; 
 260   4                                      lucheng[1]=0;
 261   4                                      lucheng[2]=18;
 262   4                                      lucheng[3]=0;
 263   4                                      zongjia[0]=18;
 264   4                                      zongjia[1]=0;
 265   4                                      zongjia[5]=0;
 266   4                                      zongjia[6]=18;
 267   4                                      zongjia[7]=0;
 268   4                                      break;
 269   4                              } 
 270   3                      }
 271   2              }
 272   1      }
 273          
 274          gaijia()                                                        //改价子程序
 275          {
 276   1              a=2;                                                          //改价显示
 277   1              i=8;
 278   1              while(1)
 279   1              {
 280   2                      if(shangjian()==1)                                          //三键按下,退出程序
 281   2                      goto loop;
 282   2                      if(erjian()==1)                                             //二键按下,进入输密码程序
 283   2                      {
 284   3                              if(mi()==1)                                               //密码正确,跳出循环
 285   3                              {
 286   4                                      a=2;
 287   4                                      break; 
 288   4                              }
 289   3                              else 
 290   3                              {
 291   4                                      a=0;goto loop;                                          //密码错误,退出
 292   4                              }        
 293   3                      }
 294   2                      if(yijian()==1)                                             //按下一键,进入改密码单元
 295   2                      {
 296   3                              gaimi();
 297   3                              goto loop;
 298   3                      }
 299   2              }       
 300   1              for(i=7;i>=0;i--)                                             //循环8次
 301   1              {
 302   2                      if(i==5|i==2)   continue;                                     //如果是第二位或第五位,不改
C51 COMPILER V8.02   复件_7                                                                03/12/2007 13:13:46 PAGE 6   

 303   2                      if((i==7|i==4|i==1)&jiage[i]<18)  jiage[i]=18;              //一、四、七位显示小数点
 304   2                      while(1)
 305   2                      {       
 306   3                              if(shangjian()==1)                                        //按下三键,价格减1
 307   3                               {
 308   4                                       jiage[i]--;
 309   4                                       if(jiage[i]<0|jiage[i]==17)
 310   4                                       jiage[i]=jiage[i]+10;
 311   4                               }
 312   3                               if(erjian()==1)                                          //按下二键,价格加1
 313   3                               {
 314   4                                       jiage[i]++;
 315   4                                       if(jiage[i]==10|jiage[i]==28)
 316   4                                       jiage[i]=jiage[i]-10;
 317   4                               }
 318   3                               if(yijian()==1)        break;                                  //按下一键,移到下一位
 319   3                      }
 320   2              }
 321   1              loop:1;
*** WARNING C275 IN LINE 321 OF 复件 7.C: expression with possibly no effect
 322   1              a=0;                                                          //退出后显示时间
 323   1              i=0;
 324   1      }
 325          
 326          
 327          
 328          
 329          void main()                                                     //主程序
 330          {
 331   1              TMOD=0x42;                                                                                                                    //初始化
 332   1              TH0=0x06;
 333   1              TL0=0x06;
 334   1              TH1=7192;
 335   1              TL1=7192;                                                               
 336   1              TR0=1;                                                                                          
 337   1              ET0=1;                                                                                          
 338   1              ET1=1;
 339   1              EA=1;
 340   1              P0=duanma[shijian[dis]] ;                                     //P0口输出段码
 341   1              P2=weima[dis]     ;                                             //P2口输出位码
 342   1              while(1)
 343   1              {       
 344   2                      if(yijian()==1)                                                                           //一键按下,进入改时间程序
 345   2                      {
 346   3                              tiaoshi();
 347   3                      }        
 348   2                      if(erjian()==1)                                                                           //二键按下,进入计价程序
 349   2                      {
 350   3                               jijia();
 351   3                      } 
 352   2                      if(shangjian()==1)                                                                      //三键按下,进入改价格程序
 353   2                      {
 354   3                              gaijia();
 355   3                      }
 356   2                      if(kaiguan()==1)                                                                          //白天,晚上转换开关
 357   2                      {
 358   3                              m=1;
 359   3                      }
 360   2                      else m=0;
 361   2              }
 362   1      }
 363          
C51 COMPILER V8.02   复件_7                                                                03/12/2007 13:13:46 PAGE 7   

 364          void t0(void) interrupt 1 using 1                                                                   //定时器0中断
 365          {
 366   1              tcnt++;
 367   1              ms++;
 368   1              if(ms==8) 
 369   1              {
 370   2                      ms=0;
 371   2                      switch(a)                                                   //显示模块开关
 372   2                      {       
 373   3                              case 0: if((i==dis|(i-1)==dis)&i>0)                       //0:显示时间
 374   3                                              {
 375   4                                                      if(tcnt<1500)                                       //闪动程序
 376   4                                                      {
 377   5                                                              P0=duanma[17];
 378   5                                                      }
 379   4                                                      else P0=duanma[shijian[dis]];
 380   4                                                      break;
 381   4                                              }               
 382   3                                              else   P0=duanma[shijian[dis]];         break;
 383   3                              case 1: P0=duanma[lucheng[dis]];    break;                //1:显示路程
 384   3                              case 2: if(i==dis&i>=0)                                   //2:显示价格
 385   3                                              {
 386   4                                                      if(tcnt<1500)
 387   4                                                      {
 388   5                                                              P0=duanma[17];
 389   5                                                      }
 390   4                                                      else P0=duanma[jiage[dis]] ;    break;
 391   4                                              }               
 392   3                                              else   P0=duanma[jiage[dis]] ;    break;
 393   3                              case 3: if(shijian[1]%2==1)                                   //3:路程,总价循环显示
 394   3                                              {
 395   4                                                      P0=duanma[lucheng[dis]] ;        break;
 396   4                                              }        
 397   3                                              else    P0=duanma[zongjia[dis]];        break;
 398   3                              case 4: P0=duanma[zongjia[dis]];        break;                  //4:总价显示
 399   3                              case 5: if(i==dis&i>=0)                                   //5:输密码显示
 400   3                                              {
 401   4                                                      if(tcnt<1500)
 402   4                                                      {
 403   5                                                              P0=duanma[17];
 404   5                                                      }
 405   4                                                      else P0=duanma[mima[dis]];
 406   4                                                      break;
 407   4                                              }               
 408   3                                              else   P0=duanma[mima[dis]];    break;
 409   3                              case 6: if(i==dis&i>=0)                                   //6:改密码显示
 410   3                                              {
 411   4                                                      if(tcnt<1500)
 412   4                                                      {
 413   5                                                              P0=duanma[17];
 414   5                                                      }
 415   4                                                      else P0=duanma[mima1[dis]];
 416   4                                                      break;
 417   4                                              }               
 418   3                                              else   P0=duanma[mima1[dis]];   break;
 419   3                      }
 420   2                      P2=weima[dis];                                              //位码扫描
 421   2                      dis++;
 422   2                      if(dis==8)
 423   2                      {

⌨️ 快捷键说明

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