📄 dvs-funset.lst
字号:
336 //============================================================================================
337 void SetPass()
338 {
339 1 unsigned char idata luc_data,luc_i; //DTMF解码数据
340 1 unsigned char idata luc_DataLen = 0; //DTMF解码数据长度
341 1 unsigned char idata luc_Buf[4];
342 1 bit bit_ok;
343 1 while(1)
344 1 {
345 2 if(guc_Timer0 == 0) break;
346 2 luc_data = DTMF();
347 2 if(luc_data==0x0c)
348 2 {
349 3 SuccBuzzer(); //设置成功时发出的声音
350 3 while(1)
351 3 {
352 4 luc_data = DTMF();
353 4 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
354 4 if((luc_DataLen<=4)&&(0<luc_data)&&(luc_data<=10))
355 4 {
356 5 if(luc_data==10)luc_data = 0;
357 5 luc_Buf[luc_DataLen++] = luc_data;
358 5 SuccBuzzer(); //设置成功时发出的声音
359 5 }
360 4 if(luc_data==0x0b)
361 4 {
362 5 SuccBuzzer();
363 5 luc_DataLen = 0 ; //"*"键重新输入
364 5 }
365 4 if(luc_data==0x0c) //以"#"键确定,比较密码
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 7
366 4 {
367 5 for(luc_i = 0 ; luc_i < 4 ; luc_i ++)
368 5 {
369 6 if(guc_PassBuf[luc_i] == luc_Buf[luc_i]) bit_ok = 1;//如果密码相等处理,否则退出
370 6 else
371 6 {
372 7 bit_ok = 0;
373 7 break;
374 7 }
375 6 }
376 5 if(bit_ok) SetPass_NEW();
377 5 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
378 5 break;
379 5 }
380 4 }
381 3 break;
382 3 }
383 2 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
384 2 }
385 1 }
386
387 //============================================================================================
388 //语法格式:SetTiGoge()
389 //实现功能:设置共同的时间次数
390 //参数: 无
391 //返回值: 电话拔出的结果
392 //创建时间:2008-11-30 修改时间:
393 //创建人员: 修改人员:
394 //============================================================================================
395 unsigned char SetTiGoge()
396 {
397 1 unsigned char data luc_SData;
398 1 unsigned char data luc_data; //DTMF解码数据
399 1 unsigned char data luc_DataLen = 0; //DTMF解码数据长度
400 1 unsigned char data luc_Buf[3];
401 1 for(luc_data = 0; luc_data < 3 ; luc_data ++)
402 1 {
403 2 luc_Buf[luc_data]=0;
404 2 }
405 1 while(1)
406 1 {
407 2 if(guc_Timer0 == 0) break;
408 2 luc_data = DTMF();
409 2 if(luc_data==0x0c)
410 2 {
411 3 SuccBuzzer(); //设置成功时发出的声音
412 3 while(1)
413 3 {
414 4 luc_data = DTMF();
415 4 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
416 4 if((0<luc_data)&&(luc_data<=10))
417 4 {
418 5 if(luc_data==10)luc_data = 0; //DTMF用10表示0
419 5 luc_Buf[luc_DataLen++]= luc_data;
420 5 SuccBuzzer(); //设置成功时发出的声音
421 5 }
422 4 if((2<luc_DataLen)&&(luc_data!=0))
423 4 {
424 5 luc_DataLen = 0; //重新输入
425 5 FailBuzzer(); //设置失败时发出的声音
426 5 }
427 4 if(luc_data==0x0b)
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 8
428 4 {
429 5 SuccBuzzer(); //设置成功时发出的声音
430 5 luc_DataLen = 0; //"*"键重新输入
431 5 }
432 4 if(luc_data==0x0c)
433 4 {
434 5 switch(luc_DataLen) //转为10进制
435 5 {
436 6 case 1: luc_SData = luc_Buf[0]; break;
437 6 case 2: luc_SData = luc_Buf[0]*10+luc_Buf[1]; break;
438 6 case 3: luc_SData = luc_Buf[0]*100+luc_Buf[1]*10+luc_Buf[2]; break;
439 6 }
440 5 return luc_SData;
441 5 }
442 4 }
443 3 break;
444 3 }
445 2 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
446 2 }
447 1 return 0;
448 1 }
449 //============================================================================================
450 //语法格式:SetGogeTiw()
451 //实现功能:设置共同的两次设置
452 //参数: 无
453 //返回值: 执行1或10,设置失败0
454 //创建时间:2008-11-30 修改时间:
455 //创建人员: 修改人员:
456 //============================================================================================
457 unsigned char SetGogeTiw()
458 {
459 1 unsigned char data luc_data;
460 1 unsigned char data luc_temp;
461 1 while(1)
462 1 {
463 2 if(guc_Timer0 == 0) break;
464 2 luc_data = DTMF();
465 2 if(luc_data==0x0c)
466 2 {
467 3 SuccBuzzer(); //设置成功时发出的声音
468 3 while(1)
469 3 {
470 4 luc_data = DTMF();
471 4 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
472 4 if((luc_data == 10)||(luc_data == 1))
473 4 {
474 5 luc_temp = luc_data;
475 5 SuccBuzzer(); //设置成功时发出的声音
476 5 while(1)
477 5 {
478 6 luc_data = DTMF();
479 6 if(guc_Timer0 == 0) break; //如果按键长时间没有按,则退出函数
480 6 if(luc_data ==0x0c)
481 6 {
482 7 return luc_temp;
483 7 }
484 6 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
485 6 }
486 5 break;
487 5 }
488 4 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
489 4 }
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 9
490 3 break;
491 3 }
492 2 else if(luc_data!=0) FailBuzzer(); //设置失败时发出的声音
493 2 }
494 1 return 0 ;
495 1 }
496
497
498
499
500
501
502 //============================================================================================
503 //语法格式:SetRingCnt()
504 //实现功能:设置振铃次数
505 //参数: 无
506 //返回值: 无
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -