📄 dvs-funset.lst
字号:
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 + -