📄 main.lst
字号:
249 3 case 3:
250 3 Write_DispBuf(0,0x05,0x0d,0,0); //进入自动发送功能
251 3 FlightLed3=1; //led3闪烁
252 3 FlightLed4=0;ClearLed4=0;
253 3 break;
254 3 default:
255 3 AutoSendFlag=0;
256 3 break;
257 3 }
258 2 }
259 1 else
260 1 {
261 2 FunckeyFlag=1;
262 2 BCAN_ENTER_RETMODEL();
263 2 i = ReadSjaReg(REG_ACR);
264 2 Write_DispBuf(0,0x0a,0x01,i>>4,i&0x0f); //a1功能
265 2 BCAN_QUIT_RETMODEL();
266 2 FlightLed3=1; //led3闪烁
267 2 FlightLed4=0;ClearLed4=0;
268 2 }
269 1 }
270
271 //检索键处理
272 static uchar data SearchCount; //检索计数器
273 void SearchKey(void) //检索键
274 {
275 1 uchar i;
276 1 if(FunckeyFlag)
277 1 {
278 2 switch(DispBuf[1])
279 2 {
280 3 case 0x0a:
281 3 SearchCount=DispBuf[2]; //检索a功能项
282 3 if(++SearchCount>3)SearchCount=1;
283 3 DispBuf[2]=SearchCount;
284 3 switch(SearchCount)
285 3 {
286 4 case 1:
287 4 BCAN_ENTER_RETMODEL();
288 4 i = ReadSjaReg(REG_ACR);
289 4 Write_DispBuf(0,0x0a,0x01,i>>4,i&0x0f); //a1功能
290 4 BCAN_QUIT_RETMODEL();
291 4 break;
292 4 case 2:
293 4 BCAN_ENTER_RETMODEL();
294 4 i = ReadSjaReg(REG_AMR);
295 4 Write_DispBuf(0,0x0a,0x02,i>>4,i&0x0f); //a2功能
296 4 BCAN_QUIT_RETMODEL();
297 4 break;
298 4 case 3:
299 4 i = ValueToBandRate();
300 4 Write_DispBuf(0,0x0a,0x03,i>>4,i&0x0f); //a3功能
301 4 break;
302 4 default:
303 4 SearchCount =1;
C51 COMPILER V7.01 MAIN 01/24/2003 11:54:43 PAGE 6
304 4 break;
305 4 }
306 3 break;
307 3 case 0x0b: //检索b功能项
308 3 if((ReadSjaReg(REG_CONTROL)&0x01)==0)
309 3 {
310 4 SearchCount=DispBuf[2];
311 4 if(++SearchCount>10)SearchCount=1;
312 4 DispBuf[2]=SearchCount;
313 4 switch(SearchCount)
314 4 {
315 5 case 1:
316 5 i = ReadSjaReg(REG_TxBuffer1);
317 5 break;
318 5 case 2:
319 5 i = ReadSjaReg(REG_TxBuffer2);
320 5 break;
321 5 case 3:
322 5 i = ReadSjaReg(REG_TxBuffer3);
323 5 break;
324 5 case 4:
325 5 i = ReadSjaReg(REG_TxBuffer4);
326 5 break;
327 5 case 5:
328 5 i = ReadSjaReg(REG_TxBuffer5);
329 5 break;
330 5 case 6:
331 5 i = ReadSjaReg(REG_TxBuffer6);
332 5 break;
333 5 case 7:
334 5 i = ReadSjaReg(REG_TxBuffer7);
335 5 break;
336 5 case 8:
337 5 i = ReadSjaReg(REG_TxBuffer8);
338 5 break;
339 5 case 9:
340 5 i = ReadSjaReg(REG_TxBuffer9);
341 5 break;
342 5 case 10:
343 5 i = ReadSjaReg(REG_TxBuffer10);
344 5 break;
345 5 default:
346 5 i=0;
347 5 break;
348 5 }
349 4 Write_DispBuf(0,0x0b,SearchCount,i>>4,i&0x0f); //b功能
350 4
351 4 }
352 3 break;
353 3 case 0x0c:
354 3
355 3 default:
356 3 break;
357 3 }
358 2 }//if结束
359 1 }
360
361
362 //移位键处理
363
364 void MoveKey(void) //移位键
365 {
C51 COMPILER V7.01 MAIN 01/24/2003 11:54:43 PAGE 7
366 1 if(FunckeyFlag)
367 1 {
368 2 MoveFlag=~ MoveFlag; //移位
369 2 if(MoveFlag)
370 2 {FlightLed3=0;ClearLed3=0;
371 3 FlightLed4=1;
372 3 }
373 2 else
374 2 {
375 3 FlightLed3=1;
376 3 FlightLed4=0;ClearLed4=0;
377 3 }
378 2 }
379 1 }
380
381 //增加键处理
382 void IncKey(void) //增加键
383 {
384 1 if(FunckeyFlag)
385 1 {
386 2 if(MoveFlag)
387 2 {
388 3 if(++DispBuf[4]>0x0f)DispBuf[4]=0;
389 3 }
390 2 else
391 2 if(++DispBuf[3]>0x0f)DispBuf[3]=0;
392 2 }
393 1 }
394
395 //退出键处理
396 void QuitKey(void) //退出键
397 {
398 1 if(FunckeyFlag)
399 1 {
400 2 FunckeyFlag=0;
401 2 Disp_Can(); //上电显示CAN1
402 2 AutoSendFlag=0;
403 2 DispFlag=0x00;
404 2 AutoSendFlag=0;
405 2 }
406 1 }
407
408 //确认键处理
409 void EnterKey(void) //确认键
410 {
411 1 uchar Tempdata,i;
412 1 if(FunckeyFlag)
413 1 {
414 2 Tempdata=GetLedData();
415 2 if(DispBuf[1]==0x0a)
416 2 {
417 3 switch(DispBuf[2])
418 3 {
419 4 case 0x01:
420 4 BCAN_ENTER_RETMODEL();
421 4 WriteSjaReg(REG_ACR,Tempdata); //a1功能
422 4 i= ReadSjaReg(REG_AMR);
423 4 BCAN_QUIT_RETMODEL();
424 4 Write_DispBuf(0,0x0a,0x02,i>>4,i&0x0f); //a2功能
425 4 MoveFlag=0;
426 4 FlightLed3=1;
427 4 FlightLed4=0;ClearLed4=0;
C51 COMPILER V7.01 MAIN 01/24/2003 11:54:43 PAGE 8
428 4 break;
429 4 case 0x02:
430 4 BCAN_ENTER_RETMODEL();
431 4 WriteSjaReg(REG_AMR,Tempdata); //a2功能
432 4 i = ValueToBandRate();
433 4 BCAN_QUIT_RETMODEL();
434 4 Write_DispBuf(0,0x0a,0x03,i>>4,i&0x0f); //a3功能
435 4
436 4 MoveFlag=0;
437 4 FlightLed3=1;
438 4 FlightLed4=0;ClearLed4=0;
439 4 break;
440 4 case 0x03:
441 4 BCAN_ENTER_RETMODEL();
442 4 BCAN_SET_BANDRATE(Tempdata);
443 4 i= ReadSjaReg(REG_ACR);
444 4 BCAN_QUIT_RETMODEL();
445 4 Write_DispBuf(0,0x0a,1,i>>4,i&0x0f);
446 4 MoveFlag=0;
447 4 FlightLed3=1;
448 4 FlightLed4=0;ClearLed4=0;
449 4 break;
450 4 default:
451 4 MoveFlag=0;
452 4 FlightLed3=1;
453 4 FlightLed4=0;ClearLed4=0;
454 4 Write_DispBuf(0,0x0a,1,i>>4,i&0x0f);
455 4 break;
456 4 }
457 3 }
458 2 if(DispBuf[1]==0x0b)
459 2 {
460 3 if((ReadSjaReg(REG_CONTROL)&0x01)==0)
461 3 {
462 4 if(0<DispBuf[2])
463 4 {
464 5 WriteSjaReg(REG_TxBuffer1+DispBuf[2]-1,Tempdata);
465 5 if(DispBuf[2]==0x0a)
466 5 {
467 6 i=ReadSjaReg(REG_TxBuffer1);
468 6 Write_DispBuf(0,0x0b,1,i>>4,i&0x0f);
469 6 MoveFlag=0;
470 6 FlightLed3=1;
471 6 FlightLed4=0;ClearLed4=0;
472 6 }
473 5 else EnterNext();
474 5 }
475 4
476 4 }
477 3 }
478 2 if(DispBuf[1]==0x0c)
479 2 {
480 3 switch(DispBuf[2])
481 3 {
482 4 case 1:
483 4 EditMsSendCount =Tempdata;
484 4 EditMsSendSave =Tempdata;
485 4 DispBuf[1]=0x05;
486 4 DispBuf[2]=0x0d;
487 4 FunckeyCount++;
488 4 ClearDispAttr();
489 4 MoveFlag=0;
C51 COMPILER V7.01 MAIN 01/24/2003 11:54:43 PAGE 9
490 4 break;
491 4 default:
492 4 break;
493 4 }
494 3 }
495 2 if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d)) //设定
496 2 {
497 3 SendFrq =Tempdata;
498 3 AutoSendFlag =1;
499 3 DispBuf[3]=0;
500 3 DispBuf[4]=0;
501 3 MoveFlag=0;
502 3 FlightLed3=1;
503 3 FlightLed4=0;ClearLed4=0;
504 3 }
505 2 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -