📄 dvs-funset.lst
字号:
165 8 luc_data = DTMF();
166 8 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
167 8 if(luc_data==0x0c) //删除所以电话号码
168 8 {
169 9 for(luc_i = 0; luc_i < 9; luc_i ++)
170 9 {
171 10 WrEEPROM(luc_i*PH_CODE_LEN+STER_ADDR,0xff); //保存0xff则删除电话号码
172 10 Del_TAB[0]=luc_i;
173 10 judgeRAYTC(SET_COM_PHONE,1,Del_TAB) ; //返回删除号码协议
174 10 }
175 9 SuccBuzzer(); //设置成功时发出的声音
176 9 return;
177 9 }
178 8 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
179 8 }
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 4
180 7 }
181 6 if(luc_data==0x0c) //以"#"键确定
182 6 {
183 7 if(luc_DataLen == 0) //如果没有按电话号码。则删除电话号码
184 7 {
185 8 for(luc_i = 0 ; luc_i < PH_CODE_LEN ; luc_i++)
186 8 {
187 9 WrEEPROM(STER_ADDR+PH_CODE_LEN*(luc_temp-1)+luc_i,0xff);//保存0xff则删除电话号码
188 9 }
189 8 Del_TAB[0]=(luc_temp-1);
190 8 judgeRAYTC(SET_COM_PHONE,1,Del_TAB); //返回删除号码协议
191 8 SuccBuzzer(); //设置成功时发出的声音
192 8 }
193 7 else
194 7 {
195 8 for(luc_i = luc_DataLen; luc_i < PH_CODE_LEN ; luc_i++)//不满20位的加0xFF
196 8 {
197 9 luc_Buf[2+luc_DataLen] = 0xff;
198 9 }
199 8 for(luc_i = 0 ; luc_i < PH_CODE_LEN ; luc_i++)
200 8 {
201 9 WrEEPROM(STER_ADDR+PH_CODE_LEN*(luc_temp-1)+luc_i,luc_Buf[luc_i]);//保存电话号码
202 9 }
203 8 luc_Buf[0]=luc_temp-1;
204 8 judgeRAYTC(SET_COM_PHONE,luc_DataLen+1,luc_Buf); //返回设置号码协议
205 8 SuccBuzzer(); //设置成功时发出的声音
206 8 }
207 7 break;
208 7 }
209 6 }
210 5 break;
211 5 }
212 4 }
213 3 break;
214 3 }
215 2 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
216 2 }
217 1 }
218 //============================================================================================
219 //语法格式:SecondPass()
220 //实现功能:设置第2次密码
221 //参数: 第1次密码内容
222 //返回值: 无
223 //创建时间:2008-11-30 修改时间:
224 //创建人员: 修改人员:
225 //============================================================================================
226 void SecondPass(unsigned char *p_Pass)
227 {
228 1 unsigned char data luc_i;
229 1 unsigned char data luc_data; //DTMF解码数据
230 1 unsigned char data luc_DataLen = 0; //DTMF解码数据长度
231 1 unsigned char data luc_Buf[5];
232 1 bit bit_ok;
233 1 luc_Buf[4] = 'O';
234 1 while(1)
235 1 {
236 2 luc_data = DTMF();
237 2 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
238 2 if((0<luc_data)&&(luc_data<=10))
239 2 {
240 3 if(luc_data==10)luc_data = 0;
241 3 luc_Buf[luc_DataLen++] = luc_data;
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 5
242 3 SuccBuzzer(); //设置成功时发出的声音
243 3 }
244 2 if((4<luc_DataLen)&&(luc_data!=0))
245 2 {
246 3 luc_DataLen = 0; //重新输入
247 3 FailBuzzer(); //设置失败时发出的声音
248 3 }
249 2 if(luc_data==0x0b)
250 2 {
251 3 SuccBuzzer(); //设置成功时发出的声音
252 3 luc_DataLen = 0; //"*"键重新输入
253 3 }
254 2 if(luc_data==0x0c) //以"#"键确定
255 2 {
256 3 for(luc_i = 0 ; luc_i < 4 ; luc_i++)
257 3 {
258 4 if(luc_Buf[luc_i] == *p_Pass++) bit_ok = 1;
259 4 else
260 4 {
261 5 bit_ok = 0;
262 5 break;
263 5 }
264 4 }
265 3 if(bit_ok) //如果两次密码相等,则保存
266 3 {
267 4 SuccBuzzer(); //设置成功时发出的声音
268 4 for(luc_i = 0 ; luc_i < 4 ; luc_i++)
269 4 {
270 5 WrEEPROM(luc_i+2,luc_Buf[luc_i]); //保存新密码
271 5 guc_PassBuf[luc_i] = luc_Buf[luc_i];
272 5 }
273 4 }
274 3 else FailBuzzer(); //设置失败时发出的声音
275 3 break;
276 3 }
277 2 }
278 1 }
279
280
281 //============================================================================================
282 //语法格式:SetPass_NEW()
283 //实现功能:设置密码
284 //参数: 无
285 //返回值: 无
286 //创建时间:2008-11-30 修改时间:
287 //创建人员: 修改人员:
288 //============================================================================================
289 void SetPass_NEW()
290 {
291 1 unsigned char data luc_data; //DTMF解码数据
292 1 unsigned char data luc_DataLen = 0; //DTMF解码数据长度
293 1 unsigned char data luc_Buf[4];
294 1 SuccBuzzer(); //设置成功时发出的声音
295 1 while(1)
296 1 {
297 2 luc_data = DTMF();
298 2 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
299 2 if((0<luc_data)&&(luc_data<=10))
300 2 {
301 3 if(luc_data==10)luc_data = 0;
302 3 luc_Buf[luc_DataLen++] = luc_data;
303 3 SuccBuzzer(); //设置成功时发出的声音
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 6
304 3 }
305 2 if((4<luc_DataLen)&&(luc_data!=0))
306 2 {
307 3 luc_DataLen = 0; //重新输入
308 3 FailBuzzer(); //设置失败时发出的声音
309 3 }
310 2 if(luc_data==0x0b)
311 2 {
312 3 SuccBuzzer(); //设置成功时发出的声音
313 3 luc_DataLen = 0; //"*"键重新输入
314 3 }
315 2 if(luc_data==0x0c)
316 2 {
317 3 if(luc_DataLen==4)
318 3 {
319 4 SuccBuzzer(); //设置成功时发出的声音
320 4 SecondPass(luc_Buf); //以"#"键确定
321 4 }
322 3 else FailBuzzer(); //设置失败时发出的声音
323 3 break;
324 3 }
325 2 }
326 1 }
327
328
329 //============================================================================================
330 //语法格式:SetPass()
331 //实现功能:设置密码
332 //参数: 无
333 //返回值: 无
334 //创建时间:2009-02-17 修改时间:
335 //创建人员: 修改人员:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -