⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainc.lst

📁 lcm显示代码.用于1602的液晶原代码.测试已经通过.
💻 LST
字号:
C51 COMPILER V7.00  MAINC                                                                  05/07/2006 20:43:37 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE MAINC
OBJECT MODULE PLACED IN MainC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe MainC.c DB OE SMALL ROM(LARGE)

stmt level    source

   1          
   2          #include                <REG51.H>
   3          #include                <ABSACC.H>
   4          #include                "Device.h"
   5          
   6          #define         HIGH_TH 21                                      /*最高PWM级数门限*/
   7          #define         LOW_TH  HIGH_TH+25                      /*最低PWM级数门限*/
   8          #define         INIT_TH         HIGH_TH+12                      /*复位后初始PWM级数*/
   9          #define         INIT_TS         20                                      /*初始化时隙计数值*/
  10          #define         TS_MAX          INIT_TS+40                      /*10ms后时隙计数值*/
  11          
  12          void            Main_Initlization( void );                      /*      主初始化程序*/
  13          void            Interrupt_INT0( void );                         /*      遥控解码*/
  14          void            Interrupt_INT1( void );                         /*      20ms定时脉冲中断*/
  15          void            Interrupt_T0( void );                           /*      遥控解码*/
  16          void            Interrupt_T1( void );                           /*      0.25ms定时器*/
  17          
  18          void            LED_Flash_Control( void );              /*      LED闪烁控制*/
  19          void            KEY_TimeOut( void );                            /*      遥控按键超时判断*/
  20          void            KEY_Process( void );                            /*      遥控按键解码*/
  21          
  22          unsigned char           RUN_Counter;                            /*      运行LED闪烁控制*/
  23          unsigned char           KEY_TimeOut_Counter;            /*      遥控器按键释放超时计数器*/
  24          bit                             LED_MODE;                                       /*      LED闪灯模式*/
  25          bit                             NEW_KEY_Flag;                           /*      新按下键盘标志*/
  26          unsigned long           RemoteCode;                             /*      遥控码*/
  27          unsigned char           RemoteCounter;                          /*      遥控码解码位计数*/
  28          unsigned long           Decode;                                         /*      解码输出*/
  29          bit                             Decode_Flag;                            /*      解码输出标志*/
  30          bit                             PowerFlag;                                      /*      总电源开关状态*/
  31          unsigned char           Control[4];                                     /*      控制字*/
  32          unsigned char           TimeSlot;                                       /*      PWM定时器*/
  33          unsigned char           P1_Mirror;                                      /*      PWM和LED输出镜像寄存器*/
  34          
  35          
  36          /********************************************************************/
  37          /*                                                      主程序                                                          */
  38          /********************************************************************/
  39          void            main( void )
  40          {
  41   1              Main_Initlization( );                                           /*主初始化程序*/
  42   1      
  43   1              while( 1 )
  44   1              {
  45   2                      LED_Flash_Control( );                           /*      LED闪烁控制*/
  46   2                      KEY_TimeOut( );                                         /*      遥控按键超时判断*/
  47   2                      KEY_Process( );                                         /*      遥控按键解码*/
  48   2              }
  49   1      }
  50          
  51          /********************************************************************/
  52          /*              遥控按键解码处理程序                                                            */
  53          /********************************************************************/
  54          void            KEY_Process( void )                             /*      遥控按键解码*/
  55          {
C51 COMPILER V7.00  MAINC                                                                  05/07/2006 20:43:37 PAGE 2   

  56   1              if( Decode_Flag )                                                       /*      按键解码成功*/
  57   1              {
  58   2                      Decode_Flag = 0;
  59   2                      switch( Decode )
  60   2                      {
  61   3                              case    0x00000FFE:                             /*      Power 键*/
  62   3                                                                      if( NEW_KEY_Flag )
  63   3                                                                              PowerFlag = ~PowerFlag;
  64   3                                                                      break;
  65   3                              /*      左侧第一路*/                                    
  66   3                              case    0x0000C7E7:                             /*      亮度增加,左侧第1路*/
  67   3                                                                      if( PowerFlag )
  68   3                                                                              if( Control[0] > HIGH_TH )
  69   3                                                                                      Control[0] --;
  70   3                                                                      break;
  71   3                              case    0x0001E7C3:                             /*      亮度降低,左侧第1路*/
  72   3                                                                      if( PowerFlag )
  73   3                                                                              if( Control[0] < LOW_TH )
  74   3                                                                                      Control[0] ++;
  75   3                                                                      break;
  76   3                              /*      左侧第二路*/                                    
  77   3                              case    0x000067F3:                             /*      亮度增加,左侧第2路*/
  78   3                                                                      if( PowerFlag )
  79   3                                                                              if( Control[1] > HIGH_TH )
  80   3                                                                                      Control[1] --;
  81   3                                                                      break;
  82   3                              case    0x0000E7E3:                             /*      亮度降低,左侧第2路*/
  83   3                                                                      if( PowerFlag )
  84   3                                                                              if( Control[1] < LOW_TH )
  85   3                                                                                      Control[1] ++;
  86   3                                                                      break;
  87   3                              /*      左侧第三路*/                                    
  88   3                              case    0x000107DF:                             /*      亮度增加,左侧第3路*/
  89   3                                                                      if( PowerFlag )
  90   3                                                                              if( Control[2] > HIGH_TH )
  91   3                                                                                      Control[2] --;
  92   3                                                                      break;
  93   3                              case    0x000167D3:                             /*      亮度降低,左侧第3路*/
  94   3                                                                      if( PowerFlag )
  95   3                                                                              if( Control[2] < LOW_TH )
  96   3                                                                                      Control[2] ++;
  97   3                                                                      break;
  98   3                              /*      左侧第四路*/
  99   3                              case    0x00008FEE:                             /*      亮度增加,左侧第4路*/
 100   3                                                                      if( PowerFlag )
 101   3                                                                              if( Control[3] > HIGH_TH )
 102   3                                                                                      Control[3] --;
 103   3                                                                      break;
 104   3                              case    0x00018FCE:                             /*      亮度降低,左侧第4路*/
 105   3                                                                      if( PowerFlag )
 106   3                                                                              if( Control[3] < LOW_TH )
 107   3                                                                                      Control[3] ++;
 108   3                                                                      break;
 109   3                      }
 110   2                      NEW_KEY_Flag = 0;
 111   2              }
 112   1      }
 113          
 114          /********************************************************************/
 115          /*              主初始化程

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -