?? 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 + -