📄 菜单.lst
字号:
C51 COMPILER V8.08 菜单 12/05/2007 12:18:08 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE 菜单
OBJECT MODULE PLACED IN 菜单.OBJ
COMPILER INVOKED BY: d:\Keil3\C51\BIN\C51.EXE 菜单.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /* Module :Kbdmenu.c
2 Date:------
3 Usage:P10~P12 use to DownKey,UpKey,CRKey
4 */
5
6 #include "reg51.h"
7
8 #define uchar unsigned char
9 #define SIZE_OF_KEYBD_MENU 20 //菜单长度
10
11
12 uchar KeyFuncIndex=0;
13 //uchar KeyFuncIndexNew=0;
14
15 void (*KeyFuncPtr)(); //按键功能指针
16
17 typedef struct
18 {
19 uchar KeyStateIndex; //当前状态索引号
20 uchar KeyDnState; //按下"向下"键时转向的状态索引号
21 uchar KeyUpState; //按下"向上"键时转向的状态索引号
22 uchar KeyCrState; //按下"回车"键时转向的状态索引号
23 void (*CurrentOperate)(); //当前状态应该执行的功能操作
24 } KbdTabStruct;
25
26 KbdTabStruct code KeyTab[SIZE_OF_KEYBD_MENU]=
27 {
28 { 0, 0, 0, 1,(*DummyJob)},//顶层
*** ERROR C202 IN LINE 28 OF 菜单.C: 'DummyJob': undefined identifier
29
30 { 1, 2, 0, 3,(*DSPUserInfo)},//第二层
*** ERROR C202 IN LINE 30 OF 菜单.C: 'DSPUserInfo': undefined identifier
31 { 2, 1, 1, 9,(*DSPServiceInfo)}, //第二层
*** ERROR C202 IN LINE 31 OF 菜单.C: 'DSPServiceInfo': undefined identifier
32
33 { 3, 0, 0, 1,(*DSPVoltInfo)},//第三层>>DSPUserInfo的展开
*** ERROR C202 IN LINE 33 OF 菜单.C: 'DSPVoltInfo': undefined identifier
34 { 4, 0, 0, 1,(*DSPCurrInfo)},//第三层>>DSPUserInfo的展开
*** ERROR C202 IN LINE 34 OF 菜单.C: 'DSPCurrInfo': undefined identifier
35 { 5, 0, 0, 1,(*DSPFreqInfo)},//第三层>>DSPUserInfo的展开
*** ERROR C202 IN LINE 35 OF 菜单.C: 'DSPFreqInfo': undefined identifier
36 { 6, 0, 0, 1,(*DSPCableInfo)},//第三层>>DSPUserInfo的展开
*** ERROR C202 IN LINE 36 OF 菜单.C: 'DSPCableInfo': undefined identifier
37 ...........
*** ERROR C141 IN LINE 37 OF 菜单.C: syntax error near '...'
38 { 9, 0, 0, 1,(*DSPSetVoltLevel)}//第三层>>DSPServiceInfo的展开
*** ERROR C141 IN LINE 38 OF 菜单.C: syntax error near '}'
39 ..........
40 };
41
42 void GetKeyInput(void)
43 {
*** ERROR C141 IN LINE 43 OF 菜单.C: syntax error near '{'
44 uchar KeyValue;
45 KeyValue=P1&0x07; //去掉高5bit
C51 COMPILER V8.08 菜单 12/05/2007 12:18:08 PAGE 2
*** ERROR C231 IN LINE 45 OF 菜单.C: 'KeyValue': redefinition
*** ERROR C247 IN LINE 45 OF 菜单.C: non-address/-constant initializer
*** ERROR C231 IN LINE 45 OF 菜单.C: 'KeyValue': redefinition
46 delay(50000);
*** ERROR C141 IN LINE 46 OF 菜单.C: syntax error near '50000'
47 switch(KeyValue)
*** ERROR C141 IN LINE 47 OF 菜单.C: syntax error near 'switch'
48 {
*** ERROR C129 IN LINE 48 OF 菜单.C: missing ';' before '{'
49 case 1: //回车键,找出新的菜单状态编号
50 {
51 KeyFuncIndex=KeyTab[KeyFuncIndex].KeyCrState;
52 break;
53 }
54 case 2: //向上键,找出新的菜单状态编号
55 {
56 KeyFuncIndex=KeyTab[KeyFuncIndex].KeyUpState;
57 break;
58 }
59 case 4: //向下键,找出新的菜单状态编号
60 {
61 KeyFuncIndex=KeyTab[KeyFuncIndex].KeyDnState;
62 break;
63 }
64 default: //按键错误的处理
65 ......
66 break;
67 }
68 KeyFuncPtr=KeyTab[KeyFuncIndex].CurrentOperate;
69 (*KeyFuncPtr)();//执行当前按键的操作
70 }
71 //其中KeyTab的设计颇费尽心机
72
C51 COMPILATION COMPLETE. 0 WARNING(S), 16 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -