663 lines
26 KiB
Plaintext
663 lines
26 KiB
Plaintext
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 1
|
||
|
||
|
||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE MAIN
|
||
OBJECT MODULE PLACED IN .\hex\main.obj
|
||
COMPILER INVOKED BY: C:\keil5\C51\BIN\C51.EXE main.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\main.lst) TABS(2) OB
|
||
-JECT(.\hex\main.obj)
|
||
|
||
line level source
|
||
|
||
1 #ifndef _MAIN_C_
|
||
2 #define _MAIN_C_
|
||
3 /*********************************************************************************************************
|
||
-************/
|
||
4 #include "ca51f5_config.h"
|
||
5 #include "includes\ca51f5sfr.h"
|
||
6 #include "includes\ca51f5xsfr.h"
|
||
7 #include "includes\gpiodef_f5.h"
|
||
8
|
||
9 #include "Library\includes\uart.h"
|
||
10 #include "Library\includes\system_clock.h"
|
||
11 #include "Library\Includes\tmc.h"
|
||
12 #include "includes\system.h"
|
||
13 #include "Library\includes\wdt.h"
|
||
14 /*********************************************************************************************************
|
||
-************/
|
||
15 #include "TS_Lib\Includes\ts_configuration.h"
|
||
16 #include "TS_Lib\Includes\ts_def.h"
|
||
17 #include "TS_Lib\Includes\ts_api.h"
|
||
18 #include "TS_Lib\Includes\ts_service.h"
|
||
19 #include "rf_send.h"
|
||
20
|
||
21
|
||
22 #include "Library\Includes\delay.h"
|
||
23
|
||
24 #define INT_TIME 100 //定时时间,单位为us
|
||
25
|
||
26 #define TH_VAL (unsigned char)((0x2000 - (INT_TIME*(FOSC/1000))/12000)>>5)
|
||
27 #define TL_VAL (unsigned char)(0x2000 - (INT_TIME*(FOSC/1000))/12000)&0x1F
|
||
28
|
||
29
|
||
30
|
||
31 unsigned char flagSend = 0;
|
||
32 unsigned char valueSend = 0;
|
||
33 unsigned char flagStart = 0;
|
||
34
|
||
35
|
||
36
|
||
37 void Delay_ms(unsigned int n);
|
||
38
|
||
39 void TIMER0_ISR (void) interrupt 1 //每100us产生中断
|
||
40 {
|
||
41 1 TH0 = TH_VAL;
|
||
42 1 TL0 = TL_VAL;
|
||
43 1
|
||
44 1 Send433_Byte();
|
||
45 1 }
|
||
46 /*********************************************************************************************************
|
||
-************/
|
||
47 /*********************************************************************************************************
|
||
-**********************************
|
||
48 说明:
|
||
49 ----------------------------------------------------------------------------------------------------------
|
||
---
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 2
|
||
|
||
50 1.ts_configuration.h是触摸的配置文件,可在配置文件中设置触摸通道、灵敏度等。详见ts_configuration.h中的说明
|
||
-。
|
||
51 ----------------------------------------------------------------------------------------------------------
|
||
---
|
||
52 2.如果需要使用UART来调试,可在ca51f5_config.h中打开宏定义UART0_EN
|
||
53 ----------------------------------------------------------------------------------------------------------
|
||
---
|
||
54 3.触摸库对外的数据接口为KeysFlagSN,用户可根据KeysFlagSN的值来判断触摸键是否按下(如果触摸键按下,KeysFlag
|
||
-SN
|
||
55 的对应位一直为1,触摸键松开,对应位变为0),TS_Key是根据KeysFlagSN的值生成的按键消息,用户如不使用可忽略。
|
||
56 ----------------------------------------------------------------------------------------------------------
|
||
---
|
||
57 4.使能了触摸省电模式后,在无按键时,在定义的时间后会进入省电模式,进入省电模式前会关闭TMC中断和触摸中断(�
|
||
-⒁猓��
|
||
58 中断仍是开启的),在触摸省电模式下,CPU会进入STOP模式,在被触摸唤醒后,程序在省电函数(TS_EnterSleepMode)
|
||
-的循环内运行(注意,触摸省电模式程序不
|
||
59 会在主循环内运行),在触摸省电模式下如果还要响应其他中断,用户需在进入触摸省电模式前自行开启其他中断,
|
||
60 如果需要退出省电模式,用户只需要在省电函数循环内加入条件判断,跳出循环即可。
|
||
61
|
||
62 变量TS_SleepEn是控制触摸省电模式的开关,如果希望程序在某些条件下不进入省电模式,只需在此条件下设置TS_Sleep
|
||
-En = 0;
|
||
63
|
||
64
|
||
65 ----------------------------------------------------------------------------------------------------------
|
||
---
|
||
66 5.触摸外挂电容(即TK_CAP引脚连接电容)范围:6nF~50nF,建议值:20nF(即203)
|
||
67 ----------------------------------------------------------------------------------------------------------
|
||
---
|
||
68 6.触摸引脚串联电阻范围:0~5K,建议值:1K欧姆,如果有抗对讲机等电磁干扰要求, 此电阻至少3K以上。
|
||
69 **********************************************************************************************************
|
||
-*********************************/
|
||
70 unsigned long int Read_32bit_UID(void)
|
||
71 {
|
||
72 1 unsigned long int ID;
|
||
73 1 FSCMD = 0x80;
|
||
74 1 PTSH = 0x00;
|
||
75 1 PTSL = 0x00;
|
||
76 1 FSCMD = 0x81;
|
||
77 1 ID = FSDAT;
|
||
78 1 ID *= 256;
|
||
79 1 ID |= FSDAT;
|
||
80 1 ID *= 256;
|
||
81 1 ID |= FSDAT;
|
||
82 1 ID *= 256;
|
||
83 1 ID |= FSDAT;
|
||
84 1 FSCMD = 0;
|
||
85 1 return ID;
|
||
86 1 }
|
||
87 code unsigned char rf_data[255]=
|
||
88 {
|
||
89 0 ,
|
||
90 1 ,
|
||
91 2 ,
|
||
92 3 ,
|
||
93 4 ,
|
||
94 5 ,
|
||
95 6 ,
|
||
96 7 ,
|
||
97 8 ,
|
||
98 9 ,
|
||
99 10 ,
|
||
100 11 ,
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 3
|
||
|
||
101 12 ,
|
||
102 13 ,
|
||
103 16 ,
|
||
104 16 ,
|
||
105 16 ,
|
||
106 17 ,
|
||
107 18 ,
|
||
108 18 ,
|
||
109 19 ,
|
||
110 20 ,
|
||
111 21 ,
|
||
112 22 ,
|
||
113 23 ,
|
||
114 24 ,
|
||
115 25 ,
|
||
116 26 ,
|
||
117 27 ,
|
||
118 28 ,
|
||
119 29 ,
|
||
120 30 ,
|
||
121 31 ,
|
||
122 32 ,
|
||
123 33 ,
|
||
124 34 ,
|
||
125 35 ,
|
||
126 36 ,
|
||
127 37 ,
|
||
128 37 ,
|
||
129 38 ,
|
||
130 39 ,
|
||
131 40 ,
|
||
132 41 ,
|
||
133 42 ,
|
||
134 43 ,
|
||
135 44 ,
|
||
136 45 ,
|
||
137 46 ,
|
||
138 47 ,
|
||
139 48 ,
|
||
140 49 ,
|
||
141 50 ,
|
||
142 51 ,
|
||
143 52 ,
|
||
144 53 ,
|
||
145 54 ,
|
||
146 55 ,
|
||
147 56 ,
|
||
148 56 ,
|
||
149 57 ,
|
||
150 58 ,
|
||
151 59 ,
|
||
152 60 ,
|
||
153 61 ,
|
||
154 62 ,
|
||
155 63 ,
|
||
156 64 ,
|
||
157 65 ,
|
||
158 66 ,
|
||
159 67 ,
|
||
160 68 ,
|
||
161 69 ,
|
||
162 70 ,
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 4
|
||
|
||
163 71 ,
|
||
164 72 ,
|
||
165 73 ,
|
||
166 74 ,
|
||
167 74 ,
|
||
168 75 ,
|
||
169 76 ,
|
||
170 77 ,
|
||
171 78 ,
|
||
172 79 ,
|
||
173 80 ,
|
||
174 81 ,
|
||
175 82 ,
|
||
176 83 ,
|
||
177 84 ,
|
||
178 85 ,
|
||
179 86 ,
|
||
180 87 ,
|
||
181 88 ,
|
||
182 89 ,
|
||
183 90 ,
|
||
184 91 ,
|
||
185 92 ,
|
||
186 93 ,
|
||
187 93 ,
|
||
188 94 ,
|
||
189 95 ,
|
||
190 96 ,
|
||
191 97 ,
|
||
192 98 ,
|
||
193 99 ,
|
||
194 100 ,
|
||
195 101 ,
|
||
196 102 ,
|
||
197 103 ,
|
||
198 104 ,
|
||
199 105 ,
|
||
200 106 ,
|
||
201 107 ,
|
||
202 108 ,
|
||
203 109 ,
|
||
204 110 ,
|
||
205 111 ,
|
||
206 112 ,
|
||
207 112 ,
|
||
208 113 ,
|
||
209 114 ,
|
||
210 115 ,
|
||
211 116 ,
|
||
212 117 ,
|
||
213 118 ,
|
||
214 119 ,
|
||
215 120 ,
|
||
216 121 ,
|
||
217 122 ,
|
||
218 123 ,
|
||
219 124 ,
|
||
220 125 ,
|
||
221 126 ,
|
||
222 127 ,
|
||
223 128 ,
|
||
224 129 ,
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 5
|
||
|
||
225 130 ,
|
||
226 130 ,
|
||
227 131 ,
|
||
228 132 ,
|
||
229 133 ,
|
||
230 134 ,
|
||
231 135 ,
|
||
232 136 ,
|
||
233 137 ,
|
||
234 138 ,
|
||
235 139 ,
|
||
236 140 ,
|
||
237 141 ,
|
||
238 142 ,
|
||
239 143 ,
|
||
240 144 ,
|
||
241 145 ,
|
||
242 146 ,
|
||
243 147 ,
|
||
244 148 ,
|
||
245 149 ,
|
||
246 149 ,
|
||
247 150 ,
|
||
248 151 ,
|
||
249 152 ,
|
||
250 153 ,
|
||
251 154 ,
|
||
252 155 ,
|
||
253 156 ,
|
||
254 157 ,
|
||
255 158 ,
|
||
256 159 ,
|
||
257 160 ,
|
||
258 161 ,
|
||
259 162 ,
|
||
260 163 ,
|
||
261 164 ,
|
||
262 165 ,
|
||
263 166 ,
|
||
264 167 ,
|
||
265 168 ,
|
||
266 168 ,
|
||
267 169 ,
|
||
268 170 ,
|
||
269 171 ,
|
||
270 172 ,
|
||
271 173 ,
|
||
272 174 ,
|
||
273 175 ,
|
||
274 176 ,
|
||
275 177 ,
|
||
276 178 ,
|
||
277 179 ,
|
||
278 180 ,
|
||
279 181 ,
|
||
280 182 ,
|
||
281 183 ,
|
||
282 184 ,
|
||
283 185 ,
|
||
284 186 ,
|
||
285 186 ,
|
||
286 187 ,
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 6
|
||
|
||
287 188 ,
|
||
288 189 ,
|
||
289 190 ,
|
||
290 191 ,
|
||
291 192 ,
|
||
292 193 ,
|
||
293 194 ,
|
||
294 195 ,
|
||
295 196 ,
|
||
296 197 ,
|
||
297 198 ,
|
||
298 199 ,
|
||
299 200 ,
|
||
300 201 ,
|
||
301 202 ,
|
||
302 203 ,
|
||
303 204 ,
|
||
304 205 ,
|
||
305 205 ,
|
||
306 206 ,
|
||
307 207 ,
|
||
308 208 ,
|
||
309 209 ,
|
||
310 210 ,
|
||
311 211 ,
|
||
312 212 ,
|
||
313 213 ,
|
||
314 214 ,
|
||
315 215 ,
|
||
316 216 ,
|
||
317 217 ,
|
||
318 218 ,
|
||
319 219 ,
|
||
320 220 ,
|
||
321 221 ,
|
||
322 222 ,
|
||
323 223 ,
|
||
324 224 ,
|
||
325 224 ,
|
||
326 225 ,
|
||
327 226 ,
|
||
328 227 ,
|
||
329 228 ,
|
||
330 229 ,
|
||
331 230 ,
|
||
332 231 ,
|
||
333 232 ,
|
||
334 233 ,
|
||
335 234 ,
|
||
336 235 ,
|
||
337 236 ,
|
||
338 237 ,
|
||
339 238 ,
|
||
340 239 ,
|
||
341 239,
|
||
342 };
|
||
343
|
||
344
|
||
345 void main(void)
|
||
346 {
|
||
347 1 unsigned long int addr=0;
|
||
348 1 unsigned char send_times = 0;
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 7
|
||
|
||
349 1 #ifdef LVD_RST_ENABLE
|
||
350 1 LVDCON = 0xE3; //设置LVD复位电压为2.0V
|
||
351 1 #endif
|
||
352 1
|
||
353 1 #ifdef UART0_EN
|
||
Uart0_Initial(UART0_BAUTRATE);
|
||
#endif
|
||
356 1
|
||
357 1 //看门狗时钟源为IRCL
|
||
358 1 CKCON |= ILCKE; //使能IRCL
|
||
359 1 WDCON = WDTS(WDTS_IRCL) | WDRE(WDRE_reset); //设置看门狗时钟源为ILCKE,模式为复位模式
|
||
360 1 WDVTHH = 0; //看门狗复位阈值高八位设置 当前值为5s
|
||
361 1 WDVTHL = 75; //看门狗复位阈值低八位设置
|
||
362 1 WDFLG = 0xA5;
|
||
363 1
|
||
364 1 EA = 1;
|
||
365 1
|
||
366 1 TS_init();
|
||
367 1
|
||
368 1 P07F = OUTPUT; //P00设置为推挽输出模式
|
||
369 1 P07=0;
|
||
370 1
|
||
371 1 addr = (unsigned int)Read_32bit_UID(); //获取遥控ID
|
||
372 1 D0 = (unsigned char)(addr >> 8);
|
||
373 1 D1 = (unsigned char)(addr);
|
||
374 1
|
||
375 1
|
||
376 1 Yaokong_Data[0] = D1;
|
||
377 1 Yaokong_Data[1] = D0;
|
||
378 1
|
||
379 1 TMOD = (TMOD&0xFC)|0x00; //模式选择: 定时器0,模式0。
|
||
380 1 TH0 = TH_VAL; //高8位装初值
|
||
381 1 TL0 = TL_VAL; //低8位装初值
|
||
382 1
|
||
383 1 TR0 = 1; //定时器0使能
|
||
384 1 ET0 = 1; //定时器0中断使能
|
||
385 1 PT0 = 0; //设置定时器0中断优先级为低优先级
|
||
386 1 while(1)
|
||
387 1 {
|
||
388 2 TS_Action();
|
||
389 2 if(WheelSliderPosition == -1)
|
||
390 2 {
|
||
391 3 flagStart = 1;
|
||
392 3 }
|
||
393 2 if(WheelSliderPosition != -1&&KeysFlagSN==0)
|
||
394 2 {
|
||
395 3 flagSend = 1;
|
||
396 3 flagStart = 0;
|
||
397 3 send_times = 1;
|
||
398 3 //当WheelSliderPosition不等于-1时, 表示滑条或圆环有触摸事件发生。WheelSliderPosition的值表示滑条或圆环
|
||
-的位置。
|
||
399 3 valueSend=rf_data[ WheelSliderPosition];//0-240
|
||
400 3 valueSend=239-valueSend;
|
||
401 3 valueSend +=16;//15-255//色环出现问题颜色需要校准
|
||
402 3
|
||
403 3 }
|
||
404 2 if(KeysFlagSN != 0)
|
||
405 2 {
|
||
406 3 flagSend = 1;
|
||
407 3 flagStart=0;
|
||
408 3 send_times = 3;
|
||
409 3 switch(KeysFlagSN)
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 8
|
||
|
||
410 3 {
|
||
411 4 case 0x0001://TK4亮度++
|
||
412 4 valueSend = 0x08;
|
||
413 4 break;
|
||
414 4 case 0x0002://TK5//亮度--
|
||
415 4 valueSend = 0X0D;
|
||
416 4 break;
|
||
417 4 case 0x0004://TK7//。功能--
|
||
418 4 valueSend = 0X0E;
|
||
419 4 break;
|
||
420 4 case 0x0008://TK9//off
|
||
421 4 valueSend = 0X04;
|
||
422 4 break;
|
||
423 4 case 0x0010://TK10//。功能++
|
||
424 4 valueSend = 0X06;
|
||
425 4 break;
|
||
426 4 case 0x0020://TK12//on
|
||
427 4 valueSend = 0X02;
|
||
428 4 break;
|
||
429 4 default:
|
||
430 4 flagSend = 0;
|
||
431 4 break;
|
||
432 4 }
|
||
433 3 }
|
||
434 2
|
||
435 2 if(WheelSliderPosition == -1)
|
||
436 2 {
|
||
437 3 flagStart = 1;
|
||
438 3 }
|
||
439 2
|
||
440 2
|
||
441 2 #if GENERATE_TS_KEY_EN
|
||
/*************************************************************************************************
|
||
变量TS_Key是根据KeysFlagSN得到的按键信息,以下为按键产生的过程:
|
||
|---------------------------------------------------------------------------------------------------------
|
||
---------------------------|
|
||
| 单键:以K1为例,K1按键产生的流程如下所示: |
|
||
| |
|
||
| |---> K1|KEY_BREAK(短按松开) |
|
||
| K1(按下)--| |
|
||
| |---> K1|KEY_LONG_START(长按大约1秒)---> K1|KEY_LONG(一直长按,约每300ms产生一次长按键)---->K1|KEY
|
||
-_LONG_BREAK(长按松开) |
|
||
| ^ | |
|
||
| | | |
|
||
| |----------<-----------<------------<--------------| |
|
||
|---------------------------------------------------------------------------------------------------------
|
||
---------------------------|
|
||
|
||
|---------------------------------------------------------------------------------------------------------
|
||
---------------------------------------------------------------|
|
||
| |
|
||
| 复合键:以K1(K1=0x0001),K2(K2=0x0002)为例, 当K1,K2同时按下时,产生按键为(K1<<5)|K2,即0x22, 产生按键的
|
||
-流程如下所示: |
|
||
| |
|
||
| |---> ((K1<<5)|K2)|KEY_BREAK(短按松开) |
|
||
| (K1<<5)|K2(按下)--| |
|
||
| |---> ((K1<<5)|K2)|KEY_LONG_START(长按大约1秒)---> ((K1<<5)|K2)|KEY_LONG(一直长按,约每300ms产�
|
||
-�ぐ醇�)---->((K1<<5)|K2)|KEY_LONG_BREAK(长按松开) |
|
||
| ^ | |
|
||
| | | |
|
||
| |---------<-------------<----------------<----------------|
|
||
- |
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 9
|
||
|
||
|---------------------------------------------------------------------------------------------------------
|
||
---------------------------------------------------------------|
|
||
|
||
注意:由于复合键按下时,软件不一定同时检测到双键,而是先检测到单键按下,例如先检测到K1,此时会先产生K1键,
|
||
-等到检测到K2也按
|
||
下时,才会产生按键(K1<<5)|K2,检测到双键后,如果双键一直按下,会产生((K1<<5)|K2)|KEY_LONG_START和((K1<<5)|
|
||
-K2)|KEY_LONG,如果
|
||
有一个键先松手,会停止产生按键, 等到双键都松开时,才会产生((K1<<5)|K2)|KEY_BREAK(短按松开)或((K1<<5)|K2)|
|
||
-KEY_LONG_BREAK(长按松开)
|
||
*************************************************************************************************/
|
||
if(TS_Key != 0)
|
||
{
|
||
switch(TS_Key)
|
||
{
|
||
//单按键消息
|
||
case K1:
|
||
// valueSend = 0x05; //K1短按产生的按键消息
|
||
break;
|
||
case (K1|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||
break;
|
||
case (K1|KEY_LONG_START): longPressFlag=1;//K1长按开始产生的消息(长按约1秒时产生)
|
||
break;
|
||
case (K1|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||
break;
|
||
case (K1|KEY_LONG_BREAK): longPressFlag=0;//K1长按松手产生的消息
|
||
break;
|
||
//单按键消息
|
||
case K2: //K1短按产生的按键消息
|
||
// valueSend = 0x0c;
|
||
break;
|
||
case (K2|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||
break;
|
||
case (K2|KEY_LONG_START): longPressFlag=1;//K1长按开始产生的消息(长按约1秒时产生)
|
||
break;
|
||
case (K2|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||
break;
|
||
case (K2|KEY_LONG_BREAK):longPressFlag=0; //K1长按松手产生的消息
|
||
break;
|
||
//单按键消息
|
||
case K3: //K1短按产生的按键消息
|
||
// valueSend = 0x0a;
|
||
break;
|
||
case (K3|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||
break;
|
||
case (K3|KEY_LONG_START): longPressFlag=1;//K1长按开始产生的消息(长按约1秒时产生)
|
||
break;
|
||
case (K3|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||
break;
|
||
case (K3|KEY_LONG_BREAK): longPressFlag=0;///K1长按松手产生的消息
|
||
break;
|
||
//单按键消息
|
||
case K4: //K1短按产生的按键消息
|
||
// valueSend = 0x0b;
|
||
break;
|
||
case (K4|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||
flagStart = 1;
|
||
break;
|
||
case (K4|KEY_LONG_START):longPressFlag=1; //K1长按开始产生的消息(长按约1秒时产生)
|
||
valueSend = 0x0b;
|
||
flagStart = 1;
|
||
break;
|
||
case (K4|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 10
|
||
|
||
valueSend = 0x0b;
|
||
flagStart = 1;
|
||
break;
|
||
case (K4|KEY_LONG_BREAK):longPressFlag=0;//K1长按松手产生的消息
|
||
break;
|
||
//单按键消息
|
||
case K5: //K1短按产生的按键消息
|
||
// valueSend = 0x09;
|
||
break;
|
||
case (K5|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||
break;
|
||
case (K5|KEY_LONG_START):longPressFlag=1; //K1长按开始产生的消息(长按约1秒时产生)
|
||
break;
|
||
case (K5|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||
break;
|
||
case (K5|KEY_LONG_BREAK):longPressFlag=0; //K1长按松手产生的消息
|
||
break;
|
||
//单按键消息
|
||
case K6: //K1短按产生的按键消息
|
||
// valueSend = 0x07;
|
||
break;
|
||
case (K6|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||
break;
|
||
case (K6|KEY_LONG_START): longPressFlag=1;//K1长按开始产生的消息(长按约1秒时产生)
|
||
break;
|
||
case (K6|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||
break;
|
||
case (K6|KEY_LONG_BREAK):longPressFlag=0; //K1长按松手产生的消息
|
||
break;
|
||
//单按键消息
|
||
#if GENERATE_DOUBLE_KEY_EN
|
||
//复合键消息
|
||
// case (K1<<5)|K2: //K1和K2同时按下时产生的按键消息
|
||
// break;
|
||
// case ((K1<<5)|K2)|KEY_BREAK: //K1和K2短按松手产生的按键消息
|
||
// break;
|
||
// case ((K1<<5)|K2)|KEY_LONG_START: //K1和K2长按开始产生的按键消息(长按约1秒时产生)
|
||
// break;
|
||
// case ((K1<<5)|K2)|KEY_LONG: //K1和K2长按产生的消息(每隔约300ms产生一次)
|
||
// break;
|
||
// case ((K1<<5)|K2)|KEY_LONG_BREAK: //K1和K2长按松手产生的消息
|
||
// break;
|
||
#endif
|
||
}
|
||
}
|
||
#endif
|
||
569 2
|
||
570 2
|
||
571 2
|
||
572 2
|
||
573 2 if(flagSend==1)//短按
|
||
574 2 {
|
||
575 3 EA=0;RF_Time=0;
|
||
576 3 flagSend = 0;
|
||
577 3 RF_Time=0;
|
||
578 3 TR0 = 1; //定时器0使能
|
||
579 3 EA=0;
|
||
580 3 Yaokong_Data[2] = valueSend;
|
||
581 3 EA=1;
|
||
582 3 }
|
||
583 2
|
||
584 2 }
|
||
C51 COMPILER V9.60.0.0 MAIN 03/28/2026 16:50:45 PAGE 11
|
||
|
||
585 1 }
|
||
586 #endif
|
||
|
||
|
||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
CODE SIZE = 454 ----
|
||
CONSTANT SIZE = 255 ----
|
||
XDATA SIZE = ---- ----
|
||
PDATA SIZE = ---- ----
|
||
DATA SIZE = 3 9
|
||
IDATA SIZE = ---- ----
|
||
BIT SIZE = ---- ----
|
||
EDATA SIZE = ---- ----
|
||
HDATA SIZE = ---- ----
|
||
XDATA CONST SIZE = ---- ----
|
||
FAR CONST SIZE = ---- ----
|
||
END OF MODULE INFORMATION.
|
||
|
||
|
||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|