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