📄 submenu.lst
字号:
C51 COMPILER V7.07 SUBMENU 03/10/2006 09:06:41 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE SUBMENU
OBJECT MODULE PLACED IN subMenu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE subMenu.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //SubMenu.c
2 /**========================================================================**
3 ***本c文件以"..\c1335_public\c1335_driver.h"为基础,显示三级、四级菜单。
4 ***供第二级菜单调用。
5 ***文件层次:main.c <- menu.c <- subMenu.c <- c1335_driver.c
6 ***=========================================================================*/
7 #include "config.h"
8 #include "c1335_driver.h"
9 #include "subMenu.h"
10 #include "IIC24c02.h"
11 //#include "config.h"
12 extern unsigned char KeyScan(void);
13 extern unsigned char g_ucLanguageIndex;
14 unsigned char xdata RegNoData[20]={ 0,0,0,0,0,
15 0,0,0,0,0,
16 0,0,0,0,0,
17 0,0,0,0,0};
18 unsigned char xdata g_ucFuelType;
19 //#define MAIN_MENU_MAX_NUM 8
20 unsigned char* code MainMenuString[MAIN_MENU_MAX_NUM*2]=
21 {
22 "LEAK CHECK",
23 "HANG-UP TEST",
24 "VEHICLE MSG",
25 "MESSURE",
26 "FUNCTION",
27 "HELP",
28 "DIAGNOSE",
29 "SETTING",
30 "\X82\X83\X84\X85", //泄漏检查
31 "\X86\X87\X84\X85", //吸附检查
32 "\X88\X89\X8A\X8B", //车辆信息
33 "\X8c\X8d", //测量
34 "\X93\X94\X95\X96", //功能选择
35 "\X9b\X9c", //帮助
36 "\X9d\X9e", //诊断
37 "\X9f\Xa0" //设置
38 };
39 //#define MEASURE_MENU_MAX_NUM 3
40 unsigned char* code MeasureMenuString[MEASURE_MENU_MAX_NUM*2]=
41 {
42 "COMMON MEAS.",
43 "IDLE MEAS.",
44 "DUAL MEAS.",
45 "\X8e\X8f\X8c\X8d", //普通测量
46 "\X90\X91\X8c\X8d", //怠速测量
47 "\X92\X90\X91\X8c\X8d" //双怠速测量
48 };
49 //#define VEHICLE_MSG_MENU_MAX_NUM 3
50 unsigned char* code VehicleMsgMenuString[VEHICLE_MSG_MENU_MAX_NUM*2]=
51 {
52 "VEHICLE REG.NO.",
53 "RPM MESSAGE",
54 "FUEL TYPE",
55 "\X88\Xbd\Xbe\Xbf", //车牌号码
C51 COMPILER V7.07 SUBMENU 03/10/2006 09:06:41 PAGE 2
56 "\Xc0\Xc1\X8A\X8B", //转速信息
57 "\Xc2\Xc3\Xc4\Xc5" //燃料类型
58 };
59 //#define FUEL_TYPE_MAX_NUM 4
60 unsigned char* code FuelTypeMenuString[FUEL_TYPE_MAX_NUM*2]=
61 {
62 "PETROL",
63 "LPG",
64 "CNG",
65 "ALCOHOL",
66 "\Xc6\Xc7", //汽油
67 "LPG",
68 "CNG", //
69 "\Xc8\Xc9" //酒精
70 };
71 //#define SETTING_MENU_MAX_NUM 3
72 unsigned char* code SettingMenuString[SETTING_MENU_MAX_NUM*2]=
73 {
74 "COM SETTING",
75 "TIME SETTING",
76 "LANGUAGE" ,
77 "\Xa3\Xa4\X9f\Xa0", //串口设置
78 "\Xa1\Xa2\X9f\Xa0", //时间设置
79 "\Xac\Xad\X9f\Xa0" //语言设置
80 };
81 //#define LANGUAGE_MENU_MAX_NUM 2
82 unsigned char* code LanguageMenuString[LANGUAGE_MENU_MAX_NUM*2]=
83 {
84 "CHINESE",
85 "ENGLISH",
86 "\Xae\Xaf ", //中文
87 "\Xb0\Xaf " //英文
88 };
89 //#define COM_MENU_MAX_NUM 3
90 unsigned char* code ComMenuString[COM_MENU_MAX_NUM*2]=
91 {
92 "PROTOCOL",
93 "BAUDRATE",
94 "ADDRESS" ,
95 "\Xa5\Xa6", //协议
96 "\Xa7\Xa8\Xa9", //波特率
97 "\Xaa\Xab" //地址
98 };
99
100 //#define FUNCTION_MENU_MAX_NUM 2
101 unsigned char* code FunctionMenuString[FUNCTION_MENU_MAX_NUM*2]=
102 {
103 "CALIBRATION",
104 "ZERO" ,
105 "\X97\X98", //校准
106 "\X99\X9a" //调零
107 };
108
109 //#define BUADRATE_MAX_NUM 4
110 unsigned char* code BaudRateString[BUADRATE_MAX_NUM]=
111 {
112 "57600",
113 "19200",
114 "9600 ",
115 "2400 "
116 };
117 unsigned char* code ProtocolString[4]=
C51 COMPILER V7.07 SUBMENU 03/10/2006 09:06:41 PAGE 3
118 {
119 "NEW PROTOCOL",
120 "OLD PROTOCOL",
121 "",
122 "",
123 };
124
125 unsigned char* code CommonTip[]=
126 {
127 "MENU",
128 " START? ",
129 "ENTER?",
130 "SAVE? ",
131 "SAVED ",
132 "CHECKING...",
133 " PASS ",
134 " FAIL ",
135 "\X80\X81", // "菜单"
136 " \Xb7\Xb8?", // "开始? ",
137 "\Xb3\Xb4? ", // "进入? ",
138 "\Xb1\Xb2?", // "保存? ",
139 "\Xbc\Xb1\Xb2", // "已保存"
140 "\X84\X85\Xae...", // "检查中..."
141 " \Xba\Xbb ", // " 合格 "
142 " \Xb9\Xba\Xbb " // " 不合格 "
143 };
144 #define COMMON_TIP_NUM sizeof(CommonTip)/sizeof(CommonTip[0])/2
145 unsigned char g_ucKeyData;
146
147 BOOL SleepAndQueryMsg(unsigned int nDelayTime)
148 {
149 1 while(nDelayTime--)
150 1 {
151 2 g_ucKeyData = KeyScan();
152 2 if(g_ucKeyData)
153 2 return FALSE;
154 2 DelayMS(1);
155 2 }
156 1 return TRUE;
157 1 }
158 /*======================================================================**
159 **函 数 名:void KeyNote(void); **
160 **功能介绍:显示 2 区图形方式显示按键提示信息 **
161 **传人参数:无**
162 **编 写:黄伟德 日期:2005-04-11 **
163 **======================================================================*/
164 void KeyNote(void)
165 {
166 1 unsigned char i;
167 1 for (i=0;i<6;i++)
168 1 {
169 2 DrawRect(7*i, 216,1);
170 2 DispBmp16x24(&KEY_NOTE[48*i], 1+7*i, 220,0);
171 2 }
172 1 }
173
174 void DispSubMenuNum( unsigned char Number,
175 unsigned char MaxNum,
176 unsigned char X,
177 unsigned char Y,
178 unsigned char RowWidth)
179 {
C51 COMPILER V7.07 SUBMENU 03/10/2006 09:06:41 PAGE 4
180 1 unsigned char i,color;
181 1 Y -= RowWidth;
182 1 for(i=1;i<=MaxNum;i++)
183 1 {
184 2 if(i == Number) color = 1;
185 2 else color = 0;
186 2 DispCHAR_16x8(&ASCII_16[(16+i)*16], X,Y+RowWidth*i,color);
187 2 }
188 1 }
189 void DispSubMenuContent( unsigned char* str[],
190 unsigned char MaxNum,
191 unsigned char X,
192 unsigned char Y,
193 unsigned char RowWidth)
194 {
195 1 unsigned char i;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -