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

📄 key.lst

📁 进行单片机与LCD的接口通讯与显示。使用清华的液晶。
💻 LST
字号:
C51 COMPILER V6.02  KEY                                                                    08/27/2003 13:40:46 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN D:\LCD_6963\LCD2\KEY.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE D:\LCD_6963\LCD2\KEY.C DB SB OE

stmt level    source

   1          #include <reg51.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          extern void msec(uint);
   5          uchar scankey();
   6          extern KeyState;
   7          extern KeyFuncIndex;
   8           sbit P3_5=P3^5;
   9          
  10          float idata keycount=0;	/* used for exit the menu when no key action */
  11          int keybutton=0;
  12          
  13          uchar scankey()
  14            { 	uchar idata keyb;
  15   1            keycount++;
  16   1          if( keycount>=80000)
  17   1          {keycount=0;
  18   2          P3_5=0;
  19   2           KeyState=1;
  20   2           KeyFuncIndex=4;
  21   2           }
  22   1              keyb=P1&0xff;
  23   1              if(keyb!=0xff)
  24   1                { //msec(50);
  25   2                  keyb=P1&0xff;
  26   2                  keybutton=1;
  27   2                  KeyState=1;
  28   2                  keycount=0;
  29   2      	  }
  30   1              else
  31   1              {keybutton=0;}
  32   1      	switch (keyb)
  33   1      	  {
  34   2      		case 0xfe : keyb=1;   /* S1 */
  35   2      		break;
  36   2      		case 0xfd : keyb=2;   /* S2 */
  37   2      		break;
  38   2      		case 0xfb : keyb=3;   /* S3 */
  39   2      		break;
  40   2      		case 0xf7 : keyb=4;   /* S4 */
  41   2      		break;
  42   2      		case 0xef : keyb=5;   /* S5 */
  43   2      		break;
  44   2                      case 0xdf : keyb=6;   /* S6 */
  45   2      		break;
  46   2                      case 0xbf : keyb=7;   /* S7 */
  47   2      		break;
  48   2                      case 0x7f : keyb=8;   /* S8 */
  49   2      		break;
  50   2      		default   : keyb=0;
  51   2                      break;
  52   2      	  }
  53   1      /*	if(keycount>=60){
  54   1      	  keyb=1;	 exit if no key in action after 60 secondes
  55   1      	  keycount=0;
C51 COMPILER V6.02  KEY                                                                    08/27/2003 13:40:46 PAGE 2   

  56   1              }   */
  57   1          if(keyb==0)
  58   1         {     keyb=P3&0x0c;
  59   2              if(keyb!=0x0c)
  60   2                { //msec(50);
  61   3                  keyb=P3&0x0c;
  62   3                  keybutton=1;
  63   3                  KeyState=1;
  64   3      	  }
  65   2              else
  66   2              {keybutton=0;}
  67   2      	switch (keyb)
  68   2      	  {
  69   3      		case 0x08 : keyb=9;   /* S9 */
  70   3      		break;
  71   3      		case 0x04 : keyb=10;   /* S10 */
  72   3      		break;
  73   3                      default   : keyb=0;
  74   3                      break;
  75   3                 }
  76   2          }
  77   1      	return (keyb);
  78   1      }
C51 COMPILER V6.02  KEY                                                                    08/27/2003 13:40:46 PAGE 3   

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


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
P3_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  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
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
KeyState . . . . . . . . . . . . . . .  EXTERN   DATA   INT      -----  2
KeyFuncIndex . . . . . . . . . . . . .  EXTERN   DATA   INT      -----  2
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  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
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
keybutton. . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0000H  2
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
scankey. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  keyb . . . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0000H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
keycount . . . . . . . . . . . . . . .  PUBLIC   IDATA  FLOAT    0000H  4


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    258    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V6.02  KEY                                                                    08/27/2003 13:40:46 PAGE 4   

   DATA SIZE        =      2    ----
   IDATA SIZE       =      4       1
   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 + -