📄 dial_in.lst
字号:
C51 COMPILER V7.50 DIAL_IN 06/10/2007 23:11:22 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DIAL_IN
OBJECT MODULE PLACED IN .\out\DIAL_In.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DIAL_In.C LARGE OPTIMIZE(SIZE) REGFILE(.\out\mbtest.ORC) BROWSE INCDIR(C:\K
-eil\C51\LIB\;D:\TEST_C020\MC_55_C\) DEBUG OBJECTEXTEND OBJECT(.\out\DIAL_In.obj)
line level source
1 #include "all.h"
2
3
4 /*
5 60秒等待键入时限
6 按任何键延长60秒时限
7 case 1: //撤防
8 case 2: //布防
9 case 3: //在家布防
10 case 4: // /远程监听60秒按* 退出,并嘀嘀两声
11 case 5: //远程放音// 放音结束时会响嘀嘀两声
12 case Xing: //* 退出
13
14 */
15
16 //远程布防声音
17 void Ph_Sound_Di() ;
18 //远程撤防声音
19 void Ph_Sound_DiDi() ;
20
21 //远程在家布防声音
22 void Ph_Sound_DiDiDi() ;
23
24 //系统进行一次撤防(远程)
25 void Ph_CeFang_Once() ;
26 void Ph_BuFang_Once();
27 //系统进行一次在家布防(远程)
28 void Ph_ZaiJia_BuFang_Once() ;
29
30
31 //远程监听
32 void Ph_JianTing_Once();
33
34 //远程放音
35 void Ph_Play20s_Once();
36
37
38 /**********************************************************************
39 **函数原型: void Attand_One_Jing88()
40 **入口参数:
41 **出口参数: 无
42 **返 回 值: 无
43 **说 明: //远程异地操作的密码确认
44 //如输入 有错则响"滋滋滋" 3声,允许错15次
45 //如输入 正确则响"滋滋"2声音
46 ************************************************************************/
47 uchar YuanCheng_Mima() {
48 1
49 1 uint Phone_wait_cnt,pnum,cishu;
50 1 bit isokk_b=1;
51 1
52 1 Open_ZhaiJi_P;
53 1 Open_NeiRelay_P;
54 1 os_wait2(K_TMO, 200);
C51 COMPILER V7.50 DIAL_IN 06/10/2007 23:11:22 PAGE 2
55 1 os_wait2(K_TMO, 200);
56 1 os_wait2(K_TMO, 200);
57 1 Ph_Sound_DiDi();
58 1 En_recieve_dtmfb=1;
59 1
60 1 cishu=0;
61 1
62 1 Phone_wait_cnt=0; //电话等15秒
63 1 // //delay 60s 延时60秒等待键入DTMF
64 1 Xin_dtmfb=0;
65 1 pnum=0;
66 1 while(++Phone_wait_cnt<1500) {
67 2 os_wait2(K_TMO, 5);
68 2 if(Xin_dtmfb){
69 3 Xin_dtmfb=0;
70 3
71 3 Phone_wait_cnt=0; //电话等15秒
72 3
73 3 isokk_b=1;
74 3 Phone_wait_cnt= 0; //延长60秒
75 3 switch(pnum++)
76 3 {
77 4 case 0:
78 4 if( Xin_dtmf!=(Para_all_True.Mima[0]-'0') ) {
79 5 isokk_b=0;
80 5 }
81 4
82 4 break;
83 4 case 1:
84 4 if( Xin_dtmf!=(Para_all_True.Mima[1]-'0') ) {
85 5 isokk_b=0;
86 5 }
87 4
88 4 break;
89 4 case 2:
90 4 if( Xin_dtmf!=(Para_all_True.Mima[2]-'0') ) {
91 5 isokk_b=0;
92 5 }
93 4
94 4 break;
95 4 case 3:
96 4 if( Xin_dtmf!=(Para_all_True.Mima[3]-'0') ) {
97 5 isokk_b=0;
98 5 }
99 4
100 4 break;
101 4 case 4:
102 4 if( Xin_dtmf!=(Para_all_True.Mima[4]-'0') ) {
103 5 isokk_b=0;
104 5 }
105 4
106 4 break;
107 4 case 5:
108 4 if( Xin_dtmf!=(Para_all_True.Mima[5]-'0') ) {
109 5 isokk_b=0;
110 5 }
111 4 else { //密码输入 正确
112 5 En_recieve_dtmfb=0;
113 5 Ph_Sound_DiDi();
114 5 return(1);
115 5 }
116 4
C51 COMPILER V7.50 DIAL_IN 06/10/2007 23:11:22 PAGE 3
117 4 break;
118 4 case Xing: //退出
119 4 Phone_wait_cnt=30000;
120 4 break;
121 4
122 4 break;
123 4 default:
124 4 pnum=0;
125 4
126 4 break;
127 4
128 4 }
129 3 if( isokk_b==0) {
130 4 if(++cishu>=15) {
131 5 //连续5次错误则挂机退出
132 5 Phone_wait_cnt=30000;
133 5 break;
134 5 }
135 4 pnum=0;
136 4 Ph_Sound_DiDiDi();
137 4
138 4 }
139 3
140 3 }
141 2 }
142 1 if(Phone_wait_cnt>=1500) {
143 2 Ph_Sound_DiDi();
144 2 Close_ZhaiJi_P;
145 2 Close_NeiRelay_P;
146 2 }
147 1 En_recieve_dtmfb=0;
148 1 return(0);
149 1
150 1
151 1 }
152
153
154
155
156
157 /**********************************************************************
158 **函数原型: void Attand_One_Jing88()
159 **入口参数:
160 **出口参数: 无
161 **返 回 值: 无
162 **说 明: //远程异地操作
163 ************************************************************************/
164 void Dial_In_attand(uint T_Shixian) {
165 1
166 1 uint Phone_wait_cnt;
167 1
168 1
169 1 Open_ZhaiJi_P;
170 1 Open_NeiRelay_P;
171 1
172 1
173 1 En_recieve_dtmfb=1;
174 1 Phone_wait_cnt=0; //电话等15秒
175 1 // //delay 60s 延时60秒等待键入DTMF
176 1 Xin_dtmfb=0;
177 1 while(++Phone_wait_cnt<T_Shixian) {
178 2 os_wait2(K_TMO, 5);
C51 COMPILER V7.50 DIAL_IN 06/10/2007 23:11:22 PAGE 4
179 2 if(Xin_dtmfb){
180 3 Xin_dtmfb=0;
181 3 Phone_wait_cnt= 0; //延长60秒
182 3 switch(Xin_dtmf)
183 3 {
184 4 case 1: //撤防
185 4 Ph_CeFang_Once() ;
186 4 break;
187 4 case 2: //布防
188 4 Ph_BuFang_Once();
189 4
190 4 break;
191 4 case 3: //在家布防
192 4
193 4 //系统进行一次在家布防(远程)
194 4 Ph_ZaiJia_BuFang_Once() ;
195 4
196 4 break;
197 4 case 4:
198 4 // /远程监听60秒按* 退出,并嘀嘀两声
199 4 Ph_JianTing_Once();
200 4
201 4 break;
202 4 case 5: //听录音内容
203 4 //远程放音// 放音结束时会响嘀嘀两声
204 4 Ph_Play20s_Once();
205 4
206 4 break;
207 4 case Xing: //* 退出
208 4
209 4 Phone_wait_cnt=T_Shixian;
210 4
211 4 break;
212 4 default:
213 4
214 4
215 4 break;
216 4 }
217 3
218 3 }
219 2 }
220 1
221 1 En_recieve_dtmfb=0;
222 1 Xin_dtmfb=0;
223 1 Close_NeiRelay_P;
224 1 Close_ZhaiJi_P;
225 1
226 1
227 1 }
228
229
230
231 /**********************************************************************
232 **函数原型: void Attand_One_Jing88()
233 **入口参数:
234 **出口参数: 无
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -