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