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

📄 key.lst

📁 本人收集的一些C语言程序
💻 LST
字号:
C51 COMPILER V7.50   KEY                                                                   04/04/2006 13:37:34 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: e:\xp\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          /************************************************************************************/
   3          /*     程序名:44键盘代码                                                           */
   4          /*                                                                                  */
   5          /*     晶振:12.0 M                                        CPU型号:AT89S52         */
   6          /*                                                                                  */
   7          /*                                                                                  */
   8          /*     功能描述: 44键盘代码,需将J13,J14连接P1口                                   */
   9          /*                    将J2跳线帽插上便于观察实验现象                                            */
  10          /*        K2(0)  K4(1)  K6(2)  K8(3)  K10(8)  K12(9)  K14(A)  K16(B)                */ 
  11          /*        K3(4)  K5(5)  K7(6)  K9(7)  K11(C)  K13(D)  K15(E)  K17(F)                */               
  12          /*                                                                                  */
  13          /*     http://www.mculover.net                                                      */
  14          /*     http://www.mculover.net/bbs                                                  */
  15          /*                                                                                                                                                      */
  16          /*                                                                                  */
  17          /*                                                湘灵电子工作室 版权所有           */     
  18          /*                                                         2006-03-20               */
  19          /************************************************************************************/ 
  20          #include<reg51.h>
  21           
  22          unsigned char code tab[ ]={0xc0, 0xf9, 0xa4, 0xb0, 
  23                                                                  0x99, 0x92, 0x82, 0xf8, 
  24                                                                  0x80, 0x90, 0x88, 0x83,
  25                                                                  0xc6, 0xa1, 0x86, 0x8e};//0到F的16个键植
  26          
  27          /******************************************************************************/
  28          void delayt(unsigned char t)//延时函数
  29          {
  30   1              unsigned char a;
  31   1              while( --t != 0)
  32   1              {
  33   2                      for(a=0;a<125;a++);
  34   2          }
  35   1      }
  36          
  37          /******************************************************************************/
  38          bit pkey(void)//判断键的否被按下,通过返回值确定
  39          {
  40   1              P1=0xf0;
  41   1              if(P1!=0xf0)
  42   1              {
  43   2              delayt(20);
  44   2              if(P1 != 0xf0)
  45   2                      return 1;
  46   2              else 
  47   2                      return 0;
  48   2          }
  49   1              else
  50   1              return 0;
  51   1      }
  52          
  53          /******************************************************************************/
  54          void main(void)//主函数
  55          {
C51 COMPILER V7.50   KEY                                                                   04/04/2006 13:37:34 PAGE 2   

  56   1              unsigned char key, j ,k, s;
  57   1      
  58   1              while(1)
  59   1              {
  60   2                              if(pkey()== 1)//确定键被按下
  61   2                              {   
  62   3                              P1=0xfe;
  63   3                                      k=0xfe;
  64   3                              for(j=0;j<4;j++)
  65   3                          {   
  66   4                              s=P1&0xf0;
  67   4                                      switch(s)
  68   4                                              {
  69   5                                                      case 0xe0: key=4*j+0; break;    
  70   5                                                      case 0xd0: key=4*j+1; break;
  71   5                                                      case 0xb0: key=4*j+2; break;
  72   5                                                      case 0x70: key=4*j+3; break;
  73   5                                                      default:        break;
  74   5                                              }
  75   4                                              k=(k<<1)|0x01;
  76   4                                              P1=k;
  77   4                     }//for
  78   3                              }//if
  79   2                      //if((P1&0xf0)==0xf0)
  80   2                      
  81   2                      P0=tab[key];
  82   2                      P2=0xfe;
  83   2                      delayt(10);
  84   2              }//while
  85   1      }
  86          
  87           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    139    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -