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

📄 计价器.lst

📁 刚学时编的小程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 191   2                      if(k0==0)
 192   2                      {
 193   3                              q=1;    
 194   3                              while(1)        if(k0==1)  break;
 195   3                      }
 196   2              }
 197   1              return q;
 198   1      }
 199          
 200          erjian()                                                        //二键是否按下子程序
 201          {
 202   1              char q=0;
 203   1              if(k1==0)
 204   1              {
 205   2                      delay(2);
 206   2                      if(k1==0)
 207   2                      {
 208   3                              q=1;
 209   3                              while(1)        if(k1==1)  break;
 210   3                      }
 211   2              }
 212   1              return q;
 213   1      }
 214          
 215          shangjian()                                                     //三键是否按下子程序
 216          {
 217   1              char q=0;
 218   1              if(k2==0)
 219   1              {
 220   2                      delay(2);
 221   2                      if(k2==0)
 222   2                      {
 223   3                              q=1;
 224   3                              while(1)        if(k2==1)  break;
 225   3                      }
 226   2              }
 227   1              return q;
 228   1      }
 229          
 230          kaiguan()                                                       //白天晚上转换开关
 231          {
 232   1              char q=0;
 233   1              if(k3==0)
 234   1              {
 235   2                      delay(2);
 236   2                      if(k3==0)
 237   2                      {
 238   3                               q=1;
 239   3                      }
 240   2              }
 241   1              return q;
C51 COMPILER V8.02   计价芲                                                                04/12/2007 08:50:21 PAGE 5   

 242   1      }
 243          
 244          mi()                                                            //输入密码子程序
 245          {
 246   1              char h;                                                       //定义局部变量
 247   1              if(w==1)                                                      //检测是否已经输错三次
 248   1              {goto loop;}                                                  //错三次跳到程序最后
 249   1              a=5;                                                          //显示模块开关
 250   1              for(i=7;i>=0;i--)                                             //循环八次
 251   1              {                                                             
 252   2                      while(1)
 253   2                      {
 254   3                              if(shangjian()==1)                                        //三键按下,数据减1
 255   3                               {
 256   4                                        mima[i]--;
 257   4                                        if(mima[i]<0|mima[i]>9) mima[i]=9;
 258   4                               }
 259   3                               if(erjian()==1)                                          //二键按下,数据加1
 260   3                               {
 261   4                                       mima[i]++;
 262   4                                       if(mima[i]>9) mima[i]=0;
 263   4                               }
 264   3                               if(yijian()==1)                                          //一键按下,移到下一位
 265   3                               break;
 266   3                      }
 267   2              }
 268   1              for(i=0;i<=7;i++)                                             //循环核对密码
 269   1                      if(mima[i]!=mima1[i])  break;
 270   1              if(i<=7)                                                      //检查是否对8次
 271   1              {
 272   2                      cuo++;                                                      //错误次数加1
 273   2                      if(cuo>=3)                                                  //错误次数到3清0并不允许再输入
 274   2                      {
 275   3                              cuo=0;
 276   3                              w=1;
 277   3                      }
 278   2                      h=0;
 279   2              }
 280   1          else        h=1;
 281   1              for(i=7;i>=0;i--)                                             //输完后数据清除
 282   1              {
 283   2                      mima[i]=16;
 284   2              } 
 285   1              loop:if(w==1) return 0;                                       //错三次,返回0
 286   1              return h;
 287   1      }
 288          
 289          gaimi()                                                         //改密码子程序
 290          {
 291   1              if(w==1)                                                      //判断是否已错三次
 292   1              {goto loop;}
 293   1              if(mi()==1)                                                   //进入输密码子程序
 294   1              {
 295   2                      a=6;                                                        //改密码显示开关
 296   2                      for(i=7;i>=0;i--)                                           //循环8次改变密码数据
 297   2                      {
 298   3                              while(1)
 299   3                              {       
 300   4                                      if(shangjian()==1)                                        //三键按下,数据减1
 301   4                                      {
 302   5                                        mima1[i]--;
 303   5                                        if(mima1[i]<0|mima1[i]>9) mima1[i]=9;
C51 COMPILER V8.02   计价芲                                                                04/12/2007 08:50:21 PAGE 6   

 304   5                                      }
 305   4                                  if(erjian()==1)
 306   4                                  {
 307   5                                          mima1[i]++;
 308   5                                          if(mima1[i]>9) mima1[i]=0;
 309   5                                  }
 310   4                                  if(yijian()==1)
 311   4                                  break;
 312   4                              }
 313   3                      }
 314   2              }
 315   1              loop:if(w==1) return 0;                                       //错三次,返回0
 316   1      }
 317          
 318          tiaoshi()                                                       //调时间子程序 
 319          {       
 320   1              if(w==1)
 321   1              goto loop;
 322   1              k=1;                                                          //停止计时
 323   1              for(i=7;i>0;i=i-3)                                            //对时、分、秒进行循环
 324   1              {
 325   2                      while(1)
 326   2                      {       
 327   3                               if(erjian()==1)                                          //二键按下,加1
 328   3                               {
 329   4                                      if(i==7)                                                //调整时间部分
 330   4                                      {
 331   5                                                hour++;                                             //小时加1
 332   5                                                if(hour==24)
 333   5                                                hour=0;
 334   5                                      }
 335   4                                      if(i==4)                                                //调整分钟部分
 336   4                                      {
 337   5                                              minite++;                                             //分钟加1
 338   5                                              if(minite==60)
 339   5                                              minite=0;
 340   5                                      }
 341   4                                      if(i==1)                                                //调整秒钟部分
 342   4                                      {
 343   5                                              second++;                                             //秒加1
 344   5                                              if(second==60)
 345   5                                              second=0;
 346   5                                      }
 347   4                               }
 348   3                               if(shangjian()==1)                                       //三键按下,减1
 349   3                               {
 350   4                                      if(i==7)
 351   4                                      {
 352   5                                               hour--;
 353   5                                               if(hour<0)
 354   5                                               hour=23;
 355   5                                      }
 356   4                                      if(i==4)
 357   4                                      {
 358   5                                              minite--;
 359   5                                              if(minite<0)
 360   5                                              minite=59;
 361   5                                      }
 362   4                                      if(i==1)
 363   4                                      {
 364   5                                              second--;
 365   5                                              if(second<0)
C51 COMPILER V8.02   计价芲                                                                04/12/2007 08:50:21 PAGE 7   

 366   5                                              second=59;
 367   5                                      }       
 368   4                               }
 369   3                              if(yijian()==1)          break;                                 //一键按下,移到下一位
 370   3                      }
 371   2                      if(yijian()==1)          break;                                 //跳出循环,显示时间
 372   2              }
 373   1              k=0;                                                          //开始计时
 374   1              loop:;
 375   1      }                  
 376          
 377          jijia()
 378          {
 379   1              TR1=1;                                                        //开计数器1
 380   1              a=1;                                                          //计价单元显示
 381   1              while(1)
 382   1              {
 383   2                      if(yijian()==1)                                             //按下一键,每过10秒循环显示路程和总价
 384   2                      {
 385   3                              a=3;
 386   3                      }
 387   2                      if(erjian()==1)                                             //按下二键,暂停/开始
 388   2                      {
 389   3                              TR1=~TR1;

⌨️ 快捷键说明

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