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

📄 lcm16864zk.lst

📁 一个基于51单片机的报警系统。包含有电路图
💻 LST
📖 第 1 页 / 共 5 页
字号:
 337          ////////////////
 338          void ShowTimes(uchar i)
 339          {
 340   1           uchar m,n;
 341   1           m=i>>4;
 342   1           m=m+0x30;
 343   1           n=i&0x0f;
 344   1           n=n+0x30;
 345   1           WritData(m);
 346   1           WritData(n);
 347   1      }
 348          
 349           ////////////////////////////////////////////////////////////////// 进入系统设置画面
 350          
 351          void ShScreen1(void)
 352          {
 353   1           uchar i,j=0,k=0;
 354   1           uchar CodeNum1[4];
 355   1           while(1) {if(LKEY==1) break; }
 356   1                                     //整体显示开  游标位置开
 357   1           WritCommand(0x0e);
 358   1           WritCommand(0x01);
 359   1           ShowPart1();
 360   1           WritCommand(0x90);
 361   1           WritData(0xcf);WritData(0xb5);WritData(0xcd);WritData(0xb3);       //显示系统密码:0
 362   1           WritData(0xc3);WritData(0xdc);WritData(0xc2);WritData(0xeb);
 363   1           WritData(0x3a);WritData(0x20);WritData(0x20);WritData(0x20);
 364   1           WritData(0x20);WritData(0x20);
C51 COMPILER V7.06   LCM16864ZK                                                            11/15/2006 18:43:11 PAGE 7   

 365   1           WritCommand(0x94);
 366   1           WritData(0xa3);
 367   1           WritData(0xb0);
 368   1           WritCommand(0x10);
 369   1           while(k<4)
 370   1           {
 371   2           if(LKEY==0)
 372   2              {
 373   3              Delay_ms(10);
 374   3              if(LKEY==0)
 375   3               {
 376   4                while(1){if(LKEY==1) break;}
 377   4                CodeNum1[k]=j;
 378   4                k++;
 379   4                for(i=0;i<4;i++)                     //判断密码是否正确
 380   4                  {
 381   5                  j=CodeNum[i];
 382   5                  if(CodeNum1[i]!=j)
 383   5                   {
 384   6                    WritCommand(0x01);
 385   6                    WritCommand(0x91);
 386   6                    WritData(0xc3);WritData(0xdc);WritData(0xc2);WritData(0xeb);      //密码错误
 387   6                    WritData(0xb4);WritData(0xed);WritData(0xce);WritData(0xf3);
 388   6                    Delay_s(3);
 389   6                    k=0;
 390   6                    ShScreen1();
 391   6                    break;
 392   6                    }
 393   5                   }
 394   4                   RobSet();
 395   4                   StealSet();
 396   4                   FireSet();
 397   4                   CalenSet();
 398   4                  }
 399   3                  break;
 400   3                 }
 401   2                if(MKEY==0)
 402   2                    {
 403   3                       Delay_ms(10);
 404   3      
 405   3                       if(MKEY==0)
 406   3                       {
 407   4                          j++;
 408   4                          if(j>9) j=0;
 409   4                          i=0xb0+j;
 410   4                          WritData(0xa3);
 411   4                          WritData(i);         //显示下个数
 412   4                          WritCommand(0x10);
 413   4                          while(1){ if(MKEY==1) break; }
 414   4                        }
 415   3                     }
 416   2           if(RKEY==0)
 417   2                    {
 418   3                      Delay_ms(10);          //延时去抖动
 419   3                      if(RKEY==0)
 420   3                      {
 421   4      
 422   4                          CodeNum1[k]=j;
 423   4                          WritCommand(0x14);
 424   4                          k++;
 425   4                          if(k>3) {k=0; WritCommand(0x94);}
 426   4                          WritData(0xa3);
C51 COMPILER V7.06   LCM16864ZK                                                            11/15/2006 18:43:11 PAGE 8   

 427   4                          WritData(0xb0);
 428   4                          WritCommand(0x10);
 429   4                          j=0;
 430   4                          while(1)
 431   4                           {
 432   5                            if(RKEY==1) break;
 433   5                           }
 434   4                        }
 435   3                      }
 436   2              ShowTime();
 437   2              WritCommand(0x94+k);
 438   2              Delay_ms(10);
 439   2            }
 440   1      
 441   1      }
 442           ////////////////////////////////////////////////////////////////////////////////显示画面
 443          void ShowPart1(void)
 444          {
 445   1       WritCommand(0x98);
 446   1       WritData(0xc8);WritData(0xb7);WritData(0xc8);WritData(0xcf);       //显示确认 选数 移动
 447   1       WritData(0x20);WritData(0x20);WritData(0xd1);WritData(0xa1);
 448   1       WritData(0xca);WritData(0xfd);WritData(0x20);WritData(0x20);
 449   1       WritData(0xd2);WritData(0xc6);WritData(0xb6);WritData(0xaf);
 450   1      
 451   1      }
 452          
 453          void ShowPart2(void)
 454          {
 455   1       WritCommand(0x90);
 456   1       WritData(0xb7);WritData(0xa2);WritData(0xc9);WritData(0xe4);         //发射器编号:0
 457   1       WritData(0xc6);WritData(0xf7);WritData(0xb1);WritData(0xe0);
 458   1       WritData(0xba);WritData(0xc5);WritData(0x3a);WritData(0x20);
 459   1       WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
 460   1       WritData(0xa3);WritData(0xb0);
 461   1      }
 462          void ShowPart3(void)
 463          {
 464   1       WritCommand(0x90);
 465   1       WritData(0xb5);WritData(0xe7);WritData(0xbb);WritData(0xb0);         //电话报警:Y
 466   1       WritData(0xb1);WritData(0xa7);WritData(0xbe);WritData(0xaf);
 467   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
 468   1      }
 469          void ShowPart4(void)
 470          {
 471   1       WritCommand(0x98);
 472   1       WritData(0xc8);WritData(0xb7);WritData(0xc8);WritData(0xcf);           //确认   选择
 473   1       WritCommand(0x9e);
 474   1       WritData(0xd1);WritData(0xa1);WritData(0xd4);WritData(0xf1);
 475   1       }
 476           void ShowPart5(void)
 477           {
 478   1        WritCommand(0x98);
 479   1       WritData(0xbd);WritData(0xf8);WritData(0xc8);WritData(0xeb);   //进入
 480   1       WritCommand(0x9e);
 481   1       WritData(0xc1);WritData(0xed);WritData(0xd1);WritData(0xa1);   //另选
 482   1       }
 483           void ShowPart6(void)
 484           {
 485   1        WritCommand(0x91);
 486   1        WritData(0xc3);WritData(0xf9);WritData(0xbe);WritData(0xaf);
 487   1        WritData(0xb5);WritData(0xd1);                              //鸣警笛 :Y
 488   1        WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
C51 COMPILER V7.06   LCM16864ZK                                                            11/15/2006 18:43:11 PAGE 9   

 489   1        }
 490          void ShowPart7(void)
 491          {
 492   1       WritCommand(0x90);
 493   1       WritData(0xbd);WritData(0xd3);WritData(0xc1);WritData(0xa6);         //接力报警:Y
 494   1       WritData(0xb1);WritData(0xa7);WritData(0xbe);WritData(0xaf);
 495   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
 496   1       }
 497          void ShowPart8(void)
 498           {
 499   1       WritCommand(0x90);
 500   1       WritData(0xb7);WritData(0xe2);WritData(0xcb);WritData(0xf8);         //封锁现场:Y
 501   1       WritData(0xcf);WritData(0xd6);WritData(0xb3);WritData(0xa1);
 502   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
 503   1       }
 504          void ShowPart9(void)
 505          {
 506   1       WritCommand(0x90);
 507   1       WritData(0xc5);WritData(0xe7);WritData(0xc9);WritData(0xe4);         //喷射眠雾:Y
 508   1       WritData(0xc3);WritData(0xdf);WritData(0xce);WritData(0xed);
 509   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
 510   1      }
 511          
 512          void ShowPart10(void)
 513          {
 514   1       WritCommand(0x90);
 515   1       WritData(0xd4);WritData(0xb1);WritData(0xb9);WritData(0xa4);         //员工编码:0
 516   1       WritData(0xb1);WritData(0xe0);WritData(0xba);WritData(0xc5);
 517   1       WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
 518   1       WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
 519   1      }
 520          void ShowPart11(void)
 521          {
 522   1       WritCommand(0x90);
 523   1       WritData(0xd7);WritData(0xee);WritData(0xc9);WritData(0xd9);         //最少与数:0
 524   1       WritData(0xd3);WritData(0xeb);WritData(0xca);WritData(0xfd);
 525   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xb0);
 526   1      }
 527          void ShowPart12(void)
 528          {
 529   1       WritCommand(0x90);
 530   1       WritData(0xc2);WritData(0xde);WritData(0xbc);WritData(0xad);           //逻辑关系:A
 531   1       WritData(0xb9);WritData(0xd8);WritData(0xcf);WritData(0xb5);
 532   1       WritData(0x3a);WritData(0x20);WritData(0xa6);WritData(0xa1);
 533   1      }
 534          void ShowPart13(void)
 535          {
 536   1       WritCommand(0x90);
 537   1       WritData(0xd3);WritData(0xeb);WritData(0xb5);WritData(0xc8);           // 与等时间000S
 538   1       WritData(0xca);WritData(0xb1);WritData(0xbc);WritData(0xe4);
 539   1       WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
 540   1       WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xd3);
 541   1      
 542   1      }
 543          void ShowPart14(void)
 544          {
 545   1       WritCommand(0x01);
 546   1       WritCommand(0x98);
 547   1       WritData(0xcc);WritData(0xee);WritData(0xd0);WritData(0xb4);           //填写    继续
 548   1       WritCommand(0x9b);
 549   1       WritData(0xb2);WritData(0xbb);WritData(0xcc);WritData(0xee);
 550   1       WritCommand(0x9e);
C51 COMPILER V7.06   LCM16864ZK                                                            11/15/2006 18:43:11 PAGE 10  

 551   1       WritData(0xbc);WritData(0xcc);WritData(0xd0);WritData(0xf8);
 552   1      }
 553          void ShowPart15(void)
 554          {
 555   1       WritCommand(0x90);
 556   1       WritData(0xd7);WritData(0xd4);WritData(0xb6);WritData(0xaf);         //自动喷水:Y
 557   1       WritData(0xc5);WritData(0xe7);WritData(0xcb);WritData(0xae);
 558   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
 559   1      }
 560          void ShowPart16(void)
 561          {
 562   1       WritCommand(0x90);
 563   1       WritData(0xd7);WritData(0xd4);WritData(0xb6);WritData(0xaf);         //自动喷沙:Y
 564   1       WritData(0xc5);WritData(0xe7);WritData(0xc9);WritData(0xb3);
 565   1       WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
 566   1      }
 567          
 568          void ShowPart17(void)
 569          {
 570   1        WritCommand(0x92);
 571   1       WritData(0xc8);WritData(0xd5);WritData(0xc0);WritData(0xFa);   //日历设置
 572   1       WritData(0xc9);WritData(0xe8);WritData(0xd6);WritData(0xc3);
 573   1      }
 574          /*void ShowPart18(void)
 575          {
 576          
 577          }
 578            */
 579          ////////////////////////////////////报警
 580          
 581          
 582          
 583          //////////////////////////////////////////////////////////////////
 584          void RobSet(void)                                                 //防抢设置
 585          {
 586   1       WritCommand(0x01);                     //清零
 587   1       WritCommand(0x0c);
 588   1       WritCommand(0x92);
 589   1       WritData(0xb7);WritData(0xc0);WritData(0xc7);WritData(0xc0);    //防抢设置
 590   1       WritData(0xc9);WritData(0xe8);WritData(0xd6);WritData(0xc3);
 591   1       ShowPart5();                                                //进入 另选
 592   1       while(1)
 593   1       {
 594   2       if(RKEY==0)
 595   2        {
 596   3        Delay_ms(10);
 597   3        if(RKEY==0)
 598   3         {
 599   4         while(1){if(RKEY==1) break; }
 600   4         }
 601   3         break;
 602   3        }
 603   2        if(LKEY==0)
 604   2        {
 605   3         Delay_ms(10);
 606   3         if(LKEY==0)
 607   3         {
 608   4         while(1) {if(LKEY==1)break;}
 609   4         RobData=0x00;
 610   4         TeleAlarm();         //报警处警设置
 611   4         WhistleAlarm();
 612   4         AlarmRelay();
C51 COMPILER V7.06   LCM16864ZK                                                            11/15/2006 18:43:11 PAGE 11  

 613   4         BlankLocal();
 614   4         EjectFog();
 615   4         pdx=0x0101;
 616   4         *pdx=RobData;
 617   4         AnlTime();         //与等待时间
 618   4         AnlNum();         //最少与数
 619   4         RobSetNext();
 620   4         break;
 621   4         }
 622   3        }
 623   2        ShowTime();
 624   2       }
 625   1      }
 626          void RobSetNext(void)
 627          {
 628   1         uchar i;
 629   1         WritCommand(0x0e);
 630   1         i=EjectorNum();         //发射器编号
 631   1         EmployeeNum();         //员工编号
 632   1         AnlSet();         //逻辑关系
 633   1         RobSet1();        //继续 填写
 634   1      }
 635          void TeleAlarm(void)
 636          {
 637   1       bit i=1;
 638   1       WritCommand(0x01);
 639   1       WritCommand(0x0e);
 640   1       ShowPart3();              //电话报警:Y
 641   1       ShowPart4();
 642   1       while(1)
 643   1       {
 644   2        if(LKEY==0)
 645   2        {
 646   3         Delay_ms(10);
 647   3         if(LKEY==0)
 648   3         {
 649   4          while(1)
 650   4          {if(LKEY==1) break;}
 651   4          if(i==1)
 652   4          {
 653   5           RobData=RobData|0x01;
 654   5           }
 655   4           else
 656   4           {
 657   5           RobData=RobData&0xfe;
 658   5           }
 659   4         }
 660   3         break;
 661   3        }
 662   2        if(RKEY==0)
 663   2        {
 664   3         Delay_ms(10);
 665   3         if(RKEY==0)
 666   3         {
 667   4          while(1)
 668   4           {if(RKEY==1) break;}
 669   4           i=~i;
 670   4           if(i==1)
 671   4           {
 672   5           WritCommand(0x95);
 673   5           WritData(0xa3);WritData(0xd9);
 674   5           WritCommand(0x10);
C51 COMPILER V7.06   LCM16864ZK                                                            11/15/2006 18:43:11 PAGE 12  

 675   5            }
 676   4            else
 677   4            {
 678   5             WritCommand(0x95);
 679   5             WritData(0xa3);WritData(0xce);
 680   5             WritCommand(0x10);

⌨️ 快捷键说明

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