📄 key_cmd.lst
字号:
C51 COMPILER V6.23a KEY_CMD 12/11/2002 14:32:10 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE KEY_CMD
OBJECT MODULE PLACED IN D:\77E58\KEY_CMD.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE D:\77E58\KEY_CMD.C DB SB OE
stmt level source
1
2 /************************************************************************/
3 /* */
4 /* Filename: key_cmd.c */
5 /************************************************************************/
6 #include "global.h"
7 #include "util.h"
8 #include "i2c.h"
9 #include "dsa.h"
10 #include "key_cmd.h"
11 #include "mb90092.h"
12
13
14
15 void update_layer_status(unsigned char direct);
16 void issue_0_layer_status(void);
17 void issue_1_layer_status(void);
18 void issue_2_layer_status(void);
19
20
21 extern unsigned char IrKey;
22 extern bit bdata IrKeyOn;
23 extern bit bdata IR_repeat;
24 extern unsigned int IR_press_time;
25
26
27 extern bit OSD_change_flag;
28 extern unsigned char osd_task;
29
30 extern unsigned char xdata menu_layer;
31 extern unsigned char xdata main_task;
32 extern unsigned char xdata navi_task;
33 extern unsigned char xdata dvd_task;
34 extern unsigned char xdata tv_task;
35 extern unsigned char xdata radio_task;
36 extern unsigned char xdata gsm_task;
37 extern unsigned char xdata real_time_task;
38 extern unsigned char xdata zoom_task;
39 extern unsigned char xdata search_address_task;
40 extern unsigned char xdata record_task;
41 extern unsigned char xdata speech_task;
42 extern unsigned char xdata road_display_task;
43 extern unsigned char xdata lati_longti_task;
44 extern unsigned char xdata car_connect_task;
45
46 extern unsigned char gps_task;
47
48 void KEY_servo(void)
49 {
50 1 if(!IrKeyOn) return;
51 1 IrKeyOn = 0;
52 1 IR_press_time = 0;
53 1 if(IR_repeat) IR_repeat = 0;
54 1
55 1 switch(IrKey)
C51 COMPILER V6.23a KEY_CMD 12/11/2002 14:32:10 PAGE 2
56 1 {
57 2 case KEY_DOWN:
58 2 IrKey=0;
59 2 if(menu_layer==0){
60 3 issue_0_layer_status();
61 3 menu_layer=1;//return;
62 3 }
63 2 update_layer_status(1);
64 2 OSD_change_flag = 1;
65 2 osd_task = 0;
66 2 break;
67 2
68 2 case KEY_UP:
69 2 IrKey=0;
70 2 if(menu_layer==0){
71 3 issue_0_layer_status();
72 3 menu_layer=1;//return;
73 3
74 3 }
75 2 update_layer_status(0);
76 2 OSD_change_flag = 1;
77 2 osd_task = 0;
78 2 break;
79 2
80 2
81 2 case KEY_RIGHT:
82 2 IrKey=0;
83 2 menu_layer = 0;
84 2 main_selected_status=0;
85 2 update_layer_status(1);
86 2 OSD_change_flag = 1;
87 2 osd_task = 0;
88 2
89 2 break;
90 2
91 2 case KEY_LEFT:
92 2 menu_layer = 0;
93 2 main_selected_status=0;
94 2 update_layer_status(0);
95 2 IrKey=0;
96 2 OSD_change_flag = 1;
97 2 osd_task = 0;
98 2
99 2 break;
100 2
101 2 case KEY_SELECT:
102 2 IrKey=0;
103 2 switch(menu_layer)
104 2 {
105 3 case 0:
106 3 issue_0_layer_status();
107 3 menu_layer++;
108 3 //break;
109 3
110 3 case 1:
111 3 issue_1_layer_status();
112 3 break;
113 3
114 3 case 2:
115 3 issue_2_layer_status();
116 3 break;
117 3
C51 COMPILER V6.23a KEY_CMD 12/11/2002 14:32:10 PAGE 3
118 3
119 3 default:
120 3 break;
121 3
122 3
123 3 }
124 2
125 2
126 2
127 2 update_selected_menu();
128 2
129 2 menu_layer++;
130 2 OSD_change_flag = 1;
131 2 osd_task = 0;
132 2 break;
133 2
134 2 case KEY_RETURN:
135 2 if(menu_layer)menu_layer--;
136 2 update_layer_status(0);
137 2 IrKey=0;
138 2 OSD_change_flag = 1;
139 2 osd_task = 0;
140 2
141 2 break;
142 2
143 2
144 2 }
145 1
146 1
147 1
148 1
149 1 }
150
151
152
153
154
155
156 void update_layer_status(unsigned char direct)
157 {
158 1
159 1 if(direct){
160 2 if(menu_layer==0){main_task++; if(main_task > Main_task_end)main_task=Main_task_begin;}
161 2 else
162 2 if(menu_layer==1){
163 3 if(main_task==Main_task_NAVI) { navi_task++; if(navi_task > Navi_task_end)navi_task=Navi_task_b
-egin;}
164 3 if(main_task==Main_task_DVD) { dvd_task++; if(dvd_task > Dvd_task_end)dvd_task=Dvd_task_begin
-;}
165 3 if(main_task==Main_task_TV) { tv_task++; if(tv_task > TV_task_end)tv_task=TV_task_begin;}
166 3 if(main_task==Main_task_RADIO){ radio_task++;if(radio_task > Radio_task_end)radio_task=Radio_ta
-sk_begin;}
167 3 if(main_task==Main_task_GSM){ gsm_task++; if(gsm_task > GSM_task_end)gsm_task=GSM_task_begin;}
168 3
169 3 }
170 2 else
171 2 if(menu_layer==2){
172 3 if(main_task==Main_task_NAVI)
173 3 {
174 4 if(navi_task==Navi_real_time) { real_time_task++; if(real_time_task > RealTime_
-task_end)real_time_task=RealTime_task_begin;}
175 4 if(navi_task==Navi_set_zoom) { zoom_task++; if(zoom_task > Zoom_task_end)
C51 COMPILER V6.23a KEY_CMD 12/11/2002 14:32:10 PAGE 4
-zoom_task=Zoom_task_begin;}
176 4 if(navi_task==Navi_search_address) { search_address_task++; if(search_address_task > Sear
-chAddress_task_end)search_address_task=SearchAddress_task_begin;}
177 4 if(navi_task==Navi_record) { record_task++; if(record_task > Record_task_
-end)record_task=Record_task_begin;}
178 4 if(navi_task==Navi_speech) { speech_task++; if(speech_task > Speech_task_
-end)speech_task=Speech_task_begin;}
179 4 if(navi_task==Navi_road_display) { road_display_task++; if(road_display_task > RoadDi
-splay_task_end)road_display_task=RoadDisplay_task_begin;}
180 4 if(navi_task==Navi_lati_longti) { lati_longti_task++; if(lati_longti_task > LatiLon
-gti_task_end)lati_longti_task=LatiLongti_task_begin;}
181 4 if(navi_task==Navi_car_connect) { car_connect_task++; if(car_connect_task > CarConn
-ect_task_end)car_connect_task=CarConnect_task_begin;}
182 4 }
183 3 else
184 3 if(main_task==Main_task_DVD){
185 4
186 4
187 4 }
188 3 else
189 3 if(main_task==Main_task_TV){
190 4
191 4
192 4 }
193 3
194 3 else
195 3 if(main_task==Main_task_RADIO){
196 4
197 4
198 4 }
199 3 else
200 3 if(main_task==Main_task_GSM){
201 4
202 4
203 4 }
204 3
205 3
206 3
207 3
208 3 }/*if(menu_layer==2)*/
209 2
210 2 }
211 1 else
212 1 {
213 2
214 2 if(menu_layer==0){
215 3 if(main_task==Main_task_begin)main_task=Main_task_end;
216 3 else main_task--;
217 3 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -