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

📄 dvs-funset.lst

📁 电话报警主机AT89S52单片机并带有网络模块通信协议
💻 LST
📖 第 1 页 / 共 5 页
字号:
 678   2                      {
 679   3                              SuccBuzzer();                                                                           //设置成功时发出的声音
 680   3                              switch(luc_data)
 681   3                              {
 682   4                                      case PHONE_CODE         :       SavePhontCode();        break;  //设置保存电话号码
 683   4                                      case SET_PASS           :       SetPass();                      break;  //设置密码
 684   4                                      case SET_RING_CNT       :       SetRingCnt();           break;  //设置振铃次数
 685   4                                      case SET_DIAL_OF        :       SetDialOF();            break;  //设置拔号的开关
 686   4                                      case SET_ALAR_TI        :       SetAlarTI();            break;  //设置警笛声时间
 687   4                                      case SET_ONLINE_ALAR:   SetOnLineAlar();        break;  //设置断线报警
 688   4                                      case SET_BUCHE          :       SetBuChe();                     break;  //设置布撤防
 689   4                                      case DE_LISTEN          :       Greek_Listen_Ctrl();break;      //现场监听
 690   4                                      case USER_REC_ENAD      :       User_REC_Enad();        break;  //用户录音
 691   4                                      default:break;
 692   4                              }
 693   3                              break;
 694   3                      }
 695   2                      else if(luc_data!=0) FailBuzzer();                                                      //设置失败时发出的声音
 696   2              }
 697   1      }
 698          //============================================================================================
 699          //语法格式:RstInit2()
 700          //实现功能:工厂复位第2次比较数据
 701          //参数:        无
 702          //返回值:      无
 703          //创建时间:2008-11-30          修改时间:
 704          //创建人员:                    修改人员:
 705          //============================================================================================
 706          void RstInit2()
 707          {
 708   1              unsigned char data luc_i;
 709   1              unsigned char data luc_data;                                    //DTMF解码数据  
 710   1              unsigned char data luc_DataLen = 0;                             //DTMF解码数据长度      
 711   1              unsigned char data luc_Buf[5];
 712   1              bit bit_ok;
 713   1              while(1)
 714   1              {
 715   2                      luc_data = DTMF();
 716   2                      if(guc_Timer0 == 0) break;                                      //如果按键长时间没有按,则退出函数
 717   2                      if((0<luc_data)&&(luc_data<=10))
 718   2                      {
 719   3                              if(luc_data==10)luc_data = 0;
 720   3                              luc_Buf[luc_DataLen++] = luc_data;      
 721   3                      }
 722   2                      if(luc_data==0x0b)      luc_DataLen = 0;                //"*"键重新输入
 723   2                      if(luc_data==0x0c)                                                      //以"#"键确定
 724   2                      {
 725   3                              for(luc_i = 0 ; luc_i < 4; luc_i++)
 726   3                              {
 727   4                                      if(luc_Buf[luc_i] == Rst_Tab2[luc_i]) bit_ok = 1;
 728   4                                      else 
 729   4                                      {
 730   5                                              bit_ok = 0 ;
 731   5                                              break;
 732   5                                      }
 733   4                              }
 734   3                              if(bit_ok)
 735   3                              {
 736   4                                      SuccBuzzer();                                           //设置成功时发出的声音
 737   4                                      SaveInit();                                                     //保存初始化的值
C51 COMPILER V7.06   DVS_FUNSET                                                            03/10/2009 18:23:39 PAGE 13  

 738   4                              }       
 739   3                              break;
 740   3                      }
 741   2              }
 742   1      }
 743          
 744          
 745          
 746          //============================================================================================
 747          //语法格式:RstInit()
 748          //实现功能:工厂复位第1次比较数据
 749          //参数:        无
 750          //返回值:      无
 751          //创建时间:2008-11-30          修改时间:
 752          //创建人员:                    修改人员:
 753          //============================================================================================
 754          void RstInit()
 755          {
 756   1              unsigned char data luc_i;
 757   1              unsigned char data luc_data;                                    //DTMF解码数据  
 758   1              unsigned char data luc_DataLen = 0;                             //DTMF解码数据长度      
 759   1              unsigned char data luc_Buf[4];
 760   1              bit bit_ok;
 761   1              while(1)
 762   1              {
 763   2                      luc_data = DTMF();
 764   2                      if(guc_Timer0 == 0) break;                                      //如果按键长时间没有按,则退出函数
 765   2                      if((0<luc_data)&&(luc_data<=10))
 766   2                      {
 767   3                              if(luc_data==10)luc_data = 0;
 768   3                              luc_Buf[luc_DataLen++] = luc_data;
 769   3                      }
 770   2                      if(luc_data==0x0b)      luc_DataLen = 0;                //"*"键重新输入
 771   2                      if(luc_data==0x0c)                                                      //以"#"键确定
 772   2                      {
 773   3                              for(luc_i = 0 ; luc_i < 4; luc_i++)
 774   3                              {
 775   4                                      if(luc_Buf[luc_i] == Rst_Tab[luc_i]) bit_ok = 1;
 776   4                                      else 
 777   4                                      {
 778   5                                              bit_ok = 0 ;
 779   5                                              break;
 780   5                                      }
 781   4                              }       
 782   3                              if(bit_ok)
 783   3                              {
 784   4                                      SuccBuzzer();                                           //设置成功时发出的声音
 785   4                                      RstInit2();                                                     //比较第2次号码
 786   4                              }
 787   3                              break;
 788   3                      }
 789   2              }
 790   1      }
 791          
 792          
 793          
 794          //============================================================================================
 795          //语法格式:In_Fun_SET()
 796          //实现功能:进入设置状态
 797          //参数:        无
 798          //返回值:      无
 799          //创建时间:2008-11-30          修改时间:
C51 COMPILER V7.06   DVS_FUNSET                                                            03/10/2009 18:23:39 PAGE 14  

 800          //创建人员:                    修改人员:
 801          //============================================================================================
 802          void In_Fun_SET()
 803          {
 804   1              unsigned char data luc_i;
 805   1              unsigned char data luc_data;                                    //DTMF解码数据  
 806   1              unsigned char data luc_DataLen = 0;                             //DTMF解码数据长度      
 807   1              unsigned char data luc_Buf[4];
 808   1              unsigned char data luc_RstLen = 0;                              //工厂复位长度  
 809   1              unsigned char data luc_temp;
 810   1              bit bit_ok;
 811   1              StarSetFun();                                                                   //开始设置各种功能
 812   1              SetWordDisp();                                                                  //设置时LED指示
 813   1              guc_bit_AlLedOF = 0     ;                                                       //报警指示闪烁灯关
 814   1              ALARM_LED = 0;                                                                  //撤防时报警指示点亮
 815   1              SUN_LED = SUN_LED_OFF;                                                  //撤防时电源指示点亮
 816   1              if(guc_bitPhSet)        GreekVoice();                           //如果是远程控制,远程控制时成功提示音                           
 817   1              while(1)
 818   1              {
 819   2                      luc_data = DTMF();
 820   2                      luc_temp = luc_data;
 821   2                      if(guc_Timer0 == 0)             break;                          //如果按键长时间没有按,则退出函数      
 822   2                      if((luc_DataLen<=4)&&(0<luc_data)&&(luc_data<=10))
 823   2                      {
 824   3                              if(luc_data==10)luc_data = 0;
 825   3                              luc_Buf[luc_DataLen++] = luc_data;
 826   3                      }
 827   2                      if(luc_data==0x0b)
 828   2                      {
 829   3                              luc_RstLen++;
 830   3                              luc_DataLen = 0;                                        //"*"键重新输入
 831   3                      }
 832   2                      if(luc_RstLen == 3)                                             //进入工厂恢复
 833   2                      {
 834   3                              SuccBuzzer();                                           //设置成功时发出的声音
 835   3                              RstInit();                                                      //恢复初始化
 836   3                              break;
 837   3                      }
 838   2                      if(luc_data==0x0c)                                              //以"#"键确定,比较密码
 839   2                      {
 840   3                              for(luc_i = 0 ; luc_i < 4 ; luc_i ++)
 841   3                              {
 842   4                                      if(guc_PassBuf[luc_i] == luc_Buf[luc_i]) bit_ok = 1;//如果密码相等处理,否则退出
 843   4                                      else
 844   4                                      {
 845   5                                              bit_ok = 0;
 846   5                                              break;
 847   5                                      }
 848   4                              }       
 849   3                              if(guc_bitPhSet)                                                //如果是远程控制
 85

⌨️ 快捷键说明

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