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

📄 计价器存储.lst

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

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

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

 366   5                                              if(second<0)
 367   5                                              second=59;
 368   5                                      }       
 369   4                               }
 370   3                              if(yijian()==1)          break;                                 //一键按下,移到下一位
 371   3                      }
 372   2                      if(yijian()==1)          break;                                 //跳出循环,显示时间
 373   2              }
 374   1              k=0;                                                          //开始计时
 375   1              loop:;
 376   1      }                  
 377          
 378          jijia()
 379          {
 380   1              EX1=1;                                                        //开计数器1
 381   1              a=1;                                                          //计价单元显示
 382   1              while(1)
 383   1              {
 384   2                      if(yijian()==1)                                             //按下一键,每过10秒循环显示路程和总价
 385   2                      {
 386   3                              a=3;
 387   3                      }
 388   2                      if(erjian()==1)                                             //按下二键,暂停/开始
 389   2                      {
 390   3                              EX1=~EX1;
 391   3                      }
 392   2                      if(shangjian()==1)                                          //按下三键,停止
 393   2                      {
 394   3                              k=~k;
 395   3                              if(k==1)                                                  //第一次按下,停止计价
 396   3                              {
 397   4                                      EX1=0;
 398   4                                      tcnt2=0;
 399   4                                      a=4;
 400   4                              }
 401   3                              if(k==0)                                                  //第二次按下,显示时间,数据清0

⌨️ 快捷键说明

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