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

📄 key.lst

📁 基于intel8032的自动恒温采集系统
💻 LST
字号:
C51 COMPILER V6.02  KEY                                                                    12/14/2007 08:26:03 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN G:\C51\KEY.OBJ
COMPILER INVOKED BY: C:\comp51\C51.EXE G:\C51\KEY.C DB SB OE OT(0) 

stmt level    source

   1          #include <key.h>
   2          #include <reg51.h>
   3          
   4          unsigned char key_code;
   5          
   6          //实时扫描函数
   7          void key_scan()
   8          {
   9   1       static unsigned char CL=0xff,n=0;
  10   1       unsigned char cc,c;
  11   1      
  12   1      while(1){
  13   2      P1=0xef;
  14   2      c=P1;
  15   2      if(c!=0xef)break;
  16   2      
  17   2      P1=0xdf;
  18   2      c=P1;
  19   2      if(c!=0xdf)break;
  20   2      
  21   2      P1=0xbf;
  22   2      c=P1;
  23   2      if(c!=0xbf)break;
  24   2      
  25   2      P1=0x7f;
  26   2      c=P1;
  27   2      if(c!=0x7f)break;
  28   2      
  29   2      c=0xff;
  30   2      break;
  31   2      }
  32   1      
  33   1       if (c==CL)
  34   1              n=n+1;
  35   1           else {n=0;
  36   2                CL=c;
  37   2                }
  38   1           if (n==KEY_N)
  39   1              cc=c;
  40   1           else cc=0xff;
  41   1           if (n>=KEY_R)
  42   1              n=0;
  43   1      
  44   1      switch(cc){
  45   2      	case 0x77:  key_code=0;	break;
  46   2      	case 0xb7:  key_code=1;	break;
  47   2      	case 0xbb:  key_code=2;	break;
  48   2      	case 0xbd:  key_code=3;	break;
  49   2      	case 0xd7:  key_code=4;	break;
  50   2      	case 0xdb:  key_code=5;	break;
  51   2      	case 0xdd:  key_code=6;	break;
  52   2      	case 0xe7:  key_code=7;	break;
  53   2      	case 0xeb:  key_code=8;	break;
  54   2      	case 0xed:  key_code=9;	break;
  55   2      	case 0x7b:  key_code=10; break;
C51 COMPILER V6.02  KEY                                                                    12/14/2007 08:26:03 PAGE 2   

  56   2      	case 0xee:  key_code=11; break;
  57   2      	case 0xde:  key_code=12; break;
  58   2      	case 0xbe:  key_code=13; break;
  59   2      	case 0x7d:  key_code=14; break;
  60   2      	case 0x7e:  key_code=15; break;
  61   2      	default:    key_code=0xff; break;
  62   2      }
  63   1      }
  64          
  65          // 返回当前的键码
  66          unsigned char inkey()
  67          {
  68   1                  return(key_code);            //仅表明当前键盘的状态
  69   1      }
  70          
  71          //用于数据的输入
  72          unsigned char getkey()
  73          {
  74   1      	unsigned char a;
  75   1      	while(key_code==0xff);  //无键按下时等待;
  76   1      	a=key_code;
  77   1      	key_code=0xff;
  78   1                     return(a);
  79   1      }
C51 COMPILER V6.02  KEY                                                                    12/14/2007 08:26:03 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
getkey . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
inkey. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
key_code . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
key_scan . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  CL . . . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0000H  1
  n. . . . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0001H  1
  cc . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  c. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    233    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V6.02  KEY                                                                    12/14/2007 08:26:03 PAGE 4   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   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 + -