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

📄 key.lst

📁 本资料为基于单片机89C55+LCD12864的万年历
💻 LST
字号:
C51 COMPILER V8.05a   KEY                                                                  10/26/2008 20:55:53 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <key.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          void d1ms(uint i)
   6          {
   7   1              uint a;
   8   1              for(;i>0;i--)
   9   1         {
  10   2                      for(a=800;a>0;a--);
  11   2         }
  12   1      }
  13          
  14          void d1s(uint i)        
  15          {
  16   1       for(;i>0;i--)
  17   1       {
  18   2        d1ms(500);
  19   2       }
  20   1      }
  21          /***********************
  22          返回0x0A:按下设置键; 返回0X06:光标键; 返回0X09:加键;  返回0X05:减键;   非正常按键:0
  23          ***********************/
  24          uchar keyscan()
  25          {
  26   1              uchar scan1,second1;
  27   1              P2=0xf0;
  28   1              if((P2&0xf0)!=0xf0) /*判断是否有键按下*/
  29   1              {
  30   2                      d1ms(1);
  31   2                      if((P2&0xf0)!=0xf0) /*再次判断*/
  32   2                      {
  33   3                              scan1=0xfe; /*逐行扫描*/
  34   3                              while((scan1&0x10)!=0) /*只允许位移3位*/
  35   3                              {
  36   4                                      P2=scan1;
  37   4                                      if((P2&0xf0)!=0xf0)
  38   4                                      {
  39   5                                              second1=(P2&0xf0)|0x0f;
  40   5                                              do
  41   5                                              {
  42   6                                                      P2=0xf0; 
  43   6                                              }while(P2!=0xf0); //等待按键松开
  44   5                                              d1ms(1);
  45   5                                              return((~second1)+(~scan1));
  46   5                                      }
  47   4                                      else
  48   4                                              scan1=(scan1<<1)|0x01;
  49   4                              }
  50   3      
  51   3                      }
  52   2              
  53   2      
  54   2              }
  55   1              return(0);
C51 COMPILER V8.05a   KEY                                                                  10/26/2008 20:55:53 PAGE 2   

  56   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    141    ----
   CONSTANT SIZE    =   ----    ----
   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 + -