📄 main.lst
字号:
C51 COMPILER V8.01 MAIN 08/14/2008 21:25:21 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /*******************************************************************/
3 // Flash读写测试程序 /
4 /*******************************************************************/
5 #include<C8051F000.h>
6 #include<common.h>
7 unsigned char xdata* dFls_Byte=0x01000;
8 unsigned char code* cFls_Byte=0x01000;
9 unsigned char Fls_to_Lcd;
10 unsigned char code ao[]={
11 /*-- 文字: 奥 --*/
12 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
13 0x00,0x00,0xFE,0x22,0x2A,0xB2,0x63,0xFE,0x62,0xB2,0xAA,0x22,0xFE,0x00,0x00,0x00,
14 0x80,0x84,0x45,0x44,0x25,0x14,0x0C,0x07,0x0C,0x14,0x25,0x24,0x45,0xC4,0x44,0x00,
15 } ;
16 unsigned char code lin[]={
17 /*-- 文字: 林 --*/
18 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
19 0x10,0x10,0x90,0xFF,0x90,0x10,0x00,0x10,0x10,0xD0,0xFF,0x90,0x10,0x10,0x10,0x00,
20 0x08,0x06,0x01,0xFF,0x00,0x13,0x08,0x04,0x03,0x00,0xFF,0x01,0x06,0x18,0x08,0x00,
21 } ;
22 unsigned char code pi[]={
23 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
24 0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x82,0x00,0x00,
25 0x00,0x3F,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x23,0x24,0x24,0x24,0x27,0x22,0x00,} ;
26 unsigned char code ke[]={
27 /*-- 文字: 克 --*/
28 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
29 0x00,0x04,0x04,0xE4,0x24,0x24,0x24,0x3F,0x24,0x24,0x24,0xE4,0x04,0x04,0x00,0x00,
30 0x00,0x00,0x80,0x43,0x31,0x0F,0x01,0x01,0x01,0x3F,0x41,0x43,0x40,0x40,0x70,0x00,
31 };
32 //------------------------------------------------------------------//
33 // 时钟初始化
34 //------------------------------------------------------------------//
35 void SYSCLK_Init()
36 {
37 1 OSCICN=OSCICN|0x03;
38 1
39 1 //启用内部晶振16MHZ
40 1 }
41 //------------------------------------------------------------------//
42 // 端口初始化
43 //------------------------------------------------------------------//
44 void PORT_Init()
45 {
46 1 XBR0=0x00;
47 1
48 1
49 1 XBR1=0x00;
50 1 XBR2=0x40;
51 1 PRT0CF = 0x00;
52 1 PRT1CF = 0x00;
53 1 PRT2CF = 0x00;
54 1
55 1 //三个端口全部为弱上拉,硬件上P0口应接上拉电阻
C51 COMPILER V8.01 MAIN 08/14/2008 21:25:21 PAGE 2
56 1 P3 = 0xFF; //三个端口全部为弱上拉,硬件上P0口应接上拉电阻
57 1 }
58
59 //------------------------------------------------------------------//
60 // Flash读写控制
61 //------------------------------------------------------------------//
62 void Fls_WR_Byte(unsigned int addr,unsigned char byte)
63 {
64 1 unsigned char xdata* w=addr;
65 1 PSCTL=0x01; //擦除禁止
66 1 *w=byte;
67 1 PSCTL=0x00; //Flash写禁止
68 1 }
69
70
71 unsigned char Fls_RD(unsigned char addr)
72 {
73 1 unsigned char code* w=addr;
74 1 return *w;
75 1 }
76 //------------------------------------------------------------------//
77 // 主函数
78 //------------------------------------------------------------------//
79 void main()
80 {
81 1 unsigned int i,addr1=0x2000;
82 1 unsigned char xdata *y=addr1;
83 1 unsigned char j;
84 1 WDTCN=0xde;
85 1 WDTCN=0xad;
86 1 SYSCLK_Init();
87 1 PORT_Init();
88 1 EA=0;
89 1
90 1
91 1
92 1 FLSCL=0x89; //允许软件Flash写/擦除总允许(FLWE)
93 1 PSCTL=0x03; //允许软件Flash写/擦除
94 1 *y=0; //擦除扇区
95 1 //向Flash内写数据
96 1 for(i=0;i<16;i++)
97 1 {
98 2 Fls_WR_Byte(addr1,ao[i]);
99 2 addr1++;
100 2 }
101 1 for(i=0;i<16;i++)
102 1 {
103 2 Fls_WR_Byte(addr1,lin[i]);
104 2 addr1++;
105 2 }
106 1 for(i=0;i<16;i++)
107 1 {
108 2 Fls_WR_Byte(addr1,pi[i]);
109 2 addr1++;
110 2 }
111 1
112 1 for(i=0;i<16;i++)
113 1 {
114 2 Fls_WR_Byte(addr1,ke[i]);
115 2 addr1++;
116 2 }
117 1 EA=1;
C51 COMPILER V8.01 MAIN 08/14/2008 21:25:21 PAGE 3
118 1 /* for(i=0;i<16;i++) //向Flash内写数据
119 1 Fls_WR(lin[i]);
120 1 for(i=0;i<16;i++) //向Flash内写数据
121 1 Fls_WR(pi[i]);
122 1 for(i=0;i<16;i++)
123 1
124 1 //向Flash内写数据
125 1 Fls_WR(ke[i]);
126 1
127 1 //Flash写禁止
128 1 Fls_Wr_UE();
129 1 for(j=0;j<4;j++)
130 1
131 1 //读Flash数据并送入
132 1
133 1 Lcd
134 1 for(i=0;i<16;i++)
135 1 {
136 1 Fls_to_Lcd=Fls_RD();
137 1 lcd_drawhanzimo(0+10,0,&Fls_to_Lcd);
138 1 } */
139 1 while(1);
140 1 }
*** WARNING C280 IN LINE 83 OF MAIN.C: 'j': unreferenced local variable
*** WARNING C316 IN LINE 140 OF main.c: unterminated conditionals
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 265 ----
CONSTANT SIZE = 128 ----
XDATA SIZE = 5 3
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -