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

📄 keboard.lst

📁 压缩包中包括多个常用的汇编
💻 LST
字号:
C51 COMPILER V7.09   KEBOARD                                                               10/09/2005 20:45:33 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE KEBOARD
OBJECT MODULE PLACED IN E:\C51PRJ\APPNEW\KEBOARD.OBJ
COMPILER INVOKED BY: d:\keil\c51\BIN\C51.EXE E:\C51PRJ\APPNEW\KEBOARD.C DB SB OE

line level    source

   1          /****************************************************************************/
   2          /*                                                                          */
   3          /*               Copyright (c) 2005, 老树工作室                             */
   4          /*                   All rights reserved.                                   */
   5          /*                                                                          */
   6          /*      http://www.saintone.net      Email:hxm0902@163.com                  */
   7          /*      QQ:112431149                 Tel:010-62966630                       */
   8          /*                                                                          */
   9          /****************************************************************************/
  10          /****************************************************************************/
  11          /* 文件名:keyboard.c                                                       */
  12          /* 版  本:Version 1.0                                                      */
  13          /* 描  述:按键检测代码                                                     */
  14          /* 作  者:spot                                                             */
  15          /* 函  数:                                                                 */
  16          /*         delay_key                                                        */
  17          /*         system_init                                                      */
  18          /*                                                                          */
  19          /* 历史记录:                                                               */
  20          /*  spot          2005-06-20     Creat Inital version. (Version 1.0)        */
  21          /****************************************************************************/
  22          
  23          #include <reg52.h>
  24          #include <absacc.h>
  25          #include "../includes/types.h"
  26          #include "keyboard.h"
  27          
  28          sbit WDI = P0^5;         /* 喂狗信号 */
  29          
  30          /* 按键检测延时子程序 */
  31          void delay_key(void)
  32          {
  33   1          u_int i;
  34   1          for(i=1000; i>0; i--);
  35   1      }
  36          
  37          /* 反转法检测按键,行1:P2.0,列1:P2.4*/
  38          u_char scan_key(void)
  39          {
  40   1          u_char key_code = 0xFF;
  41   1          u_int i = 0;
  42   1          P2 = 0xF0;
  43   1          if ((P2&0xF0) != 0xF0) /* 有键按下 */
  44   1          {
  45   2              delay_key();             
  46   2              if ((P2&0xF0) != 0xF0) /* 有键按下 */
  47   2              {
  48   3                  key_code = P2;     /* 读入列值 */
  49   3                  P2 = 0x0F;
  50   3                  key_code |= P2;    /* 读入行值,与列值相或得到键码 */
  51   3                  
  52   3                  
  53   3                  while ( ((P2&0x0F) != 0x0F) && (i<20000) ) /* 等待按键抬起 */ 
  54   3                  {
  55   4                      i++;
C51 COMPILER V7.09   KEBOARD                                                               10/09/2005 20:45:33 PAGE 2   

  56   4                      WDI = ~WDI;
  57   4                  }
  58   3              }
  59   2          }
  60   1          return(key_code);
  61   1      }
  62          
  63          
C51 COMPILER V7.09   KEBOARD                                                               10/09/2005 20:45:33 PAGE 3   

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


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
u_long . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
u_short. . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
u_int. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
delay_key. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
scan_key . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  key_code . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
WDI. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0085H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
u_char . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


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