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

📄 mykey.lst

📁 mykey程序原代码
💻 LST
字号:
C51 COMPILER V7.00  MYKEY                                                                  10/25/2004 11:31:38 PAGE 1   


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

stmt level    source

   1          #include <reg51.h>
   2          unsigned char key,key_h,kpush;
   3          unsigned int key_l;
   4          
   5          //按键连接到p1.0、p1.1、p1.2
   6          
   7          void int_t0(void) interrupt 1 {
   8   1      //unsigned char dd,i;
   9   1      TL0=TL0+30;TH0=0xfb; //800
  10   1      /* 按键判别 */
  11   1      if ((P1&0x7)==0x7) {
  12   2      if ((key_l>30)&&(key_l<800)&&(key_h>30)) { //释放按键,如果之前按键时间少于1秒,读入键值
  13   3      key=kpush;
  14   3      }
  15   2      if ((++key_h)>200) key_h=200;
  16   2      key_l=0;
  17   2      if (key>=0x80) key=0; //如果之前的按键为长按1秒,清除键值
  18   2      } else {
  19   2      kpush=P1&0x7;
  20   2      key_l++;
  21   2      if ((key_l>800)&&(key_h>30)) { //如果按键超过1秒,键值加0x80标志长按键
  22   3      key=kpush|0x80;
  23   3      key_h=0;
  24   3      key_l=0;
  25   3      }
  26   2      }
  27   1      }
  28          void main(void) {
  29   1      TMOD=0x1;TR0=1;ET0=1;EA=1;
  30   1      while (1) {
  31   2      while (!key) {}
  32   2      switch (key) {
  33   3      case 1:break;
  34   3      case 2:break;
  35   3      }
  36   2      }
  37   1      }


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