?? dvs-funset.lst
字號:
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DVS_FUNSET
OBJECT MODULE PLACED IN dvs-funset.OBJ
COMPILER INVOKED BY: D:\Program Files\keil2.0\C51\BIN\C51.EXE dvs-funset.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //dvs-funset.C
2 #include "DVS-V1.0.H"
3 #include "dvs_our_remaddr.h"
4
5
6 bit guc_BitList = 0 ; //現場監聽標致位
7 //=========================================== 函數定義 =======================================
8 void In_Fun_SET(); //掃描功能設置
9 void Fun_SET(); //功能設置
10 unsigned char DTMF(); //DTMF解碼
11 void GreekVoice(); //遠程控制時成功提示音
12 void Greek_Listen_Ctrl(); //現場監聽
13 //============================================================================================
14
15
16 //========================================== 外部定義 ========================================
17 //變量
18 extern unsigned int data guc_Timer0; //拔號按鍵定時
19 extern unsigned char data guc_RFReadHAddr; //r315取讀的高地址
20 extern unsigned char data guc_RFReadLAddr; //r315取讀的低落地址
21 extern unsigned char bdata guc_74HC164LED; //指示燈
22 //位
23 extern bit guc_Bit_BuChe; //布撤防:1為布,0為撤
24 extern bit guc_bitbhOF; //拔號開關
25 extern bit guc_bit_Alar_led; //防區指示燈閃爍開關
26 extern bit guc_bit_RemCom; //2272解碼時為1
27 extern bit POW_GlimmLEDOF; //電源指示燈閃爍開關
28 extern bit guc_bit_AlLedOF; //報警指示閃爍燈關
29 extern bit guc_bitLineOFAlar; //斷線報警開關
30 extern bit guc_bitPhSet; //是否在遠程控制
31 //函數
32 extern void DispAlarLED(); //防區指示燈
33 extern void SaveInit(); //保存初始化的值
34 extern void ClearRem(); //清除2272解碼后的數據
35 extern void SuccBuzzer(); //設置成功時發出的聲音
36 extern void FailBuzzer(); //設置失敗時發出的聲音
37 extern void RemIn(); //315解碼
38 extern void StarSetFun(); //開始設置各種功能
39 extern void OverSetFun(); //結束設置各種功能
40 extern void BuFanDis(); //布防處理
41 extern void CheFanDis(); //撤防處理
42 extern void Delay1Ms(unsigned int auc_time); //延時1MS
43 extern void SendDTMEDat(unsigned char auc_data); //DTMF拔號
44 extern void SetWordDisp(); //各種設置時各LED指示
45 extern void WrEEPROM(unsigned char address,unsigned char indata); //寫EEPROM
46 extern unsigned char RdEEPROM(unsigned char address); //讀EEPROM
47 extern void judgeRAYTC(unsigned char auc_Command,unsigned char auc_Send_Len,unsigned char *pDst);
48 extern void SendASC(unsigned char ASC) ; //發送-個ASCII
49 //extern void SendToData(unsigned char *p,unsigned char Long); //發送命令
50 //數組
51 extern unsigned char data guc_PassBuf[4]; //本機密碼
52 extern unsigned char data guc_R315Buf[3]; //315解碼后的數據
53 extern unsigned char idata RsBuf[32]; //接收緩沖區
54 //============================================================================================
55
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 2
56
57
58
59
60 //============================================================================================
61 //語法格式: unsigned char DTMF()
62 //實現功能: DTMF解碼
63 //參數: 無
64 //返回: DTMF解碼后的數據
65 //創建時間:2008-11-30 修改時間:
66 //創建人員: 修改人員:
67 //============================================================================================
68 unsigned char DTMF()
69 {
70 1 unsigned char luc_data;
71 1 if(DTMF_Valid)
72 1 {
73 2 while(DTMF_Valid) //等待按鍵松開
74 2 {
75 3 SUN_LED = SUN_LED_ON;
76 3 //ClearWatchDog(); //清看門狗
77 3 if(Listen_CTRL) guc_Timer0 = 32 * 30; //如果是現場監聽,定時30秒
78 3 else guc_Timer0 = SET_REM_TIM; //否則定時6秒
79 3 luc_data = P0&0x0f;
80 3 }
81 2 SUN_LED = SUN_LED_OFF;
82 2 return luc_data;
83 2 }
84 1 else return 0;
85 1 }
86
87
88 //============================================================================================
89 //語法格式: GreekVoice()
90 //實現功能: 遠程控制時成功提示音
91 //參數: 無
92 //返回: 無
93 //創建時間:2008-12-29 修改時間:
94 //創建人員: 修改人員:
95 //============================================================================================
96 void GreekVoice()
97 {
98 1 Delay1Ms(300);
99 1 SendDTMEDat(0x09);
100 1 Delay1Ms(100);
101 1 }
102 //============================================================================================
103 //語法格式: SavePhontCode()
104 //實現功能: 設置電話號碼
105 //參數: 無
106 //返回: 無
107 //創建時間:2008-11-30 修改時間:
108 //創建人員: 修改人員:
109 //============================================================================================
110 void SavePhontCode()
111 {
112 1 unsigned char data luc_i;
113 1 unsigned char data luc_data; //DTMF解碼數據
114 1 unsigned char data luc_temp;
115 1 unsigned char data luc_DataLen = 0; //DTMF解碼數據長度
116 1 unsigned char data luc_KeyCnt = 0; //按鍵計數器
117 1 unsigned char data luc_Buf[20]='F';
C51 COMPILER V7.06 DVS_FUNSET 03/10/2009 18:23:39 PAGE 3
118 1 unsigned char data Del_TAB[1];
119 1 bit luc_tempdata = 0;
120 1 while(1)
121 1 {
122 2 if(guc_Timer0 == 0) break;
123 2 luc_data = DTMF();
124 2 if(luc_data==0x0c)
125 2 {
126 3 SuccBuzzer(); //設置成功時發出的聲音
127 3 while(1)
128 3 {
129 4 if(guc_Timer0 == 0) break;
130 4 luc_data = DTMF();
131 4 if((luc_data!=0x0c)&&(luc_data!=0x00))
132 4 {
133 5 if((luc_data<=9)&&(luc_data>=1))
134 5 {
135 6 luc_KeyCnt ++;
136 6 luc_tempdata = 1;
137 6 luc_temp = luc_data; //讀取是第幾組電話
138 6 SuccBuzzer(); //設置成功時發出的聲音
139 6 }
140 5 else FailBuzzer(); //設置失敗時發出的聲音
141 5 }
142 4 if(luc_KeyCnt>=2)
143 4 {
144 5 luc_KeyCnt = 0;
145 5 FailBuzzer(); //設置失敗時發出的聲音
146 5 }
147 4 if(luc_data==0x0c)
148 4 {
149 5 SuccBuzzer(); //設置成功時發出的聲音
150 5 while(1)
151 5 {
152 6 luc_data = DTMF();
153 6 if(guc_Timer0 == 0) break; //如果按鍵長時間沒有按,則退出函數
154 6 if((0<luc_data)&&(luc_data<=11))
155 6 {
156 7 if(luc_data==10)luc_data = 0;
157 7 luc_Buf[1+luc_DataLen++] = luc_data;
158 7 SuccBuzzer(); //設置成功時發出的聲音
159 7 }
160 6 if((luc_data==0x0b)&&(luc_tempdata == 0)) //"*"鍵,再按"#"刪除所有電話號碼
161 6 {
162 7 SuccBuzzer(); //設置成功時發出的聲音
163 7 while(1)
164 7 {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -