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

📄 计价器存储.lst

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

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

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

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

⌨️ 快捷键说明

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