📄 rs_main.lst
字号:
370 1 TimeSlot --;
371 1
372 1 CH_Mirror = 0x55;
373 1
374 1 if( POWER_FLAG ) /*电源标志,ON*/
375 1 {
376 2 if( CH_Vol[0] == TimeSlot )
377 2 CH_Mirror &= 0xFE;
378 2 if( CH_Vol[1] == TimeSlot )
379 2 CH_Mirror &= 0xFB;
380 2 if( CH_Vol[2] == TimeSlot )
381 2 CH_Mirror &= 0xEF;
382 2 if( CH_Vol[3] == TimeSlot )
383 2 CH_Mirror &= 0xBF;
384 2 }
385 1
386 1 P1_Mirror = CH_Mirror | LED_Mirror; /*数据输出,0表示有效*/
387 1 }
388
389 /********************************************************************/
390 /* 应用程序初始化 */
391 /********************************************************************/
392 void APP_Initlization( void ) /* 应用程序初始化*/
393 {
394 1 /* 初始化初始亮度,保持微亮*/
395 1 CH_Vol[0] = 0;
396 1 CH_Vol[1] = 0;
397 1 CH_Vol[2] = 0;
398 1 CH_Vol[3] = 0;
399 1 Current_CH = 1;
400 1 }
401
402 /********************************************************************/
403 /* 通道指示灯 */
404 /********************************************************************/
405 void CH_LED_Control( void ) /* 通道指示灯*/
406 {
407 1 unsigned char CH_LED_Mirror;
408 1
409 1 CH_LED_Mirror = 0xAA;
410 1 if( POWER_FLAG )
411 1 CH_LED_Mirror &= 0xFD;
412 1
413 1 switch( Current_CH )
414 1 {
415 2 case 0: CH_LED_Mirror &= 0x02; /* 全亮*/
416 2 break;
417 2 case 1: CH_LED_Mirror &= 0xF7; /* 1个亮*/
418 2 break;
419 2 case 2: CH_LED_Mirror &= 0xDF; /* 高位亮*/
420 2 break;
421 2 case 3: CH_LED_Mirror &= 0xF7; /* 2个亮*/
422 2 CH_LED_Mirror &= 0xDF;
423 2 break;
424 2 case 4: CH_LED_Mirror &= 0x7F; /* 高位亮*/
425 2 break;
426 2 }
427 1
CX51 COMPILER x7.00 RS_MAIN 05/07/2006 20:40:55 PAGE 8
428 1 LED_Mirror = CH_LED_Mirror;
429 1 }
430
431 /********************************************************************/
432 /* 电源控制 */
433 /********************************************************************/
434 void CH_Power_ON ( void ) /* 电源控制*/
435 {
436 1 POWER_FLAG = 1; /* 电源开启*/
437 1 if(( CH_Vol[0] < VOL_MIN ) || ( CH_Vol[0] > VOL_MAX ))
438 1 CH_Vol[0] = VOL_INIT;
439 1 if(( CH_Vol[1] < VOL_MIN ) || ( CH_Vol[1] > VOL_MAX ))
440 1 CH_Vol[1] = VOL_INIT;
441 1 if(( CH_Vol[2] < VOL_MIN ) || ( CH_Vol[2] > VOL_MAX ))
442 1 CH_Vol[2] = VOL_INIT;
443 1 if(( CH_Vol[3] < VOL_MIN ) || ( CH_Vol[3] > VOL_MAX ))
444 1 CH_Vol[3] = VOL_INIT;
445 1 }
446
447 /********************************************************************/
448 /* 运行指示灯控制 */
449 /********************************************************************/
450 void RUN_LED_Control( void ) /* 运行指示灯控制*/
451 {
452 1 if( Timer_Flag )
453 1 {
454 2 LED_FLASH_Cnt ++;
455 2 if( RS_High > IDLE_Cnt ) /* 正常运行*/
456 2 {
457 3 if( LED_FLASH_Cnt == 50 )
458 3 {
459 4 RUN_LED = !RUN_LED;
460 4 LED_FLASH_Cnt = 0;
461 4 }
462 3 }
463 2 else /* 接收遥控码时间*/
464 2 {
465 3 if( LED_FLASH_Cnt == 10 )
466 3 {
467 4 RUN_LED = !RUN_LED;
468 4 LED_FLASH_Cnt = 0;
469 4 }
470 3 }
471 2 }
472 1 }
473
474 /********************************************************************/
475 /* 通道功率增加 */
476 /********************************************************************/
477 unsigned char VOL_INC( unsigned char VOL ) /* 通道功率增加*/
478 {
479 1 if( VOL < VOL_MAX )
480 1 VOL ++;
481 1 return( VOL );
482 1
483 1 }
484 /********************************************************************/
485 /* 通道功率减小 */
486 /********************************************************************/
487 unsigned char VOL_DEC( unsigned char VOL ) /* 通道功率减小*/
488 {
489 1 if( VOL > VOL_MIN )
CX51 COMPILER x7.00 RS_MAIN 05/07/2006 20:40:55 PAGE 9
490 1 VOL --;
491 1 return( VOL );
492 1 }
493
494 /* ---------------------------------------------------------------------------------------*/
495 /* TCON */
496 /* TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 */
497 /* TFx 定时器溢出标志,1=溢出*/
498 /* TRx 定时器启动标志,1=启动*/
499 /* IEx 外部中断申请标志,1=申请*/
500 /* ITx 外部中断中断模式,1=下跳沿,0=低电平*/
501
502 /* ---------------------------------------------------------------------------------------*/
503 /* TMOD D7~D4-定时器1, D3~D0-定时器0*/
504 /* GATE C/T M1 M0, GATE C/T M1 M0 */
505 /* GATE 门控,1=测INTx高脉冲宽度,0=计数器,不受INTx外部输入控制*/
506 /* C/T 定时器模式,1=计数器模式,计数Tx脉冲个数0=定时器模式*/
507 /* M1 M0 定时器工作模式: 0=13位计数器,1=16位计数器,2=波特率发生器*/
508
509 /* ---------------------------------------------------------------------------------------*/
510 /* IE */
511 /* EA x x ES ET1 TX1 ET0 EX0 */
512
513 /* ---------------------------------------------------------------------------------------*/
514 /* SCON */
515 /* SM0 SM1 SM2 REN TB8 RB8 TI RI */
516 /* SM0 SM1 通信模式,常用方式1*/
517 /* SM2 多机通信使能*/
518 /* REN 允许接收控制*/
519 /* TB8 发送第8位数据*/
520 /* RB8 接收第8位数据*/
521 /* TI 发送中断标志*/
522 /* RI 接收中断标志*/
523
524 /* ---------------------------------------------------------------------------------------*/
525 /* IP */
526 /* X X X PS PT1 PX1 PT0 PX0 */
527
528 /* ---------------------------------------------------------------------------------------*/
529 /* PCON */
530 /* SMOD X X X GF1 GF0 PD IDL */
531 /* SMOD 波特率加倍使能*/
532 /* GFx 通用标志寄存器*/
533 /* PD 掉电模式*/
534 /* IDL 待机模式*/
535
536 /* 波特率计算 */
537 /* 波特率=(2^SMOD/32) * (OSC/(12*(256-TH1))) */
538 /* TH1=256-(2^SMOD*OSC)/(384*波特率) */
539
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 900 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 21 ----
IDATA SIZE = ---- ----
BIT SIZE = 5 1
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
CX51 COMPILER x7.00 RS_MAIN 05/07/2006 20:40:55 PAGE 10
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
CX51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -