📄 munu.lst
字号:
C51 COMPILER V8.05a MUNU 04/09/2007 01:03:38 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MUNU
OBJECT MODULE PLACED IN munu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE munu.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"STC12C5412AD.h"
2 //#include"lcd12864_driver_new.h"
3 //#include"user.h"
4
5
6 #define size_of_keybd_menu 29
7 #define uint unsigned int
8 #define uchar unsigned char
9
10 extern void lcd_init();
11 extern void delay(uint time);
12 extern void dis_one_zi(uchar x_add,uchar y_add,uchar code *po,bit back_flag,bit char_moudle);
13 extern void dis_one_char(uchar x,uchar y,uchar asc_num,bit b_flag);
14 extern wave();
15
16 uchar keyfuncindex=0;
17 void(*keyfuncptr)();
18
19 void d0()
20 {
21 1 }
22
23 void d1()
24 {
25 1 }
26 void d2()
27 {
28 1 }
29 void d3()
30 {
31 1 }
32 void d4()
33 {
34 1 }
35 void d5()
36 {
37 1 }
38 void d6()
39 {
40 1 }
41 void d7()
42 {
43 1 }
44 void d8()
45 {
46 1 }
47 void d9()
48 {
49 1 }
50 void d10()
51 {
52 1 }
53
54 typedef struct
55 {
C51 COMPILER V8.05a MUNU 04/09/2007 01:03:38 PAGE 2
56 uchar keystateindex;
57 uchar keydnstate;
58 uchar keyupstate;
59 uchar keycrstate;
60 void(*currentoperate)();
61 } kbdtabstruct;
62
63 kbdtabstruct code keytab[size_of_keybd_menu]=
64 { //第一行表示在0级菜单时按下向下键则转到1级菜单
65 //按下向上键则转1级菜单,按下回车键则转5级菜单
66 // 下 上 回车
67
68 { 0, 0, 0, 1, (* d0)},
69 { 1, 2, 6, 7, (* d1)},
70 { 2, 3, 1,10, (* d2)},
71 { 3, 4, 2,13, (* d3)},
72 { 4, 5, 3,16, (* d4)},
73 { 5, 6, 4,27, (* d5)},
74 { 6, 1, 5, 0, (* d6)},
75 { 7, 8, 7, 9, (* d7)},
76 { 8, 8, 7, 1, (* d8)},
77 { 9,20,19, 1, (* d9)},//电压调节
78 {10,11,10,12, (*d10)},
79
80 };
81 void getkeyinput(void)
82 {
83 1
84 1 uchar key_value,temp;
85 1
86 1 re: temp=P3;
87 1 temp|=0x03;
88 1 P3=temp;
89 1 key_value=P2&0x03;
90 1 // delay(30);
91 1
92 1 switch(key_value)
93 1 {
94 2 case 1:
95 2 {
96 3 keyfuncindex=keytab[keyfuncindex].keycrstate;
97 3 break;
98 3 }
99 2 case 2:
100 2 {
101 3 keyfuncindex=keytab[keyfuncindex].keyupstate;
102 3 break;
103 3 }
104 2 case 3:
105 2 {
106 3 keyfuncindex=keytab[keyfuncindex].keydnstate;
107 3 break;
108 3 }
109 2 default:
110 2 goto re;
111 2 }
112 1
113 1 keyfuncptr=keytab[keyfuncindex].currentoperate;
114 1 (*keyfuncptr)();
115 1 // delay(120);
116 1 }
117
C51 COMPILER V8.05a MUNU 04/09/2007 01:03:38 PAGE 3
118
119
120
121
122 void main(void)
123 {
124 1
125 1
126 1 keyfuncindex=0;
127 1 lcd_init();
128 1 dis_one_char(1,1,1,1);
129 1 wave();
130 1
131 1 while(1)
132 1 {
133 2 getkeyinput();
134 2
135 2 }
136 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 143 ----
CONSTANT SIZE = 203 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -