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

📄 6.5.lst

📁 单片机C51典型应用设计源码 包括液晶
💻 LST
字号:
C51 COMPILER V7.09   6_5                                                                   09/12/2005 08:36:31 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE 6_5
OBJECT MODULE PLACED IN 6.5.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 6.5.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>    
   2          #include <stdio.h>   
   3          #define    SIZE_OF_KEYBD_MENU    20
   4          unsigned  DummyJob=0;
   5          unsigned  DspUserInfo=0;
   6          unsigned  DspServiceInfo=0;
   7          unsigned  DspVoltInfo=0;
   8          unsigned  DspCurrInfo=0;
   9          unsigned  DspFreqInfo=0;
  10          unsigned  DspCableInfo=0;
  11          unsigned  DspSetVoltLevel=0;
  12          unsigned  KeyFuncIndex=0;
  13          
  14          void    (*KeyFuncPtr)();                    //按键功能指针
  15          
  16          typedef struct
  17          {
  18             unsigned char    KeyStateIndex;    //当前状态索引号
  19             unsigned char    KeyDnState;      //按下"向下"键时转向的状态索引号
  20             unsigned char    KeyUpState;      //按下"向上"键时转向的状态索引号
  21             unsigned char    KeyCrState;        //按下"回车"键时转向的状态索引号
  22              void    (*CurrentOperate)();    //当前状态应该执行的功能操作
  23          }    KbdTabStruct;
  24          
  25          KbdTabStruct  code  KeyTab[SIZE_OF_KEYBD_MENU]=
  26          {
  27              { 0, 0, 0, 1,(&DummyJob)},          //顶层
  28              
  29              { 1, 2, 0, 3,(&DspUserInfo)},        //第二层
  30              { 2, 1, 1, 9,(&DspServiceInfo)},      //第二层
  31              
  32              { 3, 0, 0, 1,(&DspVoltInfo)},     //第三层>>DspUserInfo的展开
  33              { 4, 0, 0, 1,(&DspCurrInfo)},     //第三层>>DspUserInfo的展开
  34              { 5, 0, 0, 1,(&DspFreqInfo)},     //第三层>>DspUserInfo的展开
  35              { 6, 0, 0, 1,(&DspCableInfo)},    //第三层>>DspUserInfo的展开
  36          //...........
  37          { 9, 0, 0, 1,(&DspSetVoltLevel)}      //第三层>>DspServiceInfo的展开
  38          //..........
  39          };
  40          
  41          void    GetKeyInput(void)
  42          {unsigned char    KeyValue;
  43   1          KeyValue=P1&0x07;             //去掉高5位
  44   1      //    delay(50000);
  45   1          switch(KeyValue)
  46   1          {
  47   2              case    1:                 //回车键,找出新的菜单状态编号
  48   2              {
  49   3                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyCrState;
  50   3                  break;
  51   3              }
  52   2              case    2:              //向上键,找出新的菜单状态编号
  53   2              {
  54   3                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyUpState;
  55   3                  break;
C51 COMPILER V7.09   6_5                                                                   09/12/2005 08:36:31 PAGE 2   

  56   3              }
  57   2              case    4:             //向下键,找出新的菜单状态编号
  58   2              {
  59   3                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyDnState;
  60   3                  break;
  61   3              }
  62   2              default:                //按键错误的处理
  63   2      //......
  64   2              break;
  65   2          }
  66   1          KeyFuncPtr=KeyTab[KeyFuncIndex].CurrentOperate;
  67   1          (*KeyFuncPtr)();//
  68   1      }
  69          
  70          
  71          
  72          


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