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

📄 key.lst

📁 单片机与a7105组成无线收发程序2.4G多通道
💻 LST
字号:
C51 COMPILER V7.06   KEY                                                                   10/29/2008 11:22:41 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\key.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND PRINT(.\key.lst) OBJECT
                    -(key.obj)

stmt level    source

   1          /**********************************************************
   2          ;copyright              :shenzhen coolwaveasia 
   3          ;filename               :key.c
   4          ;writeb                 :dengyihong
   5          ;describe               :按键扫描
   6          ;notice                 :
   7          ;*********************************************************/
   8          
   9          #include "..\header\key.h"
  10          
  11          
  12          enum Key_Info Key_Value;                // 按键值
  13          
  14          U8  Key_Old_Buf = MASK_KEY;
  15          
  16          bit Key_Msg = 0;                                // 处理按键消息标志
  17          bit Have_Key_Push = 0;                  // 按键按下标志
  18          
  19          
  20          
  21          /**********************************************************
  22          name:        key_scan
  23          input:       none
  24          output:      none
  25          describe:    按键扫描
  26          notice:
  27          creat date:  2008-6-10
  28          creator:     dengyihong
  29          **********************************************************/
  30          void key_scan(void)
  31          {
  32   1          U8 i = 0;
  33   1          U8 key_buf = 0;
  34   1          U8 temp_buf = 0;
  35   1          
  36   1          KEY_PIN_INPUT();
  37   1          delay_2us(10);
  38   1          key_buf = GET_KEY_VALUE();
  39   1          for(i=0; i<4; i++)
  40   1          {   
  41   2              delay_2us(1500);        
  42   2              temp_buf = GET_KEY_VALUE();
  43   2              if(key_buf != temp_buf)
  44   2              {
  45   3                  return;     
  46   3              }
  47   2          }
  48   1                  
  49   1          if(key_buf != Key_Old_Buf)
  50   1          {
  51   2              if(key_buf != MASK_KEY)                                 // 新键按下
  52   2              {
  53   3                  switch(key_buf)
  54   3                  {
C51 COMPILER V7.06   KEY                                                                   10/29/2008 11:22:41 PAGE 2   

  55   4                      case 0x70: 
  56   4                           Key_Value = SEND_KEY;              // send key
  57   4                      break;
  58   4                             
  59   4                      case 0xb0:  
  60   4                           Key_Value = ADD_KEY;               // + key
  61   4                      break;
  62   4                          
  63   4                      case 0xd0:  
  64   4                           Key_Value = DEC_KEY;               // - key
  65   4                      break; 
  66   4                          
  67   4                      case 0xe0:  
  68   4                           Key_Value = MODE_KEY;              // mode key
  69   4                      break;                 
  70   4                                                                                        
  71   4                      default:    
  72   4                           Key_Value = NONE_KEY;      
  73   4                      break;
  74   4                              }
  75   3                              if(Key_Value != NONE_KEY)               // 是否有按键按下
  76   3                              {
  77   4                                      Have_Key_Push = 1;
  78   4                                      Key_Old_Buf = key_buf;  
  79   4                              }
  80   3                      }
  81   2                      else if(Have_Key_Push)                          // 按键释放
  82   2                      {
  83   3                              Have_Key_Push = 0;
  84   3                              Key_Old_Buf = MASK_KEY;
  85   3                              switch(Key_Value)
  86   3                              {
  87   4                                      case 0x04:
  88   4                                      case 0x03:
  89   4                                      case 0x02:
  90   4                                      case 0x01:
  91   4                                               Key_Msg = 1 ;
  92   4                                      break; 
  93   4                                      
  94   4                                      default:
  95   4                                              Key_Msg = 0;  
  96   4                                      break;                  
  97   4                              }
  98   3                      }       
  99   2              }       
 100   1      }
 101          
 102          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    137    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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