📄 key.lst
字号:
-rite_hanzi(4,0,10);
252 2 }
253 1 else if(menue==1)
254 1 {
255 2 LCD_write_hanzi(0,0,10);Delay1ms(120);LCD_write_hanzi(0,2,3);Delay1ms(120);LCD_write_hanzi(0,4,10);LCD_w
-rite_hanzi(4,0,10);
256 2 }
257 1 else if(menue==2)
258 1 {
259 2 LCD_write_hanzi(0,2,10);Delay1ms(120);LCD_write_hanzi(0,4,3);Delay1ms(120);LCD_write_hanzi(0,0,10);LCD_w
-rite_hanzi(4,0,10);
260 2 }
261 1 else if(menue==3)
262 1 {LCD_write_hanzi(0,4,10);Delay1ms(120);LCD_write_hanzi(0,0,10);Delay1ms(120);LCD_write_hanzi(0,2,10);LCD
-_write_hanzi(4,0,28);}
263 1 else
264 1 {
265 2 LCD_write_hanzi(0,4,10);Delay1ms(120);LCD_write_hanzi(0,0,3);Delay1ms(120);LCD_write_hanzi(0,2,10);LCD_w
-rite_hanzi(4,0,10);
266 2 }
267 1
268 1
269 1 for(function=0;function<2;function++)
270 1 {
271 2 LCD_write_hanzi(function+1,0,function+4);
272 2 LCD_write_hanzi(function+1,2,function+6);
273 2 LCD_write_hanzi(function+1,4,function+8);
274 2 }
275 1
276 1 if(set<2)
277 1 {
278 2 TR0 = 1;
279 2 if(TF0==1)
280 2 {
281 3 counter++;
282 3 TF0=0;
283 3 }
284 2 if(counter==100)
285 2 {
286 3
287 3 counter=0;LCD_BLA=0;TR0 = 0;
288 3 if(menue==0)ok=1;
289 3 }
290 2 }
291 1
292 1
293 1
294 1 }
295 /*闹钟程序 */
296
297
C51 COMPILER V9.00 KEY 07/01/2013 12:13:30 PAGE 6
298
299 void clock()
300 {
301 1
302 1 Read_RTC();//读取时钟;
303 1 data_change();//时钟数据处理
304 1
305 1 if(set==2)
306 1 {
307 2
308 2 // while(keyup==0||keydown==0);
309 2 {
310 3
311 3 minute+=key_flag;
312 3 if((key_flag<0)&(minute==0))minute=59;
313 3 if(minute>59)minute=0;
314 3
315 3
316 3 EA=0;//使用iap功能时关闭中断;
317 3 hour=R_EROM(1,2);//读闹钟小时数据;
318 3 week2=R_EROM(1,3);//读闹钟分数据;
319 3 C_EROM(1);
320 3 W_EROM(1,1,minute); //写闹钟分数据;
321 3 W_EROM(1,2,hour); //写闹钟小时数据;
322 3 W_EROM(1,3,week2);//写闹钟星期数据;
323 3 EA=1;//不使用iap功能时打开中断;
324 3 }
325 2 key_flag=0;
326 2
327 2 }
328 1
329 1 if(set==3)
330 1 {
331 2 // while(keyup==0||keydown==0);
332 2 {
333 3 hour=hour+key_flag;
334 3 if(hour>23)hour=0;
335 3 if((key_flag<0)&&(hour<0))hour=23;
336 3
337 3 }
338 2 EA=0;//使用iap功能时关闭中断
339 2 minute=R_EROM(1,1);
340 2 week2=R_EROM(1,3);
341 2 C_EROM(1);
342 2 W_EROM(1,1,minute);
343 2 W_EROM(1,2,hour);
344 2 W_EROM(1,3,week2);
345 2 EA=1;//不使用iap功能时打开中断;
346 2
347 2 key_flag=0;
348 2
349 2 }
350 1 if(set==4)
351 1 {
352 2 // while(keyup==0||keydown==0);
353 2
354 2 {
355 3
356 3 week2=week2+key_flag;
357 3 if(week2>7)week2=1;
358 3 if((key_flag<0)&&(week2<1))week2=7;
359 3
C51 COMPILER V9.00 KEY 07/01/2013 12:13:30 PAGE 7
360 3 }
361 2 EA=0;//使用iap功能时关闭中断
362 2 minute=R_EROM(1,1);
363 2 hour=R_EROM(1,2);
364 2
365 2 C_EROM(1);
366 2 W_EROM(1,1,minute);
367 2 W_EROM(1,2,hour);
368 2 W_EROM(1,3,week2);
369 2 EA=1;//不使用iap功能时打开中断;
370 2 key_flag=0;
371 2 }
372 1
373 1
374 1
375 1
376 1
377 1 EA=0;//使用iap功能时关闭中断
378 1 minute=R_EROM(1,1);
379 1 hour=R_EROM(1,2);
380 1 week2=R_EROM(1,3);
381 1 EA=1;//不使用iap功能时打开中断;
382 1
383 1 clocktable[0]=minute/10;//分十位;
384 1 clocktable[1]=minute%10;//分个位
385 1 clocktable[2]=hour/10; //时十位
386 1 clocktable[3]=hour%10; //时个位
387 1 clocktable[4]=week2; //星期;
388 1
389 1
390 1 LCD_write_hanzi(2,0,28);
391 1
392 1 LCD_write_shu(1,2,clocktable[2]);
393 1 LCD_write_shu(2,2,clocktable[3]);//时
394 1
395 1 LCD_write_shu(3,2,64);
396 1
397 1 LCD_write_shu(4,2,clocktable[0]);
398 1 LCD_write_shu(5,2,clocktable[1]);//分;
399 1
400 1
401 1 if(clocktable[4]==1)
402 1 {
403 2
404 2 LCD_write_6x8shu(10,3,23);
405 2 LCD_write_6x8shu(11,3,25);
406 2 LCD_write_6x8shu(12,3,24);
407 2 }
408 1 if(clocktable[4]==2)
409 1 {
410 2 LCD_write_6x8shu(10,3,30);
411 2 LCD_write_6x8shu(11,3,31);
412 2 LCD_write_6x8shu(12,3,15);
413 2 }
414 1
415 1 if(clocktable[4]==3)
416 1 {
417 2
418 2 LCD_write_6x8shu(10,3,33);
419 2 LCD_write_6x8shu(11,3,15);
420 2 LCD_write_6x8shu(12,3,14);
421 2 }
C51 COMPILER V9.00 KEY 07/01/2013 12:13:30 PAGE 8
422 1
423 1 if(clocktable[4]==4)
424 1 {
425 2
426 2 LCD_write_6x8shu(10,3,30);
427 2 LCD_write_6x8shu(11,3,18);
428 2 LCD_write_6x8shu(12,3,31);
429 2 }
430 1
431 1 if(clocktable[4]==5)
432 1 {
433 2
434 2 LCD_write_6x8shu(10,3,16);
435 2 LCD_write_6x8shu(11,3,28);
436 2 LCD_write_6x8shu(12,3,19);
437 2 }
438 1
439 1 if(clocktable[4]==6)
440 1 {
441 2
442 2 LCD_write_6x8shu(10,3,29);
443 2 LCD_write_6x8shu(11,3,11);
444 2 LCD_write_6x8shu(12,3,30);
445 2 }
446 1
447 1 if(week2==7)
448 1 {
449 2 LCD_write_6x8shu(10,3,29);
450 2 LCD_write_6x8shu(11,3,31);
451 2 LCD_write_6x8shu(12,3,24);
452 2 }
453 1
454 1
455 1 switch(set)
456 1 {
457 2 case 0: LCD_write_6x8shu(10,4,96);LCD_write_6x8shu(11,4,96);LCD_write_6x8shu(12,4,96);LCD_write_6x8shu(13
-,4,96);break;
458 2
459 2 case 1: LCD_write_6x8shu(10,4,96);LCD_write_6x8shu(11,4,96);LCD_write_6x8shu(12,4,96);LCD_write_6x8shu(13
-,4,96);break;
460 2
461 2 case 2: Delay100ms();LCD_write_shu(4,2,76);LCD_write_shu(5,2,76);Delay100ms(); LCD_write_6x8shu(10,4,9
-6);LCD_write_6x8shu(11,4,23);LCD_write_6x8shu(12,4,45);LCD_write_6x8shu(13,4,50);break;
462 2
463 2 case 3: Delay100ms();LCD_write_shu(1,2,76);LCD_write_shu(2,2,76);Delay100ms(); LCD_write_6x8shu(10,4,18
-);LCD_write_6x8shu(11,4,51);LCD_write_6x8shu(12,4,57);LCD_write_6x8shu(13,4,54);break;
464 2
465 2 case 4: Delay100ms();LCD_write_6x8shu(10,3,98);LCD_write_6x8shu(11,3,98);LCD_write_6x8shu(12,3,98);Delay1
-00ms(); LCD_write_6x8shu(10,4,33);LCD_write_6x8shu(11,4,41);LCD_write_6x8shu(12,4,41);LCD_write_6x8shu(13,4,47);break;
466 2
467 2 default:LCD_write_6x8shu(10,4,96);LCD_write_6x8shu(11,4,96);LCD_write_6x8shu(12,4,96);LCD_write_6x8shu(13
-,4,96);set=0;break;
468 2 }
469 1
470 1
471 1
472 1
473 1 }
474
475 void checkclock()
476 {
477 1 key();
C51 COMPILER V9.00 KEY 07/01/2013 12:13:30 PAGE 9
478 1 if((hour==(l_tmpdisplay[6]*10+l_tmpdisplay[7]))&&(minute==(l_tmpdisplay[8]*10+l_tmpdisplay[9]))&&(week2==
-l_tmpdisplay[12])&&(set==0))
479 1 { beep=0;}
480 1 else
481 1 beep=1;
482 1
483 1 }
484
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2223 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 2
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 + -