📄 ds12c887.lst
字号:
259 4 if(s1num==2)
260 4 {
261 5 fen++;
262 5 if(fen==60)
263 5 fen=0;
264 5 write_sfm(7,fen);
265 5 write_com(0x80+0x40+7);
266 5 }
267 4 if(s1num==3)
268 4 {
269 5 shi++;
270 5 if(shi==24)
271 5 shi=0;
272 5 write_sfm(4,shi);
273 5 write_com(0x80+0x40+4);
274 5 }
275 4 if(s1num==4)
276 4 {
277 5 week++;
278 5 if(week==8)
279 5 week=1;
280 5 write_week(week);
281 5 write_com(0x80+12);
282 5 }
283 4 if(s1num==5)
284 4 {
285 5 day++;
286 5 if(day==32)
287 5 day=1;
288 5 write_nyr(9,day);
289 5 write_com(0x80+9);
290 5 }
291 4 if(s1num==6)
292 4 {
293 5 month++;
294 5 if(month==13)
295 5 month=1;
296 5 write_nyr(6,month);
297 5 write_com(0x80+6);
298 5 }
299 4 if(s1num==7)
300 4 {
301 5 year++;
302 5 if(year==100)
303 5 day=0;
C51 COMPILER V8.02 DS12C887 07/27/2012 12:43:51 PAGE 6
304 5 write_nyr(3,year);
305 5 write_com(0x80+3);
306 5 }
307 4
308 4 }
309 3
310 3 }
311 2 if(s3==0)
312 2 {
313 3 delay(5);
314 3 if(s3==0)
315 3 {
316 4 while(!s3);
317 4 if(s1num==1)
318 4 {
319 5 miao--;
320 5 if(miao==-1)
321 5 miao=59;
322 5 write_sfm(10,miao);
323 5 write_com(0x80+0x40+10);
324 5 }
325 4 if(s1num==2)
326 4 {
327 5 fen--;
328 5 if(fen==-1)
329 5 fen=59;
330 5 write_sfm(7,fen);
331 5 write_com(0x80+0x40+7);
332 5 }
333 4 if(s1num==3)
334 4 {
335 5 shi--;
336 5 if(shi==-1)
337 5 shi=23;
338 5 write_sfm(4,shi);
339 5 write_com(0x80+0x40+4);
340 5 }
341 4 if(s1num==4)
342 4 {
343 5 week--;
344 5 if(week==0)
345 5 week=7;
346 5 write_week(week);
347 5 write_com(0x80+12);
348 5 }
349 4 if(s1num==5)
350 4 {
351 5 day--;
352 5 if(day==0)
353 5 day=31;
354 5 write_nyr(9,day);
355 5 write_com(0x80+9);
356 5 }
357 4 if(s1num==6)
358 4 {
359 5 month--;
360 5 if(month==0)
361 5 month=12;
362 5 write_nyr(6,month);
363 5 write_com(0x80+6);
364 5 }
365 4 if(s1num==7)
C51 COMPILER V8.02 DS12C887 07/27/2012 12:43:51 PAGE 7
366 4 {
367 5 year--;
368 5 if(year==0)
369 5 day=99;
370 5 write_nyr(3,year);
371 5 write_com(0x80+3);
372 5 }
373 4
374 4 }
375 3
376 3 }
377 2
378 2 }
379 1 if(s4==0)
380 1 {
381 2 delay(5);
382 2 if(s4==0)
383 2 {
384 3 flag1=~flag1;
385 3 while(!s4);
386 3 if(flag1==0)
387 3 {
388 4 s1num=0;
389 4 write_com(0x0c);
390 4 flag=0;
391 4 write_com(0x80+0x40);
392 4 write_data(' ');
393 4 write_data(' ');
394 4 write_data(' ');
395 4
396 4 write_ds(1,miao);
397 4 write_ds(3,fen);
398 4 write_ds(5,shi);
399 4 }
400 3 else
401 3 {
402 4 s1num=0;
403 4 write_com(0x0c);
404 4 read_alarm();
405 4 miao=alarm_miao;
406 4 fen=alarm_fen;
407 4 shi=alarm_shi;
408 4 write_com(0x80+0x40);
409 4 write_data('A');
410 4 write_data('L');
411 4 write_data('R');
412 4 write_sfm(4,alarm_shi);
413 4 write_sfm(7,alarm_fen);
414 4 write_sfm(10,alarm_miao);
415 4 }
416 3
417 3 }
418 2
419 2 }
420 1
421 1
422 1 }
423 ////////////////////////////////////////////////////////////////////
424 /////////初始化部分//////////////////////////////////////////////////////////////////
425 void set_time( )
426 {
427 1 write_ds(0x00,50);
C51 COMPILER V8.02 DS12C887 07/27/2012 12:43:51 PAGE 8
428 1 write_ds(0x01,10);
429 1 write_ds(0x02,59);
430 1 write_ds(0x03,1);
431 1 write_ds(0x04,9);
432 1 write_ds(0x05,10);
433 1 write_ds(0x06,4);
434 1 write_ds(0x07,26);
435 1 write_ds(0x08,7);
436 1 write_ds(0x09,12);
437 1
438 1 }
439 void init()
440 {
441 1 uchar num;
442 1 EA=1;
443 1 EX0=1;
444 1 IT0=1;
445 1 flag1=0;
446 1 s1num=0;
447 1 lcden=0;
448 1 write_ds(0x0A,0x20);
449 1 write_ds(0x0B,0x26);
450 1 set_time();
451 1 write_com(0x38);
452 1 write_com(0x0c);
453 1 write_com(0x06);
454 1 write_com(0x01);
455 1 write_com(0x81);
456 1 for(num=0;num<10;num++)
457 1 {
458 2 write_data(table1[num]);
459 2 delay(5);
460 2 }
461 1 write_com(0x80+0x40+4);
462 1 for(num=0;num<8;num++)
463 1 {
464 2 write_data(table2[num]);
465 2 delay(5);
466 2 }
467 1 }
468
469 //////////////////////////////////////////////////////////////
470 void main()
471 {
472 1 init();
473 1 gettime();
474 1 display();
475 1 while(1)
476 1 {
477 2 keyscan();
478 2 if(flag_alarm==1)
479 2 {
480 3 di();
481 3 delay(100);
482 3 di();
483 3 delay(500);
484 3 }
485 2 if(flag==0&&flag1==0)
486 2 {
487 3
488 3 gettime();
489 3 display();
C51 COMPILER V8.02 DS12C887 07/27/2012 12:43:51 PAGE 9
490 3
491 3 }
492 2 }
493 1 }
494 void ser() interrupt 0
495 {
496 1 uchar c;
497 1 flag_alarm=1;
498 1 c=read_ds(0x0c);
499 1 }
500
501
502
503
504
505
506
507
508
509
510
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1381 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 1
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -