📄 keyproc.lst
字号:
C51 COMPILER V7.20 KEYPROC 04/28/2005 15:49:16 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE KEYPROC
OBJECT MODULE PLACED IN keyproc.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE keyproc.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x51.h>
2 #include <string.h>
3 #include "lcd.h"
4 #include "keyproc.h"
5 #include "command.h"
6
7 unsigned char s[16];
8 unsigned char *submenu[]={"voice","channel","bright","contrast","red","green","blue"};
9 unsigned char position_num = 0;
10 unsigned char *first,*second;
11
12 extern bit onoffFlag;
13 extern bit receiveFlag;
14 extern bit osd,subosd;
15 extern unsigned char command,recommand;
16 extern unsigned char address;
17 extern unsigned char menusub;
18
19
20 extern void serial(void);
21 extern void num2string(unsigned char number);
22
23 void sendAddress_key(void)
24 {
25 1 // if(onoffFlag)
26 1 // {
27 1 position_num = 0;
28 1 lcd_cls();
29 1 lcd_string16(0,"wait...");
30 1
31 1 command = address;
32 1 SCON = 0x0e8;
33 1 serial();
34 1
35 1 // lcd_cls();
36 1 if(receiveFlag)
37 1 {
38 2 if(recommand == command)
39 2 {
40 3 onoffFlag = ~onoffFlag;
41 3 if(onoffFlag)
42 3 {
43 4 lcd_string16(0,"please insert CMD:");
44 4 return;
45 4 }
46 3 else
47 3 {
48 4 lcd_string16(0,"please insert ID");
49 4 return;
50 4 }
51 3 }
52 2 lcd_string16(0,"error");
53 2 return;
54 2 }
55 1 lcd_string16(0,"ID is not exist!");
C51 COMPILER V7.20 KEYPROC 04/28/2005 15:49:16 PAGE 2
56 1
57 1 // return;
58 1 // }
59 1 }
60
61 void power_key(void)
62 {
63 1 if(onoffFlag)
64 1 {
65 2 lcd_cls();
66 2 lcd_string16(0,"wait...");
67 2 command = power;
68 2 SCON = 0x0e0;
69 2 serial();
70 2 lcd_cls();
71 2 if(receiveFlag)
72 2 {
73 3 if(recommand == 0x81)
74 3 {
75 4 lcd_string16(0,"POWER ON");
76 4 return;
77 4 }
78 3 else if(recommand == 0x80)
79 3 {
80 4 lcd_string16(0,"POWER OFF");
81 4 return;
82 4 }
83 3 }
84 2 lcd_string16(0,"error");
85 2 }
86 1 }
87
88 void menu_key(void)
89 {
90 1 if(onoffFlag)
91 1 {
92 2 lcd_cls();
93 2 lcd_string16(0,"wait...");
94 2 command = menu;
95 2 SCON = 0x0e0;
96 2 serial();
97 2 lcd_cls();
98 2 if(receiveFlag)
99 2 {
100 3 if(recommand == 0x0c1)
101 3 {
102 4 lcd_string16(0,"OSD ON");
103 4 osd = 1;
104 4 subosd = 0;
105 4 return;
106 4 }
107 3 else if(recommand == 0x0c0)
108 3 {
109 4 lcd_string16(0,"OSD OFF");
110 4 osd = 0;
111 4 subosd = 0;
112 4 menusub = 0;
113 4 return;
114 4 }
115 3 }
116 2 lcd_string16(0,"error");
117 2 }
C51 COMPILER V7.20 KEYPROC 04/28/2005 15:49:16 PAGE 3
118 1 }
119
120 void up_key()
121 {
122 1 if(onoffFlag)
123 1 {
124 2 if(osd)
125 2 {
126 3 // lcd_cls();
127 3 // lcd_string16(0,"wait...");
128 3 command = up;
129 3 SCON = 0x0e0;
130 3 serial();
131 3 if(receiveFlag)
132 3 {
133 4 if(subosd ==0)
134 4 {
135 5 menusub++;
136 5 if(menusub > 7)menusub=0;
137 5 num2string(recommand);
138 5 strcat(s,submenu[menusub]);
139 5 lcd_cls();
140 5 lcd_string16(0,s);
141 5 return;
142 5 }
143 4 num2string(recommand);
144 4 lcd_string16(0,s);
145 4 }
146 3 }
147 2 }
148 1 }
149
150 void down_key()
151 {
152 1 if(onoffFlag)
153 1 {
154 2 if(osd)
155 2 {
156 3 command = down;
157 3 SCON = 0x0e0;
158 3 serial();
159 3 if(receiveFlag)
160 3 {
161 4 if(subosd ==0)
162 4 {
163 5 menusub--;
164 5 if(menusub < 0)menusub=7;
165 5 num2string(recommand);
166 5 strcat(s,submenu[menusub]);
167 5 lcd_cls();
168 5 lcd_string16(0,s);
169 5 return;
170 5 }
171 4 num2string(recommand);
172 4 lcd_string16(0,s);
173 4 }
174 3 }
175 2 }
176 1 }
177
178 void enter_key(void)
179 {
C51 COMPILER V7.20 KEYPROC 04/28/2005 15:49:16 PAGE 4
180 1 if(onoffFlag)
181 1 {
182 2 if(osd)
183 2 {
184 3 command = enter;
185 3 SCON = 0x0e0;
186 3 serial();
187 3 if(receiveFlag)
188 3 {
189 4 if(recommand == 0x0e1)subosd=1;
190 4 else if(recommand == 0x0e0)
191 4 {subosd = 0;}
192 4 }
193 3 }
194 2 }
195 1 }
196
197 void del_key(void)
198 {
199 1 if(~onoffFlag)
200 1 {
201 2 first = " "; //////???????????????????????????
202 2 second = " "; //////???????????????????????????
203 2 address = 0;
204 2 lcd_cls();
205 2 }
206 1 }
207
208 void number_key(unsigned char number,unsigned char *char_number)
209 {
210 1 if(~onoffFlag)
211 1 {
212 2 lcd_string16(13,first);
213 2 lcd_string16(14,second);
214 2 lcd_string16(15,char_number);
215 2
216 2 first = second;
217 2 second = char_number;
218 2
219 2 position_num++;
220 2 if(position_num>3)
221 2 {
222 3 position_num=0;
223 3 address = 0;
224 3 }
225 2 else
226 2 {
227 3 unsigned char size = 10;
228 3 // for(i = 0; i<(position_num-1) ; i ++)
229 3 // {
230 3 // size = size * 10;
231 3 // }
232 3 // size = size / 10;
233 3 address=address*size+number;
234 3 }
235 2 }
236 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 574 ----
CONSTANT SIZE = 148 ----
C51 COMPILER V7.20 KEYPROC 04/28/2005 15:49:16 PAGE 5
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 44 5
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 + -