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

📄 键盘.lst

📁 又一个AT89c51等单片机可以使用的4*4 键盘程序
💻 LST
字号:
C51 COMPILER V8.02   键盘                                                                  07/25/2008 11:44:22 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 键盘
OBJECT MODULE PLACED IN 键盘.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 键盘.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<math.h>   
   3          #include<absacc.h>
   4          #define uchar unsigned char 
   5          #define uint unsigned int
   6          #define TRUE 1
   7          #define FALSE 0
   8          uchar key_flag;
   9          uchar code key[10]={0x00,0x01,0x002,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
  10          void delay(void);
  11          void dy(uchar k);
  12          uchar keyscan();
  13          void main(void)           //
  14          {
  15   1      
  16   1      uchar k;
  17   1        while(1)
  18   1        {      P1=0x0f;
  19   2              if(P1!=0x0f)
  20   2              { 
  21   3          k=keyscan(); 
  22   3               dy(k); 
  23   3      }
  24   2      }
  25   1      }
  26          uchar keyscan()    //
  27          { uchar h,l,k1;
  28   1       if(P1!=0x0f)
  29   1       { 
  30   2        delay();
  31   2        if(P1!=0x0f)
  32   2        {
  33   3         
  34   3         h=P1&0x0f;
  35   3         P1=0xf0;
  36   3         
  37   3         l=P1&0xf0;
  38   3         
  39   3         k1=h|l;
  40   3        
  41   3         return(k1);
  42   3        }
  43   2        else return(0xff);
  44   2       }
  45   1      }
  46          void delay()
  47          {int n;
  48   1      for(n=0;n<200;n++);
  49   1      }       
  50          
  51          void dy(uchar k)          
  52          {
  53   1      int i,j;        
  54   1      switch(k)
  55   1               {
C51 COMPILER V8.02   键盘                                                                  07/25/2008 11:44:22 PAGE 2   

  56   2                        case 0xee: 
  57   2                        
  58   2                        
  59   2                        for(i=0;i<10;i++)
  60   2                         {P3=key[i];
  61   3                              for(j=0;j<12000;j++);
  62   3                              }
  63   2                              
  64   2                              break;
  65   2                 case 0xde:  
  66   2                            P3=0x80;break;
  67   2                 case 0xbe: 
  68   2                                  P3=0x80;break;
  69   2                 case 0x7e:  
  70   2                                     P3=0x80;break;
  71   2                 case 0xed: 
  72   2                                     P3=0x80;break;
  73   2                 case 0xdd: 
  74   2                                     P3=0x80;break;
  75   2                 case 0xbd: 
  76   2                                P3=0x80 ;break;
  77   2                 case 0x7d: 
  78   2                                 P3=0x80;break;
  79   2                 case 0xeb: 
  80   2                                 P3=0x80;break;
  81   2                 case 0xdb: 
  82   2                                P3=0x80;break;
  83   2                 case 0xbb: 
  84   2                                 P3=0x80;break;
  85   2                 case 0x7b: 
  86   2                                P3=0x80; break;
  87   2                 case 0xe7: 
  88   2                                P3=0x80 ;break;
  89   2                 case 0xd7: 
  90   2                                P3=0x80; break;
  91   2                 case 0xb7: 
  92   2                         P0=0x80;break;
  93   2                 case 0x77: 
  94   2                         for(i=0;i<10;i++)
  95   2                         {P0=key[i];
  96   3                              for(j=0;j<12000;j++);
  97   3                              }
  98   2                  break;
  99   2              } 
 100   1      
 101   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    245    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       5
   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 + -