📄 main.lst
字号:
580 void filldatrow(uchar chip,uint currentrow,uchar fillrow)
581 {uchar i,tempb;
582 1 uint tempw;
583 1 for(i=0;i<32;i++)
584 1 {tempw=currentrow*32+i;
585 2 tempb=rd_fm1808(tempw);
586 2 tempb=~tempb;
587 2 tempw=(uint)(fillrow*32+i);
588 2 P1=chip;
589 2 XBYTE[tempw]=tempb;
590 2 }
591 1 }
592
593 void fillonerow(void)
594 {uint tempw;
595 1 uchar fillrow;
596 1 fillrow=StartRow+16;
597 1 fillrow%=32;
598 1 //CE4
599 1 if(CurrentRow>=TotalRow)
600 1 {fillblankrow(CE4,fillrow);
601 2 }
602 1 else
603 1 {tempw=CurrentRow;
604 2 filldatrow(CE4,tempw,fillrow);
605 2 }
606 1 //CE3
607 1 if((CurrentRow<16)||(CurrentRow>=(TotalRow+16)))
608 1 {fillblankrow(CE3,fillrow);
609 2 }
610 1 else
611 1 {tempw=CurrentRow-16;
612 2 filldatrow(CE3,tempw,fillrow);
613 2 }
C51 COMPILER V7.50 MAIN 09/19/2008 13:23:34 PAGE 11
614 1 //CE2
615 1 if((CurrentRow<32)||(CurrentRow>=(TotalRow+32)))
616 1 {fillblankrow(CE2,fillrow);
617 2 }
618 1 else
619 1 {tempw=CurrentRow-32;
620 2 filldatrow(CE2,tempw,fillrow);
621 2 }
622 1 //CE1
623 1 if((CurrentRow<48)||(CurrentRow>=(TotalRow+48)))
624 1 {fillblankrow(CE1,fillrow);
625 2 }
626 1 else
627 1 {tempw=CurrentRow-48;
628 2 filldatrow(CE1,tempw,fillrow);
629 2 }
630 1 ++CurrentRow;
631 1 CurrentRow%=(TotalRow+64);
632 1 StartRow++;
633 1 StartRow%=32;
634 1 wrstartaddr2();
635 1 }
636
637 void init_display(void)
638 {uchar tempb;
639 1 uint tempw;
640 1 clear_idt7132();
641 1
642 1 tempb=rd_fm1808(TOTALROWH);
643 1 tempw=(uint)tempb;
644 1 tempw<<=8;
645 1 delay(10);
646 1 tempb=rd_fm1808(TOTALROWL);
647 1 TotalRow=(uint)tempb;
648 1 TotalRow&=0x00ff;
649 1 TotalRow+=tempw;
650 1 StartRow=0;
651 1 CurrentRow=0;
652 1 if(TotalRow<=MAXROW)
653 1 {FlagDisp=FALSE;
654 2 fillscreen();
655 2 }
656 1 else
657 1 {FlagDisp=TRUE;
658 2 fillonerow();
659 2 }
660 1 }
661
662 void init(void)
663 {P0=0xff;
664 1 P1=0xff;
665 1 P2=0xff;
666 1 P3=0xff;
667 1 uart_init();
668 1 FlagUART=FALSE;
669 1 BufAddr1=BUFHEAD1;
670 1 init_display();
671 1 }
672
673 void main(void)
674 {uint uicount;
675 1 ulong ulcount;
C51 COMPILER V7.50 MAIN 09/19/2008 13:23:34 PAGE 12
676 1 uicount=0;
677 1 ulcount=0;
678 1 delay(1000);
679 1 kmg();
680 1 init();
681 1 kmg();
682 1 while(1)
683 1 {kmg();
684 2 if(FlagUART) //响应到串口中断,表示有PC传新数据过来
685 2 {t0_init();
686 3 while(FlagUART){kmg();} //接受数据中。。。
687 3 kmg();
688 3 if(BufCount1>1)
689 3 {kmg();
690 4 blankfm1808();
691 4 kmg();
692 4 code_analyse();
693 4 kmg();
694 4 array_addr_dat();
695 4 kmg();
696 4 init();
697 4 kmg();
698 4 }
699 3 else
700 3 {uart_init();}
701 3 }
702 2 if((++uicount>5000)&&FlagDisp)
703 2 {fillonerow();
704 3 uicount=0;
705 3 }
706 2 else if((++ulcount>10000000)&&(!FlagDisp))
707 2 {fillscreen();
708 3 ulcount=0;
709 3 }
710 2 }
711 1 }
712
713
714
715
C51 COMPILER V7.50 MAIN 09/19/2008 13:23:34 PAGE 13
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
FlagDisp . . . . . . . . . . . . . . . ABSBIT ----- BIT 0002H 1
T0Count. . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0000H 2
init_display . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempb. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
uart_interrupt . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
FlagFont . . . . . . . . . . . . . . . ABSBIT ----- BIT 0001H 1
uchar. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
_filldatrow. . . . . . . . . . . . . . PUBLIC CODE PROC 0005H -----
chip . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
currentrow . . . . . . . . . . . . . AUTO DATA U_INT 0001H 2
fillrow. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
tempb. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
CurrentRow . . . . . . . . . . . . . . PUBLIC DATA U_INT 0002H 2
getzikuaddr. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempb. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
uicount. . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
ulcount. . . . . . . . . . . . . . . AUTO DATA U_LONG 0002H 4
ulong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
fillscreen . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
blankfm1808. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
init . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
to_interrupt . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
FlagUART . . . . . . . . . . . . . . . ABSBIT ----- BIT 0000H 1
array_addr_dat . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
flagfont . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
tempb. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
tempw. . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
currentrow . . . . . . . . . . . . . AUTO DATA U_INT 0004H 2
currentline. . . . . . . . . . . . . AUTO DATA U_INT 0006H 2
t0_init. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_rd_fm1808 . . . . . . . . . . . . . . PUBLIC CODE PROC 0008H -----
addr . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
_fill16rows. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
chip . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
C51 COMPILER V7.50 MAIN 09/19/2008 13:23:34 PAGE 14
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
fillrow. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
tempb. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
kmg. . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TotalRow . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0004H 2
uint . . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
ziku . . . . . . . . . . . . . . . . . PUBLIC DATA UNION 0006H 4
fillonerow . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempw. . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
fillrow. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
StartRow . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
BufAddr1 . . . . . . . . . . . . . . . PUBLIC DATA U_INT 000BH 2
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
wrzikuaddr . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempb. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
BufAddr2 . . . . . . . . . . . . . . . PUBLIC DATA U_INT 000DH 2
BufAddr3 . . . . . . . . . . . . . . . PUBLIC DATA U_INT 000FH 2
_wr_fm1808 . . . . . . . . . . . . . . PUBLIC CODE PROC 001EH -----
addr . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
uart_init. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
rdzikudat. . . . . . . . . . . . . . . PUBLIC CODE PROC 000CH -----
wrbblank . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
BufCount1. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0011H 2
BufCount2. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0013H 2
BufCount3. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0015H 2
KMG. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
wrsblank . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
wrstartaddr1 . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
wrstartaddr2 . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_fillblankrow. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
chip . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
fillrow. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
code_analyse . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
qm . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
wm . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
_full01_addr . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
qm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
wm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
offset . . . . . . . . . . . . . . . AUTO DATA U_LONG 0000H 4
_full03_addr . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
qm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
C51 COMPILER V7.50 MAIN 09/19/2008 13:23:34 PAGE 15
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
wm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
offset . . . . . . . . . . . . . . . AUTO DATA U_LONG 0000H 4
_half_addr . . . . . . . . . . . . . . PUBLIC CODE PROC 0004H -----
qm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
wm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
offset . . . . . . . . . . . . . . . AUTO DATA U_LONG 0000H 4
_hanzi_addr. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
qm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
wm . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
offset . . . . . . . . . . . . . . . AUTO DATA U_LONG 0000H 4
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
clear_idt7132. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
tempw. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
Flag . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3573 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 24 40
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 + -