📄 text2.lst
字号:
422 2 delay(255);
423 2 clr_display();
424 2 d_ee(1);
425 2 for(i=0;i<8;i++)
426 2 delay(255);
427 2 }
C51 COMPILER V7.06 TEXT2 07/24/2006 16:19:54 PAGE 8
428 1 }
429 /*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
430 cpu init
431 time0 1ms
432 time baud 9600
433 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
434 void cpu_init(void)
435 {
436 1
437 1 TMOD=0x21;
438 1 IP=0x02;
439 1 SCON=0x50;
440 1 PCON|=0x80; //dual 4800X2=9600
441 1
442 1 TH1=TL1=0xfa; //fosc=11.0592Mhz baud=9600 TH1=TL1=256-(11059200/4800/32/12)
443 1 TH0=0xfc; //1ms time
444 1 TL0=0x66;
445 1 IE=0x10;
446 1 TR0=1;
447 1 TR1=1;
448 1 ES=1;
449 1 EA=1;
450 1 AUXR=0x02; //close inter sram
451 1 receive_flag=0;
452 1 SRAM1_E=1;
453 1 write_picture(0,tuwen);
454 1 write_picture(1,tuwen3);
455 1 }
456 //;;;;;;;;;;;;;erase inter EEPROM;;;;;;;;;;;;;;;;;;;;;;
457 // sectors max for 57; data form 0~57
458 // addr=0x8000+sectors*0x200
459 void erase_eeprom(unsigned char sectors)
460 {
461 1 unsigned int addr;
462 1 addr=0x8000+sectors*0x200;
463 1 ISP_ADDRH=(unsigned char)(addr>>8);
464 1 ISP_ADDRL=(unsigned char)addr;
465 1 EA=0;
466 1 ISP_CONTR=WAIT_TIME;
467 1 ISP_CONTR=0x80;
468 1 ISP_CMD=ISP_IAP_SECTOR_ERASE;
469 1 ISP_TRIG=0x46;
470 1 ISP_TRIG=0xb9;
471 1 // _NOP();
472 1 ;;;
473 1 // ISP_CONTR=0x00;
474 1 // ISP_CMD=0x00;
475 1 // ISP_TRIG=0x00;
476 1 // ISP_ADDRH=0x00;
477 1 // ISP_ADDRL=0x00;
478 1 EA=1;
479 1
480 1 }
481 //;;;;;;;;;;read inter data flash(EEPROM)program ;;;;;;;;;;;;;;;;
482 //;;;;;;;;;;;;;;ext address data is form 0~29696;;;;;;;;;;;;;;;;;;;;
483 unsigned char read_eeprom(unsigned int addrdata)
484 {
485 1 unsigned int address;
486 1 unsigned char data1;
487 1 address=0x8000+addrdata;
488 1 ISP_ADDRH=(unsigned char)(address>>8);
489 1 ISP_ADDRL=(unsigned char)address;
C51 COMPILER V7.06 TEXT2 07/24/2006 16:19:54 PAGE 9
490 1 EA=0;
491 1 ISP_CONTR=WAIT_TIME;
492 1 ISP_CONTR=0x80;
493 1 ISP_CMD=ISP_IAP_BYTE_READ;
494 1 ISP_TRIG=0x46;
495 1 ISP_TRIG=0xb9;
496 1 // _NOP();
497 1 ;;;
498 1 data1=ISP_DATA;
499 1 // ISP_CONTR=0x00;
500 1 // ISP_CMD=0x00;
501 1 // ISP_TRIG=0x00;
502 1 // ISP_ADDRH=0x00;
503 1 // ISP_ADDRL=0x00;
504 1 EA=1;
505 1 return data1;
506 1 }
507 //;;;;;;;;;;write data flash(EEPROM) program;;;;;;;;;;;;;;;;;;
508 //;;;;;;;;;;;ext address 0~29696 data :;;;;;;;;;;;;;;;;;;;;
509 void write_eeprom(unsigned int addrdata,unsigned char data2)
510 {
511 1 unsigned int address;
512 1 address=0x8000+addrdata;
513 1 ISP_DATA=data2;
514 1 ISP_ADDRH=(unsigned char)(address>>8);
515 1 ISP_ADDRL=(unsigned char)address;
516 1 EA=0;
517 1 ISP_CONTR=WAIT_TIME;
518 1 ISP_CONTR=0x80;
519 1 ISP_CMD=ISP_IAP_BYTE_PROGRAM;
520 1 ISP_TRIG=0x46;
521 1 ISP_TRIG=0xb9;
522 1 // _NOP();
523 1 ;;;
524 1 // ISP_CONTR=0x00;
525 1 // ISP_CMD=0x00;
526 1 // ISP_TRIG=0x00;
527 1 // ISP_ADDRH=0x00;
528 1 // ISP_ADDRL=0x00;
529 1 EA=1;
530 1 }
531 //;;;;;;;;;;;;update eeprom page data, page=512byte;;;;;;;
532 //0:open inter sram;1:read page data; 2:erase page;3:update data;4:rewrite data;5:close inter sram
533 void pageeeprom_write(unsigned int addrdata,unsigned char data3)
534 {
535 1 unsigned int address,i;
536 1 unsigned char sectors;
537 1 unsigned char bytecount;
538 1 address=0x8000+addrdata;
539 1 sectors=addrdata/512;
540 1 bytecount=addrdata%512;
541 1 AUXR=0x01;
542 1 for(i=0;i<512;i++)
543 1 intereeprom[i]=read_eeprom(sectors*512+i);
544 1 erase_eeprom(sectors);
545 1 intereeprom[bytecount]=data3;
546 1 for(i=0;i<512;i++)
547 1 write_eeprom(sectors*512+i,intereeprom[i]);
548 1 AUXR=0x03;
549 1 }
550 //;;;;;;;;;;;;;;page=512byte;
551 void write_pagedata(unsigned char pagenumber,unsigned char *data3)
C51 COMPILER V7.06 TEXT2 07/24/2006 16:19:54 PAGE 10
552 {
553 1 unsigned int address,i;
554 1 unsigned char sectors;
555 1 unsigned char bytecount;
556 1 sectors=pagenumber;
557 1 erase_eeprom(sectors);
558 1 for(i=0;i<512;i++)
559 1 write_eeprom(sectors*512+i,data3[i]);
560 1 }
*** WARNING C280 IN LINE 553 OF TEXT2.C: 'address': unreferenced local variable
*** WARNING C280 IN LINE 555 OF TEXT2.C: 'bytecount': unreferenced local variable
561 void write_picture(unsigned char picturenumber,unsigned char *picturedata)
562 {
563 1 unsigned int i;
564 1 unsigned char sectors1,sectors;
565 1 sectors=picturenumber*2;
566 1 sectors1=picturenumber*2+1;
567 1 erase_eeprom(sectors);
568 1 erase_eeprom(sectors1);
569 1 for(i=0;i<1024;i++)
570 1 write_eeprom(picturenumber*1024+i,picturedata[i]);
571 1 }
572
573 void shift_ee(unsigned char cr,unsigned char picturepage)
574 {
575 1 unsigned char j;
576 1 unsigned int j1;
577 1 unsigned int j2;
578 1 unsigned char lines,line_count;
579 1 CNTB_245=1;
580 1 CNTA_245=0;
581 1 SELECT0=0;
582 1 line_count=cr/8;
583 1 lines=cr%8;
584 1 j1=ret_lines1(lines)-line_count;
585 1 j2=ret_lines2(lines)-line_count;
586 1 for(j=0;j<4;j++)
587 1 {
588 2 yyj[j1*8+j]=read_eeprom(picturepage*1024+j*2*128+cr);
589 2 yyj[j2*8+j]=read_eeprom(picturepage*1024+(j*2+1)*128+cr);
590 2 }
591 1 CNTB_245=0;
592 1 CNTA_245=1;
593 1 SELECT0=1;
594 1 }
595 void s_d_ee(unsigned char picturepage) //from eeprom read data shift to right
596 {
597 1 unsigned char i;
598 1 for(i=0;i<128;i++)
599 1 {
600 2 shift_ee(i,picturepage);
601 2 delay(20);
602 2 }
603 1 }
604 void shift_ee3(unsigned char cr,unsigned char picturenumber)
605 {
606 1 unsigned char j;
607 1 unsigned int j1;
608 1 unsigned char j2;
609 1 unsigned char lines,line_count;
610 1 unsigned int t1,t2,w;
611 1 CNTB_245=1;
C51 COMPILER V7.06 TEXT2 07/24/2006 16:19:54 PAGE 11
612 1 CNTA_245=0;
613 1 SELECT0=0;
614 1 line_count=cr/8;
615 1 lines=cr%8;
616 1 j1=display_line1(lines)+line_count;
617 1 j2=display_line2(lines)+line_count;
618 1 for(j=0;j<4;j++)
619 1 {
620 2 // yyj[j1*8+j]=point[(j*2*128+127)-cr];
621 2 // yyj[j2*8+j]=point[((j*2+1)*128+127)-cr];
622 2 t1=j*2*128+127;
623 2 t2=(j*2+1)*128+127;
624 2 w=picturenumber*1024;
625 2 yyj[j1*8+j]=read_eeprom(w+t1-cr);
626 2 yyj[j2*8+j]=read_eeprom(w+t2-cr);
627 2 }
628 1 CNTB_245=0;
629 1 CNTA_245=1;
630 1 SELECT0=1;
631 1 }
632 void left_ee_d(unsigned char picturenumber) //from eeprom read data shift to left
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -