📄 main.lst
字号:
191 1 {
192 2 if(lcd_y>2)
193 2 {
194 3 xx=lcd_x+0x87;
195 3 yy=((lcd_y-3)<<4)+0x80;
196 3 }
197 2 else
198 2 {
199 3 xx=lcd_x+0x7f;
200 3 yy=((lcd_y-1)<<4)+0x80;
201 3 }
202 2 //--------------------反白选中区域----------------------------
203 2 lcd_write_ins(0x36); //扩展指令模式,形图开关开
204 2 for (i=0;i<16;i++) //一行处理显示
205 2 {
206 3 lcd_write_ins(yy++);lcd_write_ins(xx);
207 3 for (j=0;j<width;j++)
208 3 { lcd_write_da(0xff);}
209 3 }
210 2 lcd_write_ins(0x30); //基本指令模式
211 2 }
212 1 }
213 //----------------------------------------------lcd初始化
214 void lcd_begin(void)
215 {
216 1 lcd_delay();
217 1 lcd_write_ins(0x30);
218 1 lcd_write_ins(0x08);
219 1 lcd_write_ins(0x0e);
220 1 lcd_write_ins(0x01);
221 1 lcd_write_ins(0x06);
222 1 }
223 /********************************以下为键盘子程序*******************************************/
224 void key_delay(void) //按键延时15ms
225 {
226 1 uchar i; uint j;
227 1 for(i=0;i<50;i++)
228 1 {
229 2 for(j=0;j<2000;j++)
230 2 {
231 3 _nop_();
232 3 }
233 2 }
234 1 }
235 //-----------------------------------------按键功能;
236 void key_1(void){line[p++]='1';lcd_write_da('1');}
237 void key_2(void){line[p++]='2';lcd_write_da('2');}
238 void key_3(void){line[p++]='3';lcd_write_da('3');}
239 void key_4(void){line[p++]='4';lcd_write_da('4');}
240 void key_5(void){line[p++]='5';lcd_write_da('5');}
C51 COMPILER V7.20 MAIN 09/10/2005 16:29:02 PAGE 5
241 void key_6(void){line[p++]='6';lcd_write_da('6');}
242 void key_7(void){line[p++]='7';lcd_write_da('7');}
243 void key_8(void){line[p++]='8';lcd_write_da('8');}
244 void key_9(void){line[p++]='9';lcd_write_da('9');}
245 void key_0(void){line[p++]='0';lcd_write_da('0');}
246 void key_up(void)
247 {
248 1 lcd_write_ins(0x0c);
249 1 up_down=up_down-1;
250 1 if(up_down==0){up_down=4;}
251 1 switch(up_down)
252 1 {
253 2 case 1:{fan(1,1,16);}break;
254 2 case 2:{fan(1,2,16);}break;
255 2 case 3:{fan(1,3,16);}break;
256 2 case 4:{fan(1,4,16);}break;
257 2 default:{}
258 2 }
259 1
260 1
261 1 }
262 void key_point(void){line[p++]='.';lcd_write_da('.');}
263 void key_13(void){}
264 void key_right(void){}
265 void key_enter(void)
266 {
267 1 if(up_down==1)
268 1 {
269 2 all=all+1;
270 2 if(all==3)all=1;
271 2 switch (all)
272 2 {
273 3 case 1:
274 3 main_make=0;
275 3 lcd_write_ins(0x01);
276 3 lcd_show(1,1,fre_mode_tab1);
277 3 lcd_show(1,2,fre_mode_tab2);
278 3 lcd_show(1,3,fre_mode_tab3);
279 3 lcd_show(1,4,fre_mode_tab4);
280 3 lcd_write_ins(0x98);break;
281 3 case 2:
282 3 send_fre_data();break;
283 3 default:{}
284 3 }
285 2 }
286 1 else if(up_down==2)
287 1 {
288 2 lcd_write_ins(0x01);
289 2 lcd_show(1,1,am_mode_tab1);
290 2 lcd_show(1,2,am_mode_tab2);
291 2 lcd_write_ins(0x88);
292 2 }
293 1 else if(up_down==3)
294 1 {
295 2 lcd_write_ins(0x01);
296 2 lcd_show(1,1,pa_sk_mode_tab1);
297 2 lcd_show(1,2,pa_sk_mode_tab2);
298 2 lcd_show(1,3,pa_sk_mode_tab3);
299 2 lcd_write_ins(0x98);
300 2 }
301 1 else if(up_down==4)
302 1 {
C51 COMPILER V7.20 MAIN 09/10/2005 16:29:02 PAGE 6
303 2 lcd_write_ins(0x01);
304 2 lcd_show(1,1,fm_mode_tab1);
305 2 lcd_show(1,2,fm_mode_tab2);
306 2 lcd_show(1,3,fm_mode_tab3);
307 2 lcd_show(1,4,fm_mode_tab4);
308 2 lcd_write_ins(0x98);
309 2 }
310 1 }
311 void key_left(void){}
312 void key_17(void){}
313 void key_18(void){}
314 void key_down(void)
315 {
316 1 lcd_write_ins(0x0c);
317 1 up_down=up_down+1;
318 1 if(up_down==5){up_down=1;}
319 1 switch(up_down)
320 1 {
321 2 case 1:{fan(1,1,16);}break;
322 2 case 2:{fan(1,2,16);}break;
323 2 case 3:{fan(1,3,16);}break;
324 2 case 4:{fan(1,4,16);}break;
325 2 default:{}
326 2 }
327 1 }
328 void key_return(void)
329 {
330 1 lcd_write_ins(0x01);
331 1 lcd_show(1,1,fre);
332 1 lcd_show(1,2,am);
333 1 lcd_show(1,3,pa_sk);
334 1 lcd_show(1,4,fm);
335 1 fan(1,up_down,16);
336 1 main_make=1;
337 1 }
338 //-------------------------------------------按键辩别;
339 void argue(uchar num)
340 {
341 1 if(num!=0xff)
342 1 {
343 2 switch(num)
344 2 {
345 3 case 1:{key_1();}break;
346 3 case 2:{key_2();}break;
347 3 case 3:{key_3();}break;
348 3 case 4:{key_4();}break;
349 3 case 5:{key_5();}break;
350 3 case 6:{key_6();}break;
351 3 case 7:{key_7();}break;
352 3 case 8:{key_8();}break;
353 3 case 9:{key_9();}break;
354 3 case 10:{key_0();}break;
355 3 case 11:{key_up();}break;
356 3 case 12:{key_point();}break;
357 3 case 13:{key_13();}break;
358 3 case 14:{key_right();}break;
359 3 case 15:{key_enter();}break;
360 3 case 16:{key_left();}break;
361 3 case 17:{key_17();}break;
362 3 case 18:{key_18();}break;
363 3 case 19:{key_down();}break;
364 3 case 20:{key_return();}break;
C51 COMPILER V7.20 MAIN 09/10/2005 16:29:02 PAGE 7
365 3 default:{}
366 3 }
367 2 }
368 1 }
369 //-------------------------------------------------按键扫描;
370 uchar first_line(void) //扫描第一行;
371 {
372 1 if(key_port0|key_port1==0) {key_delay();return(1);}
373 1 else if(key_port0|key_port2==0) {key_delay();return(2);}
374 1 else if(key_port0|key_port3==0) {key_delay();return(3);}
375 1 else if(key_port0|key_port4==0) {key_delay();return(4);}
376 1 else return(0xff);
377 1 }
378 uchar second_line(void) //扫描第二行;
379 {
380 1 if(key_port1|key_port0==0) {key_delay();return(5);}
381 1 else if(key_port1|key_port2==0) {key_delay();return(6);}
382 1 else if(key_port1|key_port3==0) {key_delay();return(7);}
383 1 else if(key_port1|key_port4==0) {key_delay();return(8);}
384 1 else return(0xff);
385 1 }
386 uchar third_line(void) //扫描第三行;
387 {
388 1 if(key_port2| key_port0==0) {key_delay();return(9);}
389 1 else if(key_port2|key_port1==0) {key_delay();return(10);}
390 1 else if(key_port2|key_port3==0) {key_delay();return(11);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -