📄 eeprom.lst
字号:
C51 COMPILER V7.08 EEPROM 12/25/2004 18:50:53 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE EEPROM
OBJECT MODULE PLACED IN EEPROM.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE EEPROM.C OPTIMIZE(SIZE) REGFILE(.\gprsnew.ORC) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REG52.h>
2 #include <absacc.h>
3
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 sfr WMCON = 0x96; /* Watchdog and Memory Control Register */
8 #define eeprom_free() ((WMCON&0x02) == 0x02)
9
10 //=================================
11 //函数功能:对EEPROM进行写操作
12 //入口参数:Address--目标的首地址,
13 // source--源数据首地址,
14 // Number--待写入的字节个数。
15 //=================================
16 void WriteUserBlock(uint Address,uchar idata *source,uchar Number)
17 {
18 1 uchar i = 0;
19 1 if (Number == 0) return;
20 1 EA = 0;
21 1 while(*source)
22 1 {
23 2 if(i>=(Number-1)) break;
24 2 WMCON |= 0x18; //Enable write data to eeprom
25 2 XBYTE[Address + i] = *source;
26 2 i ++;
27 2 source ++;
28 2 while (!eeprom_free());
29 2 WMCON &=~ 0x18; //Disable access data from eeprom
30 2 }
31 1 WMCON |= 0x18; //Enable write data to eeprom
32 1 XBYTE[Address + i] = 0;
33 1 while (!eeprom_free());
34 1 WMCON &=~ 0x18; //Disable access data from eeprom
35 1 EA = 1;
36 1 }
37
38 //=================================
39 //函数功能:对EEPROM进行读操作,从Address开始,读Number个字节。
40 //入口参数:input--目标的首地址,
41 // Address--EEPROM中源数据首地址,
42 // Number--待写入的字节个数。
43 //=================================
44 void ReadUserBlock(uchar idata *input,uint Address,uchar Number)
45 {
46 1 uchar i = 0;
47 1 uchar tempchar;
48 1 if (Number == 0) return;
49 1 EA = 0;
50 1 WMCON |= 0x08; //Enable access data to eeprom
51 1 while(1)
52 1 {
53 2 tempchar = XBYTE[Address +i];
54 2 if(tempchar)
55 2 {
C51 COMPILER V7.08 EEPROM 12/25/2004 18:50:53 PAGE 2
56 3 if(i >=(Number-1)) break;
57 3 *input = tempchar;
58 3 input ++;
59 3 i ++;
60 3 }
61 2 else break;
62 2 }
63 1 WMCON &=~ 0x08; //Disable access data to eeprom
64 1 *input = 0;
65 1 EA = 1;
66 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 151 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
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 + -