V1.0
This commit is contained in:
+144
-566
@@ -1,10 +1,10 @@
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 1
|
||||
C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN
|
||||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE MAIN
|
||||
OBJECT MODULE PLACED IN .\hex\main.obj
|
||||
COMPILER INVOKED BY: D:\Program Files\Keil_v5\C51\BIN\C51.EXE main.c OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG PRINT(.\lst\main
|
||||
-.lst) TABS(2) OBJECT(.\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
|
||||
|
||||
@@ -25,14 +25,16 @@ line level source
|
||||
14 /*********************************************************************************************************
|
||||
-************/
|
||||
15 #include "TS_Lib\Includes\ts_configuration.h"
|
||||
*** WARNING C329 IN LINE 117 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 118 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 119 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 120 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 121 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 122 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 123 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 124 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 125 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 126 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 127 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 143 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
*** WARNING C329 IN LINE 144 OF TS_Lib\Includes\ts_configuration.h: single-line comment contains line-continuation
|
||||
16 #include "TS_Lib\Includes\ts_def.h"
|
||||
17 #include "TS_Lib\Includes\ts_api.h"
|
||||
18 #include "TS_Lib\Includes\ts_service.h"
|
||||
@@ -55,15 +57,15 @@ line level source
|
||||
35
|
||||
36 void Delay_ms(unsigned int n);
|
||||
37
|
||||
38 void TIMER0_ISR (void) interrupt 1 //每100us产生中断
|
||||
39 {
|
||||
40 1 TH0 = TH_VAL;
|
||||
41 1 TL0 = TL_VAL;
|
||||
42 1
|
||||
43 1 Send433_Byte();
|
||||
44 1 }
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 2
|
||||
38 //void TIMER0_ISR (void) interrupt 1 //每100us产生中断
|
||||
39 //{
|
||||
40 // TH0 = TH_VAL;
|
||||
41 // TL0 = TL_VAL;
|
||||
42
|
||||
C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 2
|
||||
|
||||
43 // Send433_Byte();
|
||||
44 //}
|
||||
45 /*********************************************************************************************************
|
||||
-************/
|
||||
46 /*********************************************************************************************************
|
||||
@@ -121,565 +123,141 @@ line level source
|
||||
85 1 }
|
||||
86 code unsigned char rf_data[255]=
|
||||
87 {
|
||||
88 0 ,
|
||||
89 1 ,
|
||||
90 2 ,
|
||||
91 3 ,
|
||||
92 4 ,
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 3
|
||||
88 16, 17, 18, 19, 20,21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
||||
89 36, 37, 38, 39, 40,40,
|
||||
90 41,41, 42, 43, 44,44, 45, 46, 47,47, 48, 49, 50,50, 51, 52, 53,53, 54, 55,55, 56, 57, 58,58, 59, 60,
|
||||
C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 3
|
||||
|
||||
93 5 ,
|
||||
94 6 ,
|
||||
95 7 ,
|
||||
96 8 ,
|
||||
97 9 ,
|
||||
98 10 ,
|
||||
99 11 ,
|
||||
100 12 ,
|
||||
101 13 ,
|
||||
102 14 ,
|
||||
103 15 ,
|
||||
104 16 ,
|
||||
105 17 ,
|
||||
106 18 ,
|
||||
107 18 ,
|
||||
108 19 ,
|
||||
109 20 ,
|
||||
110 21 ,
|
||||
111 22 ,
|
||||
112 23 ,
|
||||
113 24 ,
|
||||
114 25 ,
|
||||
115 26 ,
|
||||
116 27 ,
|
||||
117 28 ,
|
||||
118 29 ,
|
||||
119 30 ,
|
||||
120 31 ,
|
||||
121 32 ,
|
||||
122 33 ,
|
||||
123 34 ,
|
||||
124 35 ,
|
||||
125 36 ,
|
||||
126 37 ,
|
||||
127 37 ,
|
||||
128 38 ,
|
||||
129 39 ,
|
||||
130 40 ,
|
||||
131 41 ,
|
||||
132 42 ,
|
||||
133 43 ,
|
||||
134 44 ,
|
||||
135 45 ,
|
||||
136 46 ,
|
||||
137 47 ,
|
||||
138 48 ,
|
||||
139 49 ,
|
||||
140 50 ,
|
||||
141 51 ,
|
||||
142 52 ,
|
||||
143 53 ,
|
||||
144 54 ,
|
||||
145 55 ,
|
||||
146 56 ,
|
||||
147 56 ,
|
||||
148 57 ,
|
||||
149 58 ,
|
||||
150 59 ,
|
||||
151 60 ,
|
||||
152 61 ,
|
||||
153 62 ,
|
||||
154 63 ,
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 4
|
||||
|
||||
155 64 ,
|
||||
156 65 ,
|
||||
157 66 ,
|
||||
158 67 ,
|
||||
159 68 ,
|
||||
160 69 ,
|
||||
161 70 ,
|
||||
162 71 ,
|
||||
163 72 ,
|
||||
164 73 ,
|
||||
165 74 ,
|
||||
166 74 ,
|
||||
167 75 ,
|
||||
168 76 ,
|
||||
169 77 ,
|
||||
170 78 ,
|
||||
171 79 ,
|
||||
172 80 ,
|
||||
173 81 ,
|
||||
174 82 ,
|
||||
175 83 ,
|
||||
176 84 ,
|
||||
177 85 ,
|
||||
178 86 ,
|
||||
179 87 ,
|
||||
180 88 ,
|
||||
181 89 ,
|
||||
182 90 ,
|
||||
183 91 ,
|
||||
184 92 ,
|
||||
185 93 ,
|
||||
186 93 ,
|
||||
187 94 ,
|
||||
188 95 ,
|
||||
189 96 ,
|
||||
190 97 ,
|
||||
191 98 ,
|
||||
192 99 ,
|
||||
193 100 ,
|
||||
194 101 ,
|
||||
195 102 ,
|
||||
196 103 ,
|
||||
197 104 ,
|
||||
198 105 ,
|
||||
199 106 ,
|
||||
200 107 ,
|
||||
201 108 ,
|
||||
202 109 ,
|
||||
203 110 ,
|
||||
204 111 ,
|
||||
205 112 ,
|
||||
206 112 ,
|
||||
207 113 ,
|
||||
208 114 ,
|
||||
209 115 ,
|
||||
210 116 ,
|
||||
211 117 ,
|
||||
212 118 ,
|
||||
213 119 ,
|
||||
214 120 ,
|
||||
215 121 ,
|
||||
216 122 ,
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 5
|
||||
|
||||
217 123 ,
|
||||
218 124 ,
|
||||
219 125 ,
|
||||
220 126 ,
|
||||
221 127 ,
|
||||
222 128 ,
|
||||
223 129 ,
|
||||
224 130 ,
|
||||
225 130 ,
|
||||
226 131 ,
|
||||
227 132 ,
|
||||
228 133 ,
|
||||
229 134 ,
|
||||
230 135 ,
|
||||
231 136 ,
|
||||
232 137 ,
|
||||
233 138 ,
|
||||
234 139 ,
|
||||
235 140 ,
|
||||
236 141 ,
|
||||
237 142 ,
|
||||
238 143 ,
|
||||
239 144 ,
|
||||
240 145 ,
|
||||
241 146 ,
|
||||
242 147 ,
|
||||
243 148 ,
|
||||
244 149 ,
|
||||
245 149 ,
|
||||
246 150 ,
|
||||
247 151 ,
|
||||
248 152 ,
|
||||
249 153 ,
|
||||
250 154 ,
|
||||
251 155 ,
|
||||
252 156 ,
|
||||
253 157 ,
|
||||
254 158 ,
|
||||
255 159 ,
|
||||
256 160 ,
|
||||
257 161 ,
|
||||
258 162 ,
|
||||
259 163 ,
|
||||
260 164 ,
|
||||
261 165 ,
|
||||
262 166 ,
|
||||
263 167 ,
|
||||
264 168 ,
|
||||
265 168 ,
|
||||
266 169 ,
|
||||
267 170 ,
|
||||
268 171 ,
|
||||
269 172 ,
|
||||
270 173 ,
|
||||
271 174 ,
|
||||
272 175 ,
|
||||
273 176 ,
|
||||
274 177 ,
|
||||
275 178 ,
|
||||
276 179 ,
|
||||
277 180 ,
|
||||
278 181 ,
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 6
|
||||
|
||||
279 182 ,
|
||||
280 183 ,
|
||||
281 184 ,
|
||||
282 185 ,
|
||||
283 186 ,
|
||||
284 186 ,
|
||||
285 187 ,
|
||||
286 188 ,
|
||||
287 189 ,
|
||||
288 190 ,
|
||||
289 191 ,
|
||||
290 192 ,
|
||||
291 193 ,
|
||||
292 194 ,
|
||||
293 195 ,
|
||||
294 196 ,
|
||||
295 197 ,
|
||||
296 198 ,
|
||||
297 199 ,
|
||||
298 200 ,
|
||||
299 201 ,
|
||||
300 202 ,
|
||||
301 203 ,
|
||||
302 204 ,
|
||||
303 205 ,
|
||||
304 205 ,
|
||||
305 206 ,
|
||||
306 207 ,
|
||||
307 208 ,
|
||||
308 209 ,
|
||||
309 210 ,
|
||||
310 211 ,
|
||||
311 212 ,
|
||||
312 213 ,
|
||||
313 214 ,
|
||||
314 215 ,
|
||||
315 216 ,
|
||||
316 217 ,
|
||||
317 218 ,
|
||||
318 219 ,
|
||||
319 220 ,
|
||||
320 221 ,
|
||||
321 222 ,
|
||||
322 223 ,
|
||||
323 224 ,
|
||||
324 224 ,
|
||||
325 225 ,
|
||||
326 226 ,
|
||||
327 227 ,
|
||||
328 228 ,
|
||||
329 229 ,
|
||||
330 230 ,
|
||||
331 231 ,
|
||||
332 232 ,
|
||||
333 233 ,
|
||||
334 234 ,
|
||||
335 235 ,
|
||||
336 236 ,
|
||||
337 237 ,
|
||||
338 238 ,
|
||||
339 239 ,
|
||||
340 239,
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 7
|
||||
|
||||
341 240,
|
||||
342 240,
|
||||
343 };
|
||||
344 void main(void)
|
||||
345 {
|
||||
346 1 unsigned long int addr=0;
|
||||
347 1 unsigned char send_times = 0;
|
||||
348 1 #ifdef LVD_RST_ENABLE
|
||||
349 1 LVDCON = 0xE3; //设置LVD复位电压为2.0V
|
||||
350 1 #endif
|
||||
351 1
|
||||
352 1 #ifdef UART0_EN
|
||||
91 61, 62,62, 63, 64,64, 65, 66, 67,67, 68, 69, 70,70, 71, 72, 73, 74,74, 75, 76,76, 77, 78,78, 79, 80,
|
||||
92 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
|
||||
93 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
|
||||
94 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
|
||||
95 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
|
||||
96 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
|
||||
97 181, 182, 183, 184, 185, 186 , 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
|
||||
98 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
|
||||
99 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
|
||||
100 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255
|
||||
101 };
|
||||
102 void main(void)
|
||||
103 {
|
||||
104 1 unsigned long int addr=0;
|
||||
105 1 unsigned char send_times = 0;
|
||||
106 1 #ifdef LVD_RST_ENABLE
|
||||
107 1 LVDCON = 0xE3; //设置LVD复位电压为2.0V
|
||||
108 1 #endif
|
||||
109 1
|
||||
110 1 #ifdef UART0_EN
|
||||
Uart0_Initial(UART0_BAUTRATE);
|
||||
#endif
|
||||
355 1
|
||||
356 1 //看门狗时钟源为IRCL
|
||||
357 1 CKCON |= ILCKE; //使能IRCL
|
||||
358 1 WDCON = WDTS(WDTS_IRCL) | WDRE(WDRE_reset); //设置看门狗时钟源为ILCKE,模式为复位模式
|
||||
359 1 WDVTHH = 0; //看门狗复位阈值高八位设置 当前值为5s
|
||||
360 1 WDVTHL = 75; //看门狗复位阈值低八位设置
|
||||
361 1 WDFLG = 0xA5;
|
||||
362 1
|
||||
363 1 EA = 1;
|
||||
364 1
|
||||
365 1 TS_init();
|
||||
366 1
|
||||
367 1 P32F = OUTPUT; //P00设置为推挽输出模式
|
||||
368 1 P32=0;
|
||||
369 1
|
||||
370 1 addr = (unsigned int)Read_32bit_UID(); //获取遥控ID
|
||||
371 1 D0 = (unsigned char)(addr >> 8);
|
||||
372 1 D1 = (unsigned char)(addr);
|
||||
373 1
|
||||
374 1 Yaokong_Data[0] = D1;
|
||||
375 1 Yaokong_Data[1] = D0;
|
||||
376 1
|
||||
377 1 TMOD = (TMOD&0xFC)|0x00; //模式选择: 定时器0,模式0。
|
||||
378 1 TH0 = TH_VAL; //高8位装初值
|
||||
379 1 TL0 = TL_VAL; //低8位装初值
|
||||
380 1
|
||||
381 1 TR0 = 0; //定时器0使能
|
||||
382 1 ET0 = 1; //定时器0中断使能
|
||||
383 1 PT0 = 0; //设置定时器0中断优先级为低优先级
|
||||
384 1
|
||||
385 1 while(1)
|
||||
386 1 {
|
||||
387 2 TS_Action();
|
||||
388 2 if(WheelSliderPosition != -1)
|
||||
389 2 {
|
||||
390 3 flagSend = 1;
|
||||
391 3 flagStart = 0;
|
||||
392 3 //当WheelSliderPosition不等于-1时, 表示滑条或圆环有触摸事件发生。WheelSliderPosition的值表示滑条或圆环
|
||||
113 1
|
||||
114 1 //看门狗时钟源为IRCL
|
||||
115 1 CKCON |= ILCKE; //使能IRCL
|
||||
116 1 WDCON = WDTS(WDTS_IRCL) | WDRE(WDRE_reset); //设置看门狗时钟源为ILCKE,模式为复位模式
|
||||
117 1 WDVTHH = 0; //看门狗复位阈值高八位设置 当前值为5s
|
||||
118 1 WDVTHL = 75; //看门狗复位阈值低八位设置
|
||||
119 1 WDFLG = 0xA5;
|
||||
120 1
|
||||
121 1 EA = 1;
|
||||
122 1
|
||||
123 1 TS_init();
|
||||
124 1
|
||||
125 1 P32F = OUTPUT; //P00设置为推挽输出模式
|
||||
126 1 P32=0;
|
||||
127 1
|
||||
128 1 addr = (unsigned int)Read_32bit_UID(); //获取遥控ID
|
||||
129 1 D0 = (unsigned char)(addr >> 8);
|
||||
130 1 D1 = (unsigned char)(addr);
|
||||
131 1
|
||||
132 1 Yaokong_Data[0] = D1;
|
||||
133 1 Yaokong_Data[1] = D0;
|
||||
134 1
|
||||
135 1 // TMOD = (TMOD&0xFC)|0x00; //模式选择: 定时器0,模式0。
|
||||
136 1 // TH0 = TH_VAL; //高8位装初值
|
||||
137 1 // TL0 = TL_VAL; //低8位装初值
|
||||
138 1 //
|
||||
139 1 // TR0 = 0; //定时器0使能
|
||||
140 1 // ET0 = 1; //定时器0中断使能
|
||||
141 1 // PT0 = 0; //设置定时器0中断优先级为低优先级
|
||||
142 1
|
||||
143 1 while(1)
|
||||
144 1 {
|
||||
145 2 TS_Action();
|
||||
146 2 if(WheelSliderPosition != -1)
|
||||
147 2 {
|
||||
148 3 send_times = 3;
|
||||
149 3 //当WheelSliderPosition不等于-1时, 表示滑条或圆环有触摸事件发生。WheelSliderPosition的值表示滑条或圆环
|
||||
-的位置。
|
||||
393 3 send_times = 1;
|
||||
394 3 valueSend=rf_data[ WheelSliderPosition];//0-240
|
||||
395 3 valueSend += 15;//15-255
|
||||
396 3 }
|
||||
397 2
|
||||
398 2 if(KeysFlagSN != 0)
|
||||
399 2 {
|
||||
400 3 flagSend = 1;
|
||||
401 3 flagStart = 0;
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 8
|
||||
150 3 valueSend=rf_data[ WheelSliderPosition];//0-240
|
||||
151 3 //valueSend += 15;//15-255
|
||||
C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 4
|
||||
|
||||
402 3 switch(KeysFlagSN)
|
||||
403 3 {
|
||||
404 4 case 0x0001:
|
||||
405 4 valueSend = 0x05;
|
||||
406 4 break;
|
||||
407 4 case 0x0002:
|
||||
408 4 valueSend = 0x0c;
|
||||
409 4 break;
|
||||
410 4 case 0x0004:
|
||||
411 4 valueSend = 0x0a;
|
||||
412 4 break;
|
||||
413 4 case 0x0008:
|
||||
414 4 valueSend = 0x0b;
|
||||
415 4 break;
|
||||
416 4 case 0x0010:
|
||||
417 4 valueSend = 0x09;
|
||||
418 4 break;
|
||||
419 4 case 0x0020:
|
||||
420 4 valueSend = 0x07;
|
||||
421 4 break;
|
||||
422 4 case 0x0040:
|
||||
423 4 valueSend = 0x03;
|
||||
424 4 break;
|
||||
425 4 case 0x0080:
|
||||
426 4 valueSend = 0x01;
|
||||
427 4 break;
|
||||
428 4 default:
|
||||
429 4 flagSend = 0;
|
||||
430 4 break;
|
||||
431 4 }
|
||||
432 3 }
|
||||
433 2
|
||||
434 2 if(WheelSliderPosition == -1&&KeysFlagSN == 0)
|
||||
435 2 {
|
||||
436 3 flagStart = 1;
|
||||
437 3 }
|
||||
438 2
|
||||
439 2
|
||||
440 2
|
||||
441 2
|
||||
442 2
|
||||
443 2
|
||||
444 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(长按松开) |
|
||||
| ^ | |
|
||||
| | | |
|
||||
| |----------<-----------<------------<--------------| |
|
||||
|---------------------------------------------------------------------------------------------------------
|
||||
---------------------------|
|
||||
|
||||
|---------------------------------------------------------------------------------------------------------
|
||||
---------------------------------------------------------------|
|
||||
| |
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 9
|
||||
152 3 }
|
||||
153 2
|
||||
154 2 if(KeysFlagSN != 0)
|
||||
155 2 {
|
||||
156 3 send_times = 3;
|
||||
157 3 switch(KeysFlagSN)
|
||||
158 3 {
|
||||
159 4 case 0x0001:
|
||||
160 4 valueSend = 0x0A;//1
|
||||
161 4 break;
|
||||
162 4 case 0x0002:
|
||||
163 4 valueSend = 0x0C;//
|
||||
164 4 break;
|
||||
165 4 case 0x0004:
|
||||
166 4 // valueSend = 0x07;//1
|
||||
167 4 valueSend = 0x0E;//1
|
||||
168 4 break;
|
||||
169 4 case 0x0008:
|
||||
170 4 //valueSend = 0x09;//
|
||||
171 4 valueSend = 0x06;//
|
||||
172 4 break;
|
||||
173 4 case 0x0010:
|
||||
174 4 valueSend = 0x02;//1
|
||||
175 4 break;
|
||||
176 4 case 0x0020:
|
||||
177 4 valueSend = 0x04;//1
|
||||
178 4 break;
|
||||
179 4 case 0x0040:
|
||||
180 4 valueSend = 0x00; // 1
|
||||
181 4 break;
|
||||
182 4 case 0x0080:
|
||||
183 4 valueSend = 0x0F; // 1
|
||||
184 4 break;
|
||||
185 4 default:
|
||||
186 4 flagSend = 0;
|
||||
187 4 break;
|
||||
188 4 }
|
||||
189 3 }
|
||||
190 2
|
||||
191 2
|
||||
192 2 if(KeysFlagSN==0&&WheelSliderPosition==-1){
|
||||
193 3 flagSend=0;
|
||||
194 3 }else{
|
||||
195 3 flagSend = 1;
|
||||
196 3 }
|
||||
197 2 if(flagSend&&RF_Time>20)
|
||||
198 2 {
|
||||
199 3 RF_Time = 0;
|
||||
200 3 flagSend = 0;
|
||||
201 3 RF_Time=0;
|
||||
202 3 EA = 0;
|
||||
203 3 RF_send(send_times);
|
||||
204 3 EA = 1;
|
||||
205 3 }
|
||||
206 2
|
||||
207 2
|
||||
208 2
|
||||
209 2 }
|
||||
210 1 }
|
||||
211 #endif
|
||||
|
||||
| 复合键:以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(长按松开) |
|
||||
| ^ | |
|
||||
| | | |
|
||||
| |---------<-------------<----------------<----------------|
|
||||
- |
|
||||
|---------------------------------------------------------------------------------------------------------
|
||||
---------------------------------------------------------------|
|
||||
|
||||
注意:由于复合键按下时,软件不一定同时检测到双键,而是先检测到单键按下,例如先检测到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;
|
||||
//单按键消息
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 10
|
||||
|
||||
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产生一次)
|
||||
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;
|
||||
//单按键消息
|
||||
case K7: //K1短按产生的按键消息
|
||||
// valueSend = 0x03;
|
||||
break;
|
||||
case (K7|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||||
break;
|
||||
case (K7|KEY_LONG_START):longPressFlag=1; //K1长按开始产生的消息(长按约1秒时产生)
|
||||
break;
|
||||
case (K7|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||||
break;
|
||||
case (K7|KEY_LONG_BREAK): longPressFlag=0;//K1长按松手产生的消息
|
||||
break;
|
||||
//单按键消息
|
||||
case K8: //K1短按产生的按键消息
|
||||
// valueSend = 0x01;
|
||||
break;
|
||||
case (K8|KEY_BREAK): flagNoPress = 1; //K1短按松手产生的按键消息
|
||||
break;
|
||||
case (K8|KEY_LONG_START): longPressFlag=1;//K1长按开始产生的消息(长按约1秒时产生)
|
||||
break;
|
||||
case (K8|KEY_LONG): //K1长按产生的消息(每隔约300ms产生一次)
|
||||
break;
|
||||
C51 COMPILER V9.60.7.0 MAIN 07/03/2025 11:27:46 PAGE 11
|
||||
|
||||
case (K8|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
|
||||
595 2
|
||||
596 2
|
||||
597 2
|
||||
598 2
|
||||
599 2
|
||||
600 2 if(flagSend==1)//短按
|
||||
601 2 {
|
||||
602 3 flagSend = 0;
|
||||
603 3 // flagStart = 1;
|
||||
604 3 //
|
||||
605 3 // RF_send(send_times);
|
||||
606 3 TR0 = 1; //定时器0使能
|
||||
607 3 Yaokong_Data[2] = valueSend;
|
||||
608 3 }
|
||||
609 2
|
||||
610 2 }
|
||||
611 1 }
|
||||
612 #endif
|
||||
|
||||
C51 COMPILER V9.60.0.0 MAIN 05/05/2026 17:41:49 PAGE 5
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 436 ----
|
||||
CODE SIZE = 364 ----
|
||||
CONSTANT SIZE = 255 ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
@@ -693,4 +271,4 @@ MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 8 WARNING(S), 0 ERROR(S)
|
||||
C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S)
|
||||
|
||||
Reference in New Issue
Block a user