keyprocess.lst

来自「这是一个用于视频切换的控制程序,采用AT89C51芯片,KEIL 51开发」· LST 代码 · 共 394 行

LST
394
字号
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE KEYPROCESS
OBJECT MODULE PLACED IN keyprocess.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE keyprocess.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          #include"reg52.h"
   3          #include"main.h"
   4          
   5          bit fgkey=0;
   6          bit fgkey_on=0;
   7          bit fgauto;
   8          bit fgkey10=0;
   9          bit fgledflash=0;
  10          
  11          unsigned char data auto_counter;
  12          unsigned      int ledflash_counter=0;
  13          unsigned char data keydata1;
  14          unsigned char data keydata2;
  15          unsigned char data keybuffer;
  16          unsigned char scankeycounter;
  17          extern unsigned int  TimeCounter;
  18          extern unsigned char data ledbuffer_h;
  19          extern unsigned char data ledbuffer_l;
  20          extern keydata;
  21          extern unsigned char keyscan(void);
  22          extern void delay1ms(unsigned char count);
  23          extern void  x24c02_write(unsigned char address,unsigned char info);
  24          
  25          void keyprocess(void)
  26          {
  27   1       
  28   1       keyscan(); 
  29   1       keydata=keyscan();
  30   1      
  31   1       if(keybuffer != keydata)
  32   1        {
  33   2         keybuffer = keydata;
  34   2         scankeycounter = 20;
  35   2        }
  36   1       
  37   1        else if(scankeycounter!=0)
  38   1       {
  39   2         scankeycounter--;
  40   2         delay1ms(1);
  41   2       }
  42   1      
  43   1        else if (keybuffer!=no_key)
  44   1        {
  45   2         if(!fgkey_on)
  46   2         {
  47   3         fgkey_on=1;
  48   3         switch (keybuffer)
  49   3          {
  50   4               case key1:
  51   4                    fgledflash=1;
  52   4                if(!fgkey)
  53   4                {
  54   5                fgkey=1;
  55   5                keydata1=key1;
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 2   

  56   5                        keydata2=0;
  57   5                ledbuffer_h=0;
  58   5                ledbuffer_l=keydata1;
  59   5                }
  60   4      
  61   4                else
  62   4                {
  63   5                        fgkey=0;
  64   5                keydata2=key1;
  65   5                ledbuffer_h=keydata1;
  66   5                ledbuffer_l=keydata2;
  67   5                
  68   5                }
  69   4                    break;
  70   4               case key2:
  71   4                    fgledflash=1;
  72   4                if(!fgkey)
  73   4                {
  74   5                fgkey=1;
  75   5                keydata1=key2;
  76   5                        keydata2=0;
  77   5                ledbuffer_h=0;
  78   5                ledbuffer_l=keydata1;
  79   5                }
  80   4      
  81   4                else
  82   4                {
  83   5                        fgkey=0;
  84   5                keydata2=key2;
  85   5                ledbuffer_h=ledbuffer_l;
  86   5                ledbuffer_l=keydata2;
  87   5                }
  88   4                    break;
  89   4               case key3:
  90   4                    fgledflash=1;
  91   4                if(!fgkey)
  92   4                {
  93   5                fgkey=1;
  94   5                        keydata2=0;
  95   5                keydata1=key3;
  96   5                ledbuffer_h=0;
  97   5                ledbuffer_l=keydata1;
  98   5                }
  99   4      
 100   4                else
 101   4                {
 102   5                        fgkey=0;
 103   5                keydata2=key3;
 104   5                ledbuffer_h=ledbuffer_l;
 105   5                        ledbuffer_l=keydata2;
 106   5                }
 107   4                    break;
 108   4               case key4:
 109   4                    fgledflash=1;
 110   4                if(!fgkey)
 111   4                {
 112   5                fgkey=1;
 113   5                keydata1=key4;
 114   5                        keydata2=0;
 115   5                        ledbuffer_h=0;
 116   5                        ledbuffer_l=keydata1;
 117   5                }
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 3   

 118   4      
 119   4                else
 120   4                {
 121   5                        fgkey=0;
 122   5                keydata2=key4;
 123   5                ledbuffer_h=ledbuffer_l;
 124   5                        ledbuffer_l=keydata2;
 125   5                }
 126   4                    break;
 127   4               case key5:
 128   4                    fgledflash=1;
 129   4                if(!fgkey)
 130   4                {
 131   5                fgkey=1;
 132   5                keydata1=key5;
 133   5                        keydata2=0;
 134   5                ledbuffer_h=0;
 135   5                        ledbuffer_l=keydata1;
 136   5                }
 137   4      
 138   4                else
 139   4                {
 140   5                        fgkey=0;
 141   5                keydata2=key5;
 142   5                ledbuffer_h=ledbuffer_l;
 143   5                        ledbuffer_l=keydata2;
 144   5                }
 145   4                break;
 146   4               case key6:
 147   4                    fgledflash=1;
 148   4                if(!fgkey)
 149   4                {
 150   5                fgkey=1;
 151   5                keydata1=key6;
 152   5                        keydata2=0;
 153   5                ledbuffer_h=0;
 154   5                        ledbuffer_l=keydata1;
 155   5                }
 156   4      
 157   4                else
 158   4                {
 159   5                        fgkey=0;
 160   5                keydata2=key6;
 161   5                ledbuffer_h=ledbuffer_l;
 162   5                        ledbuffer_l=keydata2;
 163   5                }
 164   4                break;
 165   4               case key7:
 166   4                    fgledflash=1;
 167   4                if(!fgkey)
 168   4                {
 169   5                fgkey=1;
 170   5                keydata1=key7;
 171   5                        keydata2=0;
 172   5                ledbuffer_h=0;
 173   5                        ledbuffer_l=keydata1;
 174   5                }
 175   4      
 176   4                else
 177   4                {
 178   5                        fgkey=0;
 179   5                keydata2=key7;
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 4   

 180   5                ledbuffer_h=ledbuffer_l;
 181   5                        ledbuffer_l=keydata2;
 182   5                }
 183   4                break;
 184   4               case key8:
 185   4                    fgledflash=1;
 186   4                if(!fgkey)
 187   4                {
 188   5                fgkey=1;
 189   5                keydata1=key8;
 190   5                        keydata2=0;
 191   5                ledbuffer_h=0;
 192   5                        ledbuffer_l=keydata1;
 193   5                }
 194   4      
 195   4                else
 196   4                {
 197   5                        fgkey=0;
 198   5                keydata2=key8;
 199   5                ledbuffer_h=ledbuffer_l;
 200   5                        ledbuffer_l=keydata2;
 201   5                }
 202   4                break;
 203   4               case key9:
 204   4                    fgledflash=1;
 205   4                if(!fgkey)
 206   4                {
 207   5                fgkey=1;
 208   5                keydata1=key9;
 209   5                        keydata2=0;
 210   5                ledbuffer_h=0;
 211   5                        ledbuffer_l=keydata1;
 212   5                }
 213   4      
 214   4                else
 215   4                {
 216   5                        fgkey=0;
 217   5                keydata2=key9;
 218   5                ledbuffer_h=ledbuffer_l;
 219   5                        ledbuffer_l=keydata2;
 220   5                }
 221   4                break;
 222   4               case key10:                                 //"0" key
 223   4               fgledflash=1;
 224   4               if(!fgkey)
 225   4                {
 226   5                fgkey=1;
 227   5                keydata1=0;
 228   5                        keydata2=0;
 229   5                ledbuffer_h=0;
 230   5                        ledbuffer_l=keydata1;
 231   5                }
 232   4      
 233   4                else
 234   4                {
 235   5                        fgkey=0;
 236   5                keydata2=0;
 237   5                ledbuffer_h =ledbuffer_l;
 238   5                        ledbuffer_l = keydata2;
 239   5                }
 240   4                break;
 241   4               case key11:                                  //cancel key
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 5   

 242   4                fgledflash=0;
 243   4                        ledflash_counter=0;
 244   4                    keydata1=0;
 245   4                keydata2=0;
 246   4                ledbuffer_h=0;
 247   4                        ledbuffer_l=0;
 248   4                        if(!fgauto)
 249   4                        {
 250   5                        P0=0 | 0xf8;
 251   5                        INH_1=0;
 252   5                        INH_2=0;
 253   5                        }
 254   4                fgkey=0;
 255   4              
 256   4                break;
 257   4               case key12:
 258   4                fgledflash=0;  //enter key
 259   4                        ledflash_counter=0;
 260   4                if(!fgauto)
 261   4                {
 262   5                 if(ledbuffer_h==0)                      
 263   5                   {
 264   6                    if(ledbuffer_l<9)
 265   6                     {
 266   7                                  if((ledbuffer_l-1)==0xff)
 267   7                                      P0=0 | 0xf8;
 268   7                                      else
 269   7                                  P0=(ledbuffer_l-1) | 0xf8;
 270   7                      INH_1=0;
 271   7                      INH_2=1;
 272   7                     }
 273   6                    else
 274   6                     {
 275   7                      P0=0 | 0xf8;
 276   7                      INH_1=1;
 277   7                      INH_2=0;
 278   7                     }
 279   6                    }
 280   5                  else if(ledbuffer_h==1) 
 281   5                   {
 282   6                                if(ledbuffer_l<7)
 283   6                    P0=(ledbuffer_l+1) | 0xf8;
 284   6                    else
 285   6                                P0=0x07 | 0xf8;
 286   6                    INH_1=1;
 287   6                    INH_2=0;
 288   6                   }
 289   5                         else
 290   5                           {
 291   6                                P0=0x07 | 0xf8;
 292   6                                INH_1=1;
 293   6                                INH_2=0;
 294   6                               }
 295   5                  fgkey=0;
 296   5                              keybuffer=no_key;
 297   5                 }
 298   4                else
 299   4                 
 300   4                 {
 301   5                  auto_counter = ledbuffer_h*10 + ledbuffer_l;
 302   5                  TimeCounter=auto_counter*20;
 303   5                  x24c02_write(0x00,auto_counter);
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 6   

 304   5                  ledbuffer_h=0;
 305   5                  ledbuffer_l=1;
 306   5                              P0=0 | 0xf8;
 307   5                              INH_1=0;
 308   5                              INH_2=1;
 309   5                  fgkey=0;
 310   5                              keybuffer=no_key;
 311   5                 } 
 312   4                  
 313   4                break;
 314   4               default:
 315   4                    break;
 316   4              }
 317   3         }
 318   2      
 319   2         else
 320   2         ;
 321   2        
 322   2        }
 323   1        
 324   1        else 
 325   1        {
 326   2        keybuffer = no_key;
 327   2        fgkey_on=0;
 328   2        
 329   2        }
 330   1       }
 331          
 332          
 333          
 334          
 335          
 336          
 337          
 338          
 339          
 340          
 341          
 342          
 343          
 344          
 345          
 346          
 347          
 348          
 349          
 350          
 351          
 352          
 353          
 354          
 355          
 356          
 357          
 358          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    534    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V7.01  KEYPROCESS                                                             10/15/2004 15:20:38 PAGE 7   

   DATA SIZE        =      7    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      5    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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