📄 fm24c64.lst
字号:
C51 COMPILER V7.50 FM24C64 09/02/2007 22:46:25 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE FM24C64
OBJECT MODULE PLACED IN fm24c64.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE fm24c64.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<com.h>
2
3
4 //************************************
5 void delay(uint j)
6 {uint i;
7 1 for(i=0;i<j;i++)
8 1 ;
9 1 }
10 //*************************************
11 void I_start()
12 {
13 1 scl=0;
14 1 delay(1);
15 1 sda=1;
16 1 delay(1);
17 1 scl=1;
18 1 delay(1);
19 1 sda=0;
20 1 delay(1);
21 1 scl=0;
22 1 delay(1);
23 1
24 1 }
25 //***********************************
26 void I_stop()
27 {scl=0;
28 1 delay(1);
29 1 sda=0;
30 1 delay(1);
31 1 scl=1;
32 1 delay(1);
33 1 sda=1;
34 1 delay(1);
35 1
36 1 }
37 //*************************************
38
39
40 void I_clock()
41 { uint i=0;
42 1 scl=1;
43 1 delay(1);
44 1 while((sda==1)&(i<1000))i++;
45 1 scl=0;
46 1 delay(1);
47 1 }
48 //**********************************
49 void I_send(uchar e_data)
50 {
51 1 uchar i;
52 1
53 1 for(i=0;i<8;i++)
54 1 { scl=0;delay(2);
55 2 if(e_data&0x80)sda=1;
C51 COMPILER V7.50 FM24C64 09/02/2007 22:46:25 PAGE 2
56 2 else sda=0;
57 2 scl=1;delay(2);
58 2 e_data=e_data<<1;
59 2 }
60 1
61 1 scl=0;delay(1);sda=1;delay(1);
62 1
63 1 }
64 //***********************************
65 uchar I_receive() // 读一个字节!
66 {
67 1 uchar da=0,reda=0;
68 1 uchar i; sda=1;
69 1 for(i=0;i<8;i++)
70 1 { reda=reda<<1;
71 2 scl=1;delay(1);
72 2 if (sda) da=1;
73 2 else da=0;
74 2 scl=0;
75 2 reda=reda|da;
76 2
77 2 delay(1);
78 2 }
79 1
80 1 return(reda);
81 1 }
82 //*********************************
83 void I_write(uint eepromaddre,uchar eepromdata)
84 {
85 1 I_start();
86 1 I_send(write_i2c);
87 1 I_clock();
88 1 I_send(eepromaddre/256);
89 1 I_clock();
90 1 I_send(eepromaddre%256);
91 1 I_clock();
92 1 I_send(eepromdata);
93 1 I_clock();
94 1 I_stop();
95 1
96 1 delay(50);
97 1 }
98
99 //*********************************
100 uchar I_read(uint eepromaddre)
101 { uchar x;
102 1
103 1 I_start();
104 1 I_send(write_i2c);
105 1 I_clock();
106 1 I_send(eepromaddre/256);
107 1 I_clock();
108 1 I_send(eepromaddre%256);
109 1 I_clock();
110 1 I_start();
111 1 I_send(read_i2c);
112 1 I_clock();
113 1 x=I_receive();
114 1 I_stop();
115 1 delay(50);
116 1
117 1 return(x);
C51 COMPILER V7.50 FM24C64 09/02/2007 22:46:25 PAGE 3
118 1
119 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 312 ----
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 + -