📄 led.lst
字号:
293
294 {0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x0C,0x00,0x03,0xC0,0x00,0x3F,0x00,0xC2,0x01,0x00,0x06,0x00,
-0x0C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0x20,0x00,0x00},/*"人",27*/
295
296 {0x10,0x02,0x08,0x01,0x84,0x00,0xC6,0xFF,0x73,0x00,0x22,0x00,0x40,0x00,0x44,0x00,0x44,0x40,0x44,0x80,0xC4,
-0x7F,0x44,0x00,0x44,0x00,0x44,0x00,0x40,0x00,0x00,0x00},/*"行",28*/
297
298 {0x80,0x00,0x84,0x04,0x44,0x04,0xC4,0x04,0xA4,0x04,0x94,0x44,0x8C,0x84,0xFF,0x7E,0x8C,0x05,0x94,0x04,0xA4,
C51 COMPILER V6.12 LED 07/12/2008 18:39:28 PAGE 8
-0x04,0x24,0x04,0x44,0x04,0xC4,0x04,0x40,0x04,0x00,0x00},/*"李",29*/
299
300 {0x40,0x04,0x3C,0x04,0x10,0x02,0xFF,0x7F,0x10,0x01,0xD0,0x44,0x20,0x22,0x18,0x11,0xCF,0x08,0x38,0x04,0x08,
-0x43,0xF8,0x80,0x08,0x40,0xF8,0x3F,0x00,0x00,0x00,0x00},/*"物",30*/
301
302 {0x00,0x00,0x00,0x7F,0x00,0x21,0x00,0x21,0x7E,0x21,0x22,0x21,0x22,0x7F,0x22,0x00,0x22,0x7F,0x22,0x21,0x22,
-0x21,0x7E,0x21,0x00,0x21,0x00,0x7F,0x00,0x00,0x00,0x00},/*"品",31*/
303
304 {0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"。",32*/
305
306
307 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* ",23*/
308 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ,133*/
309
310
311
312 0xbb
313
314 };
315
316 uint8 const code CHAR[][16]=
317 {
318
319 {0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00},/*"0",0*/
320
321 {0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00},/*"1",1*/
322
323 {0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00},/*"2",2*/
324
325 {0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x00,0x00},/*"3",3*/
326
327 {0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00},/*"4",4*/
328
329 {0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00},/*"5",5*/
330
331 {0x00,0x00,0xE0,0x0F,0x10,0x11,0x88,0x20,0x88,0x20,0x18,0x11,0x00,0x0E,0x00,0x00},/*"6",6*/
332
333 {0x00,0x00,0x38,0x00,0x08,0x00,0x08,0x3F,0xC8,0x00,0x38,0x00,0x08,0x00,0x00,0x00},/*"7",7*/
334
335 {0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00},/*"8",8*/
336
337 {0x00,0x00,0xE0,0x00,0x10,0x31,0x08,0x22,0x08,0x22,0x10,0x11,0xE0,0x0F,0x00,0x00},/*"9",9*/
338 };
339
340 uint8 const code WEEK[][32]=
341 {
342
343 {0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
-0x00,0x80,0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00},/*"一",0*/
344
345 {0x00,0x00,0x00,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,
-0x10,0x06,0x10,0x04,0x10,0x00,0x18,0x00,0x10,0x00,0x00},/*"二",1*/
346
347 {0x00,0x00,0x04,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,
-0x20,0x84,0x20,0x84,0x20,0x04,0x20,0x00,0x20,0x00,0x00},/*"三",2*/
348
349 {0x00,0x00,0xFE,0x7F,0x02,0x28,0x02,0x24,0x02,0x23,0xFE,0x20,0x02,0x20,0x02,0x20,0xFE,0x21,0x02,0x22,0x02,
-0x22,0x02,0x22,0x02,0x22,0xFE,0x7F,0x00,0x00,0x00,0x00},/*"四",3*/
350
C51 COMPILER V6.12 LED 07/12/2008 18:39:28 PAGE 9
351 {0x00,0x20,0x02,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0xC2,
-0x3F,0x82,0x20,0x02,0x20,0x00,0x30,0x00,0x20,0x00,0x00},/*"五",4*/
352
353 {0x10,0x00,0x10,0x40,0x10,0x20,0x10,0x10,0x10,0x0C,0x91,0x03,0x12,0x01,0x1E,0x00,0x94,0x00,0x10,0x01,0x10,
-0x02,0x10,0x0C,0x10,0x78,0x10,0x30,0x10,0x00,0x00,0x00},/*"六",5*/
354
355 {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,
-0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"日",6*/
356
357 };
358 void LCD_INIT()
359 {
360 1 LCD_WRITE_COMMAND(0x0c);
361 1 LCD_WRITE_COMMAND(0x38);
362 1 LCD_WRITE_COMMAND(0x06);
363 1 LCD_WRITE_COMMAND(0x01);
364 1 }
365
366
367
368 void RTC_Write(uint8 dat)
369 {
370 1 uint8 i;
371 1 for(i=0;i<8;i++)
372 1 {
373 2 RTC_IO=(bit)(dat&0x01);
374 2 RTC_SCLK=1;
375 2 RTC_SCLK=0;
376 2 dat>>=1;
377 2 }
378 1 }
379
380 uint8 RTC_Read()
381 {
382 1 uint8 i;
383 1 for(i=0; i<8; i++)
384 1 {
385 2 AA >>=1; //相当于汇编中的 RRC
386 2 AA7 = RTC_IO;
387 2 RTC_SCLK = 1;
388 2 RTC_SCLK = 0;
389 2 }
390 1 return AA;
391 1 }
392
393 void RTC_Write_Byte(uint8 addr,uint8 dat)
394 {
395 1 RTC_RST=0;
396 1 RTC_SCLK=0;
397 1 RTC_RST=1;
398 1 RTC_Write(addr);
399 1 RTC_Write(dat);
400 1 RTC_SCLK=1;
401 1 RTC_RST=0;
402 1 }
403
404 uint8 RTC_Read_Byte(uint8 addr)
405 {
406 1 uint8 dat;
407 1 RTC_RST=0;
408 1 RTC_SCLK=0;
409 1 RTC_RST=1;
C51 COMPILER V6.12 LED 07/12/2008 18:39:28 PAGE 10
410 1 RTC_Write(addr|0x01);
411 1 dat=RTC_Read();
412 1 RTC_SCLK=1;
413 1 RTC_RST=0;
414 1 return dat;
415 1 }
416
417
418 typedef struct __SYSTEMTIME__
419 {
420 uint8 Second;
421 uint8 Mine;
422 uint8 Hour;
423 uint8 Day;
424 uint8 Month;
425 uint8 Week;
426 uint8 Year;
427 }SYSTEMTIME;
428
429
430 SYSTEMTIME TIMETYPE;
431 void CurrentTime(SYSTEMTIME *dat)
432 {
433 1 uint8 TimeValue;
434 1 TimeValue=RTC_Read_Byte(READ_SECOND);
435 1 dat->Second=(((TimeValue&0x70)>>4)*10)+(TimeValue&0x0f);
436 1 TimeValue=RTC_Read_Byte(READ_MINE);
437 1 dat->Mine= (((TimeValue&0x70)>>4)*10)+(TimeValue&0x0f);
438 1 TimeValue=RTC_Read_Byte(READ_HOUR);
439 1 dat->Hour= (((TimeValue&0x70)>>4)*10)+(TimeValue&0x0f);
440 1 TimeValue=RTC_Read_Byte(READ_DAY);
441 1 dat->Day= (((TimeValue&0x70)>>4)*10)+(TimeValue&0x0f);
442 1 TimeValue=RTC_Read_Byte(READ_MONTH);
443 1 dat->Month= (((TimeValue&0x70)>>4)*10)+(TimeValue&0x0f);
444 1 TimeValue=RTC_Read_Byte(READ_WEEK);
445 1 dat->Week= (TimeValue&0x0f);
446 1 TimeValue=RTC_Read_Byte(READ_YEAR);
447 1 dat->Year= (((TimeValue&0x70)>>4)*10)+(TimeValue&0x0f);
448 1 }
449
450
451
452
453
454
455 void delay()
456 {
457 1 unsigned int i,j;
458 1 for(i=0;i<10;i++)
459 1 for(j=0;j<11;j++);
460 1 }
461
462 void timer0() interrupt 1 using 0
463 {
464 1 TH0=0x0a;
465 1 TL0=0x01 ;
466 1 brk++;
467 1 }
468 void LED_WRITE(uint8 dat)
469 {
470 1 WR_LED=1;
471 1 P1=dat;
C51 COMPILER V6.12 LED 07/12/2008 18:39:28 PAGE 11
472 1 WR_LED=0;
473 1 WR_LED=1;
474 1 }
475
476
477 void Disp_HZ(unsigned char *dat)
478 {
479 1 unsigned int i,c;
480 1 i=0;
481 1 if(brk>=1){tmp+=2;brk=0;}
482 1 while(i!=32)
483 1 {
484 2 if(i<8)
485 2 {
486 3 P3=0xf9;
487 3 LED_WRITE(0xff);
488 3 P3=0xfa;
489 3 LED_WRITE(0xff);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -