?? main.lst
字號:
C51 COMPILER V7.50 MAIN 01/15/2006 18:33:14 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c LARGE ROM(COMPACT)
line level source
1 #include "AT89C51SND1_REG.H"
2 #include "MCU_UART.H"
3 #include "Flash_RW.H"
4
5 void delay()
6 {
7 1 unsigned char data i=200;
8 1 while(i--);
9 1 }
10
11 main()
12 {
13 1 unsigned int data i,Block,Page,BlockPage,BlockPage2;
14 1 unsigned char data MID,DID;
15 1 unsigned char PageBuf[512];
16 1 init_uart();
17 1 printu("JMBIE MP3 EXP 7 Flash..\n");
18 1
19 1 Flash_Reset();
20 1 ReadFlashID(&MID,&DID);
21 1 printuf("The Flash MID is 0x%x ",MID);
22 1 printuf("DID is 0x%x\n",DID);
23 1
24 1 for(Block=0;Block<16;Block++)
25 1 {
26 2 BlockPage = Block<<5;
27 2 BlockErase(BlockPage);
28 2 printuf("Erase Block 0x%x\r",Block);
29 2 for(i=0;i<200;i++)
30 2 delay();
31 2 }
32 1 printu("\n----------Erase BLOCK 0-15 OK!\n");
33 1
34 1 for(Block=0;Block<16;Block++)
35 1 for(Page=0;Page<32;Page++)
36 1 {
37 2 BlockPage = (Block<<5)|Page;
38 2 ReadPage(BlockPage,PageBuf);
39 2 for(i=0;i<512;i++)
40 2 if(PageBuf[i]!=0xff) break;
41 2 if(i==512)
42 2 {
43 3 printuf("Block 0x%x ",Block);
44 3 printuf("Page 0x%x Blank Check OK!\r",Page);
45 3 }
46 2 else
47 2 {
48 3 printuf("Block 0x%x ",Block);
49 3 printuf("Page 0x%x Blank Check Error at ",Page);
50 3 printuf("Byte 0x%x\n",i);
51 3 }
52 2 delay();
53 2 }
54 1 printu("\n----------Blank Check OK!\n");
55 1
C51 COMPILER V7.50 MAIN 01/15/2006 18:33:14 PAGE 2
56 1 for(Block=0;Block<8;Block++)
57 1 for(Page=0;Page<32;Page++)
58 1 {
59 2 for(i=0;i<512;i++)
60 2 PageBuf[i]=Block*32+Page;
61 2 BlockPage = (Block<<5)|Page;
62 2 WritePage(BlockPage,PageBuf);
63 2 printuf("Write Block 0x%x ",Block);
64 2 printuf("Page 0x%x ",Page);
65 2 printuf("of %x\r",PageBuf[0]);
66 2 delay();
67 2 }
68 1
69 1 printu("\n----------Write BLOCK 0-7 OK!\n");
70 1
71 1 for(Block=0;Block<8;Block++)
72 1 for(Page=0;Page<32;Page++)
73 1 {
74 2 BlockPage = (Block<<5)|Page;;
75 2 ReadPage(BlockPage,PageBuf);
76 2 for(i=0;i<512;i++)
77 2 if(PageBuf[i]!=Block*32+Page) break;
78 2 if(i==512)
79 2 {
80 3 printuf("Read and Check Block 0x%x ",Block);
81 3 printuf("Page 0x%x OK!\r",Page);
82 3 }
83 2 else
84 2 {
85 3 printuf("Read and Check Block 0x%x ",Block);
86 3 printuf("Page 0x%x Error at ",Page);
87 3 printuf("Byte 0x%x\n",i);
88 3 }
89 2 delay();
90 2 }
91 1
92 1 printu("\n----------Read BLOCK 0-7 and Data Check OK!\n");
93 1
94 1 for(Block=0;Block<8;Block++)
95 1 for(Page=0;Page<32;Page++)
96 1 {
97 2 BlockPage = (Block<<5)|Page;
98 2 BlockPage2 = ((Block+8)<<5)|Page;
99 2 CopyBack(BlockPage,BlockPage2);
100 2 printuf("Copy Block 0x%x ",Block);
101 2 printuf("Page 0x%x to ",Page);
102 2 printuf("Block 0x%x ",Block+8);
103 2 printuf("Page 0x%x\r",Page);
104 2 delay();
105 2 }
106 1
107 1 printu("\n----------COPY-BACK from BLOCK 0-7 to BLOCK 8-15 OK!\n");
108 1
109 1 for(Block=0;Block<8;Block++)
110 1 for(Page=0;Page<32;Page++)
111 1 {
112 2 BlockPage = ((Block+8)<<5)|Page;;
113 2 ReadPage(BlockPage,PageBuf);
114 2 for(i=0;i<512;i++)
115 2 if(PageBuf[i]!=Block*32+Page) break;
116 2 if(i==512)
117 2 {
C51 COMPILER V7.50 MAIN 01/15/2006 18:33:14 PAGE 3
118 3 printuf("Read and Check Block 0x%x ",Block+8);
119 3 printuf("Page 0x%x OK!\r",Page);
120 3 }
121 2 else
122 2 {
123 3 printuf("Read and Check Block 0x%x ",Block+8);
124 3 printuf("Page 0x%x Error at ",Page);
125 3 printuf("Byte 0x%x\n",i);
126 3 }
127 2 delay();
128 2 }
129 1
130 1 printu("\n----------Read BLOCK 8-15 and Data Check OK!\n");
131 1
132 1 while(1);
133 1
134 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1159 ----
CONSTANT SIZE = 544 ----
XDATA SIZE = ---- 512
PDATA SIZE = ---- ----
DATA SIZE = ---- 13
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 + -