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

📄 key.lst

📁 一个基于XMODEM协议的下载字库的程序
💻 LST
字号:
C51 COMPILER V7.50   KEY                                                                   04/17/2006 14:59:37 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c LARGE OPTIMIZE(5,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #define KEY_GLOBAL
   3          #include "config.h"
   4          
   5          
   6          #define  REDIAL120       0x11
   7          #define  PRINT           0x12
   8          #define  PATIENT         0x13
   9          #define  DIALPHONE       0x15
  10          #define  CANCEL          0x16
  11          #define  CONFIRM         0x17
  12          
  13          #define  KEYBOARD1       0x00
  14          #define  KEYBOARD2       0x01
  15          #define  KEYBOARD3       0x02
  16          #define  KEYBOARD4       0x04
  17          #define  KEYBOARD5       0x05
  18          #define  KEYBOARD6       0x06
  19          #define  KEYBOARD7       0x08
  20          #define  KEYBOARD8       0x09
  21          #define  KEYBOARD9       0x0a
  22          #define  KEYBOARDX       0x0c
  23          #define  KEYBOARD0       0x0d
  24          #define  KEYBOARDJ       0x0e
  25          
  26          #define  KEYUP           0x03
  27          #define  KEYDOWN         0x0f
  28          #define  KEYLEFT         0x07
  29          #define  KEYRIGHT        0x0b
  30          #define  MAINNENU        0x10
  31          
  32          INT8U KeyValueArray[23] = {REDIAL120, PRINT, PATIENT,DIALPHONE,CANCEL,CONFIRM,
  33                                                             KEYBOARD1,KEYBOARD2,KEYBOARD3,KEYBOARD4,KEYBOARD5,
  34                                                             KEYBOARD6,KEYBOARD7,KEYBOARD8,KEYBOARD9,KEYBOARDX,KEYBOARD0,KEYBOARDJ,
  35                                                             KEYUP,KEYDOWN,KEYLEFT,KEYRIGHT,MAINNENU};
  36          
  37          INT8U HaveKey;
  38          INT8U KeyValue;
  39          extern PSD_REGS uPSD32;
  40          
  41          void KeyWordInt(void) interrupt IE1_VECTOR  using 2 
  42          {  
  43   1              KeyValue = XBYTE[MC4922_PORT];
  44   1              KeyValue &= 0x0f;
  45   1              if((uPSD32.DATAIN_A & 0x10) == 0x10)    KeyValue |= 0x10;
  46   1              else                                                                    KeyValue &= 0xef;
  47   1              HaveKey = 1;
  48   1      }
  49          
  50          /*******************************************************************************
  51          程序名:        SearchKey
  52          说  明:        根据按键产生的键值确定按键代号
  53          ********************************************************************************/    
  54          INT8U SearchKey(INT8U key_value)
  55          {
C51 COMPILER V7.50   KEY                                                                   04/17/2006 14:59:37 PAGE 2   

  56   1              INT8U i;
  57   1              
  58   1              for(i=0; i<23; i++)
  59   1              {
  60   2                      if(KeyValueArray[i] == key_value)       break;
  61   2              }
  62   1              return i;
  63   1      }
  64          
  65          /*******************************************************************************
  66          程序名:        PressHiLightKey
  67          说  明:        按键后反显对应项,选择界面为3×3
  68                                  反显 4 个汉字
  69          ********************************************************************************/
  70          void PressHiLightKey(INT8U key)
  71          {
  72   1              INT8U i, addrx, addry;
  73   1              INT8U *p;
  74   1              INT8U array[]=" CE    PR    PA    PH    CA    EN    01    02    03    04    05    06    07    08    09   
             -  *    00     #    UP    DN    LF    RT    ME    ";
  75   1      
  76   1          addrx = key/5;
  77   1              addry = key%5 * 6;
  78   1      
  79   1              p = array;
  80   1              p += addrx * 30 + addry;
  81   1      
  82   1              GraphStr0816(0, 0, array, 1, 200);
  83   1      
  84   1              for(i=0; i<4; i++)
  85   1              {
  86   2                      GraphChar0816(addrx, addry+i, *p++, 0);
  87   2              }
  88   1      }
  89          
  90          void vKEY_Check(void)
  91          {
  92   1              INT8U key;
  93   1      
  94   1              if(HaveKey == 1)
  95   1              {
  96   2                      HaveKey = 0;
  97   2                      key = SearchKey(KeyValue);
  98   2      
  99   2                      GraphChar0808(11, 6, key/10+0x30, 1);
 100   2                      GraphChar0808(11, 7, key%10+0x30, 1);
 101   2                      PressHiLightKey(key);
 102   2              }
 103   1      }
 104          
 105          void vKEY_Init(void)
 106          {
 107   1              EA  = 0;
 108   1              IT1 = 1;        //decline triggle
 109   1              PX1 = 1;
 110   1              EX1 = 1;        //enable External Interrupt 0
 111   1              EA  = 1;
 112   1      }
 113          
 114          
 115          
 116          
C51 COMPILER V7.50   KEY                                                                   04/17/2006 14:59:37 PAGE 3   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    337    ----
   CONSTANT SIZE    =    140    ----
   XDATA SIZE       =     25     148
   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 + -