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

📄 menu.lst

📁 sed1335液晶驱动,包括菜单,已经在DSPIC30F6014A上调试通过.
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.07   MENU                                                                  03/10/2006 09:06:41 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE MENU
OBJECT MODULE PLACED IN menu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE menu.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //menu.c
   2          /**========================================================================**
   3          ***本c文件以"..\c1335_public\subMenu.h"为基础,显示一级、二级菜单。
   4          ***供main.c调用。
   5          ***文件层次:main.c <- menu.c --|       <- subMenu.c 
   6          ***                                                         |   <- c1335_driver.c
   7          ***                                                             |       <- DeviceAction.c
   8          ***=========================================================================*/
   9          #include        "config.h"
  10          #include        "c1335_driver.h"
  11          #include        "subMenu.h"
  12          #include        "DeviceAction.h"
  13          #include        "IIC24c02.h"
  14          
  15          #define         MAIN_MENU_ROW_WIDTH             (unsigned char)18
  16          extern  unsigned char KeyScan(void);
  17          extern  unsigned char g_ucLanguageIndex;
  18          
  19          
  20          //#define               MAIN_MENU_MAX_NUM       8
  21          #define         MAIN_MENU_X0            10
  22          #define         MAIN_MENU_Y0            32
  23          #define         MAIN_MENU_WIDTH         20
  24          BOOL    MainMenu(unsigned char *pSubMenu)
  25          {
  26   1              ClearLCD(0x28,2,        10,36,200);
  27   1              //DispASCIIStr("MENU",14,10,0);
  28   1              //DispASCIIStr(CommonTip[TIP_MENU_ID + COMMON_TIP_MAX_NUM*g_ucLanguageIndex],14,10,0);
  29   1      
  30   1              DispSubMenuContent(MainMenuString,
  31   1                      sizeof(MainMenuString)/sizeof(MainMenuString[0])/2,
  32   1                      MAIN_MENU_X0,MAIN_MENU_Y0,MAIN_MENU_WIDTH);
  33   1              
  34   1              DispSubMenuNum(*pSubMenu,
  35   1                      sizeof(MainMenuString)/sizeof(MainMenuString[0])/2,
  36   1                      MAIN_MENU_X0,MAIN_MENU_Y0,MAIN_MENU_WIDTH);
  37   1              KeyNote();
  38   1              while(1)
  39   1              {
  40   2                      g_ucKeyData = 0;
  41   2                      if(!SleepAndQueryMsg(1000))             //KeyScan();
  42   2                      {
  43   3                              switch(g_ucKeyData)
  44   3                              {
  45   4                              case KEY_UP:
  46   4                                      if(*pSubMenu == 1)
  47   4                                              *pSubMenu = MAIN_MENU_MAX_NUM;
  48   4                                      else
  49   4                                              (*pSubMenu)--;
  50   4                                      DispSubMenuNum(*pSubMenu,MAIN_MENU_MAX_NUM,
  51   4                                              MAIN_MENU_X0,MAIN_MENU_Y0,MAIN_MENU_WIDTH);
  52   4                                      break;
  53   4                              case KEY_DOWN:
  54   4                                      if(*pSubMenu == MAIN_MENU_MAX_NUM)
  55   4                                              *pSubMenu = 1;
C51 COMPILER V7.07   MENU                                                                  03/10/2006 09:06:41 PAGE 2   

  56   4                                      else
  57   4                                              (*pSubMenu)++;
  58   4                                      DispSubMenuNum(*pSubMenu,MAIN_MENU_MAX_NUM,
  59   4                                              MAIN_MENU_X0,MAIN_MENU_Y0,MAIN_MENU_WIDTH);
  60   4                                      break;
  61   4                              case KEY_OK:
  62   4                                      return  TRUE;
  63   4                          }
  64   3                  }
  65   2              }
  66   1              return  TRUE;
  67   1      }
  68          //MAIN_MENU_MAX_NUM = sizeof(MainMenuString)/sizeof(MainMenuString[0])/2
  69          BOOL    LeakCheckMenu(void)
  70          {
  71   1              ClearLCD(0x28,6,        10,20,200);
  72   1              DispASCIIStr(MainMenuString[LAYER1_LEAK_CHECK-1+
  73   1                      sizeof(MainMenuString)/sizeof(MainMenuString[0])/2*g_ucLanguageIndex],
  74   1                                              14,10,0);       //DispASCIIStr("LEAK CHECK",14,10,0);
  75   1      
  76   1              VerLine(0x80,   11,             72,     32);
  77   1              VerLine(0x80,   20,             80,     16);
  78   1              VerLine(0x80,   22,             72,     32);
  79   1      
  80   1              HorLine(0xff,   11,             72,             4);
  81   1              HorLine(0xff,   11,             104,    4);
  82   1              HorLine(0xff,   20,             80,             2);
  83   1              HorLine(0xff,   20,             96,             2);
  84   1              HorLine(0xff,   22,             72,             5);
  85   1              HorLine(0xff,   22,             104,    5);
  86   1      
  87   1              //DispASCIIStr("START?",16,160,0);
  88   1              DispASCIIStr(CommonTip[TIP_START_ID + COMMON_TIP_MAX_NUM*g_ucLanguageIndex],14,160,0);
  89   1      
  90   1              while(1)
  91   1              {
  92   2                      g_ucKeyData = 0;
  93   2                      if(!SleepAndQueryMsg(1000))
  94   2                      {
  95   3                              switch(g_ucKeyData)
  96   3                              {
  97   4                              case KEY_OK://Start Leak Check                          
  98   4                                      DispASCIIStr    (CommonTip[TIP_CHECKING_ID + COMMON_TIP_MAX_NUM*g_ucLanguageIndex],
  99   4                                                                      14,160,0);
 100   4                                      if(LeakCheck())
 101   4                                              DispASCIIStr(CommonTip[TIP_PASS_ID + COMMON_TIP_MAX_NUM*g_ucLanguageIndex],
 102   4                                                                      14,160,0);
 103   4                                      else
 104   4                                      {
 105   5                                              DispASCIIStr(CommonTip[TIP_FAIL_ID + COMMON_TIP_MAX_NUM*g_ucLanguageIndex],
 106   5                                                                              14,160,0);
 107   5                                              SleepAndQueryMsg(1000);
 108   5                                              DispASCIIStr(CommonTip[TIP_START_ID + COMMON_TIP_MAX_NUM*g_ucLanguageIndex],
 109   5                                                                              14,160,0);
 110   5                                      }       
 111   4                                      break;
 112   4                              case KEY_ESCAPE:
 113   4                                      return  TRUE;
 114   4                          }
 115   3                  }
 116   2              }
 117   1              return  TRUE;
C51 COMPILER V7.07   MENU                                                                  03/10/2006 09:06:41 PAGE 3   

 118   1      }
 119          //void  HangUpMenu(void);
 120          #define         VEHICLE_MSG_X0                  12
 121          #define         VEHICLE_MSG_Y0                  64
 122          #define         VEHICLE_MSG_WIDTH               32              
 123          BOOL    VehicleMsgMenu(void)
 124          {
 125   1              unsigned char   ucSubMenu=1;
 126   1      
 127   1      DispVehicleMsg:
 128   1              ClearLCD(0x28,2,        10,36,200);
 129   1              DispASCIIStr(MainMenuString[LAYER1_VEHICLE_MSG-1+
 130   1                      sizeof(MainMenuString)/sizeof(MainMenuString[0])/2*g_ucLanguageIndex],
 131   1                                              14,10,0);       //DispASCIIStr("SETTING",14,10,0);      
 132   1              DispSubMenuContent(VehicleMsgMenuString,VEHICLE_MSG_MENU_MAX_NUM,       
 133   1                                                      VEHICLE_MSG_X0,VEHICLE_MSG_Y0,          VEHICLE_MSG_WIDTH);
 134   1              DispSubMenuNum(ucSubMenu,                               VEHICLE_MSG_MENU_MAX_NUM,       
 135   1                                                      VEHICLE_MSG_X0,VEHICLE_MSG_Y0,          VEHICLE_MSG_WIDTH);
 136   1              while(TRUE)
 137   1              {
 138   2                      g_ucKeyData = 0;
 139   2                      if(!SleepAndQueryMsg(1000))
 140   2                      {
 141   3                              switch(g_ucKeyData)
 142   3                              {
 143   4                              case KEY_UP:
 144   4                                      if(ucSubMenu == 1)
 145   4                                              ucSubMenu = VEHICLE_MSG_MENU_MAX_NUM;
 146   4                                      else
 147   4                                              (ucSubMenu)--;
 148   4                                      DispSubMenuNum(ucSubMenu,VEHICLE_MSG_MENU_MAX_NUM,      
 149   4                                                                      VEHICLE_MSG_X0,VEHICLE_MSG_Y0,          VEHICLE_MSG_WIDTH);
 150   4                                      break;
 151   4                              case KEY_DOWN:
 152   4                                      if(ucSubMenu == VEHICLE_MSG_MENU_MAX_NUM)
 153   4                                              ucSubMenu = 1;
 154   4                                      else
 155   4                                              (ucSubMenu)++;
 156   4                                      DispSubMenuNum(ucSubMenu,VEHICLE_MSG_MENU_MAX_NUM,
 157   4                                                                      VEHICLE_MSG_X0,VEHICLE_MSG_Y0,          VEHICLE_MSG_WIDTH);
 158   4                                      break;
 159   4                              case KEY_OK:
 160   4                                      switch(ucSubMenu)
 161   4                                      {
 162   5                                      case VEHICLE_MSG_REG_NO :
 163   5                                              VehicleRegNo();
 164   5                                              break;
 165   5                                      case VEHICLE_MSG_RPM:
 166   5                                              //;
 167   5                                              break;
 168   5                                      case VEHICLE_MSG_FUEL_TYPE:
 169   5                                              VehicleFuelType();
 170   5                                              break;
 171   5                                              //;
 172   5                                      }
 173   4                                      goto DispVehicleMsg;
 174   4                                      break;
 175   4                              case KEY_ESCAPE:
 176   4                                      return  TRUE;
 177   4                              }
 178   3                      }
 179   2              }
C51 COMPILER V7.07   MENU                                                                  03/10/2006 09:06:41 PAGE 4   

 180   1              return TRUE;
 181   1      }
 182          
 183          
 184          
 185          /*=================================================
 186          传人参数:ucMeasureType 作用是受上位机控制时,在其它
 187                            界面可以转换到对应的测量屏。
 188                            D7-------本参数 (1)有效  (0)无效
 189                            D1 D0---
 190                                           |--00          无意义
 191                                           |--01          普通测量
 192                                           |--10          怠速测量
 193                                           |--11          双怠速测量
 194          **================================================*/    
 195          BOOL    MeasureMenu(unsigned char ucMeasureType)
 196          {       
 197   1              unsigned char   ucSubMenu=1;
 198   1      
 199   1      DispMeasure:
 200   1              ClearLCD(0x28,6,        10,30,200);
 201   1              DispASCIIStr(MainMenuString[LAYER1_MEASURE-1+
 202   1                      sizeof(MainMenuString)/sizeof(MainMenuString[0])/2*g_ucLanguageIndex],
 203   1                                              14,10,0);       //DispASCIIStr("SETTING",14,10,0);      
 204   1              DispSubMenuContent(MeasureMenuString,MEASURE_MENU_MAX_NUM,      
 205   1                                                      10,64,          32);
 206   1              DispSubMenuNum(ucSubMenu,                        MEASURE_MENU_MAX_NUM,  
 207   1                                                      10,64,          32);
 208   1              while(TRUE)
 209   1              {
 210   2                      g_ucKeyData = 0;
 211   2                      if((ucMeasureType & 0x80) || (!SleepAndQueryMsg(1000)))
 212   2                      {
 213   3                              if (ucMeasureType & 0x80)
 214   3                              {
 215   4                                      g_ucKeyData = KEY_OK;
 216   4                                      ucSubMenu       = ucMeasureType & 0x03;
 217   4                              }
 218   3                              switch(g_ucKeyData)
 219   3                              {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -