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

📄 1.lst

📁 这是一个结合Proteus和51单片机实现的一个按键加速实例。以验证
💻 LST
字号:
C51 COMPILER V7.50   1                                                                     01/01/2003 09:15:20 PAGE 1   


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

line level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #define uint unsigned int
   4          #define uchar unsigned char 
   5          #define qdshi 200
   6          #define ljshi 10
   7          void delay(uchar b)
   8            {uint i,j;
   9   1         for(i=0;i<b;i++)
  10   1          for(j=0;j<125;j++);
  11   1         }
  12          keyprocess(unsigned char p)
  13           {uchar flog;
  14   1        if(flog==p)
  15   1          {p+=0x1f;
  16   2               flog=19;}
  17   1        switch(p)
  18   1               { case 0x60:
  19   2                 P2=0XFE;
  20   2                 delay(255);
  21   2             flog=p;
  22   2                       break;
  23   2                 case 0xa0:
  24   2                  P2=0xfD;
  25   2                      delay(255);
  26   2                      flog=p;
  27   2                      break;
  28   2               case 0xc0:
  29   2             P2=0xfC;
  30   2                 delay(255);
  31   2                 flog=p;
  32   2               break;
  33   2              
  34   2              
  35   2               case 0x7f:
  36   2               case 0xbf:
  37   2               case 0xdf:
  38   2             P2=0xf0;
  39   2                 delay(255);
  40   2                 flog=19;
  41   2                 break;
  42   2               default:
  43   2               break;
  44   2               }
  45   1          
  46   1          }
  47          
  48          
  49          bit keyflag;
  50          uchar keyswith=1;
  51          void key()
  52           {static uchar keycounter;
  53   1        uchar keyvalue;
  54   1      
  55   1        keyvalue=P1;
C51 COMPILER V7.50   1                                                                     01/01/2003 09:15:20 PAGE 2   

  56   1      
  57   1        if(keyvalue==0xe0)
  58   1         {keycounter=0;
  59   2          keyflag=0;
  60   2              return;
  61   2         }
  62   1        else if(keyflag)
  63   1         {keycounter++;
  64   2          if(qdshi==keycounter)
  65   2               {keycounter-=ljshi;
  66   3                keyprocess(keyvalue);
  67   3               }
  68   2              else{return;}
  69   2         }
  70   1         else{
  71   2          delay(10);
  72   2              P1|=0xe0;
  73   2              keyvalue=P1;
  74   2          keyvalue=~keyvalue;
  75   2          keyvalue=keyvalue&0xe0;
  76   2              if(!keyvalue)
  77   2               {keycounter=0;
  78   3          keyflag=0;
  79   3              return;
  80   3          }
  81   2      
  82   2         keyflag=1;
  83   2         keyprocess(keyvalue);
  84   2         }
  85   1         }
  86          
  87          
  88           void main()
  89             {for(;;)
  90   1          key();
  91   1              }
  92          
  93          
  94          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    168    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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