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

📄 keyscan.lst

📁 这个是安防用的控制键盘C源程序,采用KEIL C51开发.用于控制前端解码器!
💻 LST
字号:
C51 COMPILER V7.01  KEYSCAN                                                                04/29/2006 16:28:40 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE KEYSCAN
OBJECT MODULE PLACED IN keyscan.OBJ
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE keyscan.c DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          //scan the Alarm input
   3          #include "reg52.h"
   4          #include "main.h"
   5          
   6          
   7          
   8          unsigned char data keydata;
   9          extern keybuffer;
  10          
  11          void keyscan(void)
  12          {
  13   1       unsigned char data keytmp;
  14   1       keydata=0;
  15   1       P0=0xFE;
  16   1       keytmp = ~(P2) & 0x1f;
  17   1      
  18   1       switch(keytmp)
  19   1        {
  20   2         case 1:
  21   2           keydata = K_0;
  22   2               break;
  23   2         case 2:
  24   2           keydata = K_8;
  25   2               break;
  26   2         case 4:
  27   2           keydata = K_mon;
  28   2               break;
  29   2         case 8:
  30   2           keydata = K_salvo;
  31   2               break;
  32   2         case 16:
  33   2           keydata = K_f1;
  34   2               break;
  35   2         default:
  36   2           break;
  37   2        }
  38   1      
  39   1       P0=0xFD;
  40   1       keytmp = ~(P2) & 0x1f;
  41   1      
  42   1       switch(keytmp)
  43   1       {
  44   2         case 1:
  45   2           keydata = K_1;
  46   2               break;
  47   2         case 2:
  48   2           keydata = K_9;
  49   2               break;
  50   2         case 4:
  51   2           keydata = K_cam;
  52   2               break;
  53   2         case 8:
  54   2           keydata = K_run;
  55   2               break;
C51 COMPILER V7.01  KEYSCAN                                                                04/29/2006 16:28:40 PAGE 2   

  56   2         case 16:
  57   2           keydata = K_f2;
  58   2               break;
  59   2         default:
  60   2           break;
  61   2        }
  62   1      
  63   1       P0=0xFB;
  64   1       keytmp = ~(P2) & 0x1f;
  65   1      
  66   1       switch(keytmp)
  67   1        {
  68   2         case 1:
  69   2           keydata = K_2;
  70   2               break;
  71   2         case 2:
  72   2           keydata = K_close;
  73   2               break;
  74   2         case 4:
  75   2           keydata = K_on;
  76   2               break;
  77   2         case 8:
  78   2           keydata = K_hold;
  79   2               break;
  80   2         case 16:
  81   2           keydata = K_prog;
  82   2           break;
  83   2         default:
  84   2           break;
  85   2        }
  86   1      
  87   1       P0=0xF7;
  88   1       keytmp = ~(P2) & 0x1f;
  89   1      
  90   1       switch(keytmp)
  91   1        {
  92   2         case 1:
  93   2           keydata = K_3;
  94   2               break;
  95   2         case 2:
  96   2           keydata = K_open;
  97   2               break;
  98   2         case 4:
  99   2           keydata = K_off;
 100   2               break;
 101   2         case 8:
 102   2           keydata = K_b;
 103   2               break;
 104   2         case 16:
 105   2           keydata = K_arm;
 106   2           break;
 107   2         default:
 108   2           break;
 109   2        }
 110   1      
 111   1       P0=0xEF;
 112   1       keytmp = ~(P2) & 0x1f;
 113   1      
 114   1       switch(keytmp)
 115   1        {
 116   2         case 1:
 117   2           keydata = K_4;
C51 COMPILER V7.01  KEYSCAN                                                                04/29/2006 16:28:40 PAGE 3   

 118   2               break;
 119   2         case 2:
 120   2           keydata = K_near;
 121   2               break;
 122   2         case 4:
 123   2           keydata = K_shot;
 124   2               break;
 125   2         case 8:
 126   2           keydata = K_time;
 127   2               break;
 128   2         case 16:
 129   2           keydata = K_last;
 130   2           break;
 131   2         default:
 132   2           break;
 133   2        }
 134   1      
 135   1       P0=0xDF;
 136   1       keytmp = ~(P2) & 0x1f;
 137   1      
 138   1       switch(keytmp)
 139   1        {
 140   2         case 1:
 141   2           keydata = K_5;
 142   2               break;
 143   2         case 2:
 144   2           keydata = K_far;
 145   2               break;
 146   2         case 4:
 147   2           keydata = K_patran;
 148   2               break;
 149   2         case 8:
 150   2           keydata = K_a;
 151   2               break;
 152   2         case 16:
 153   2           keydata = K_next;
 154   2           break;
 155   2         default:
 156   2           break;
 157   2        }
 158   1      
 159   1       P0=0xBF;
 160   1       keytmp = ~(P2) & 0x1f;
 161   1      
 162   1       switch(keytmp)
 163   1        {
 164   2         case 1:
 165   2           keydata = K_6;
 166   2               break;
 167   2         case 2:
 168   2           keydata = K_wide;
 169   2               break;
 170   2         case 4:
 171   2           keydata = K_aux;
 172   2               break;
 173   2         case 8:
 174   2           keydata = K_ack;
 175   2               break;
 176   2         case 16:
 177   2           keydata = K_vcr;
 178   2           break;
 179   2         default:
C51 COMPILER V7.01  KEYSCAN                                                                04/29/2006 16:28:40 PAGE 4   

 180   2           break;
 181   2        }
 182   1      
 183   1       P0=0x7F;
 184   1       keytmp = ~(P2) & 0x1f;
 185   1      
 186   1       switch(keytmp)
 187   1        {
 188   2         case 1:
 189   2           keydata = K_7;
 190   2               break;
 191   2         case 2:
 192   2           keydata = K_tele;
 193   2               break;
 194   2         case 4:
 195   2           keydata = K_clear;
 196   2               break;
 197   2         case 8:
 198   2           keydata = K_lock;
 199   2               break;
 200   2         case 16:
 201   2           keydata = K_user;
 202   2           break;
 203   2         default:
 204   2           break;
 205   2        }
 206   1      
 207   1       // return keydata;
 208   1      }
 209          
 210          
 211          
 212          
 213          
 214          
 215          
 216          
 217          
 218          
 219          
 220          
 221          
 222          
 223          
 224          
 225          
 226          
 227          
 228          
 229          
 230          
 231          
 232          
 233          
 234          
 235          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    408    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V7.01  KEYSCAN                                                                04/29/2006 16:28:40 PAGE 5   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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