📄 at24cxx.lst
字号:
C51 COMPILER V8.15 AT24CXX 11/08/2008 21:01:35 PAGE 1
C51 COMPILER V8.15, COMPILATION OF MODULE AT24CXX
OBJECT MODULE PLACED IN .\OBJ\AT24CXX.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\AT24CXX.C BROWSE DEBUG OBJECTEXTEND PRINT(.\LST\AT24CXX.lst) OBJECT(.\O
-BJ\AT24CXX.obj)
line level source
1 #include "config.h"
2
3 /****************************************************/
4 /****************************************************/
5 #define SCL P4_0 //24C02时序 6
6 #define SDA P4_1 //24C02数据线 5
7
8 /****************************************************/
9 void delay(unsigned int d)
10 {
11 1 unsigned int i,j;
12 1 for(i=0;i<d;i++)
13 1 for(j=0;j<1000;j++);
14 1 }
15 /****************************************************/
16 void DL(void)
17 {
18 1 unsigned char i;
19 1 for(i=0;i<3;i++);
20 1 }
21 /****************************************************/
22 void STARTI2C(void)
23 {
24 1 SDA=1;
25 1 SCL=1;
26 1 DL();
27 1 SDA=0;
28 1 DL();
29 1 SCL=0;
30 1 }
31 /****************************************************/
32 void stop(void)
33 {
34 1 SDA=0;
35 1 SCL=1;
36 1 DL();
37 1 SDA=1;
38 1 DL();
39 1 SCL=0;
40 1 }
41 /****************************************************/
42 void ack(void)
43 {
44 1 SDA=0;
45 1 SCL=1;
46 1 DL();
47 1 SDA=1;
48 1 SCL=0;
49 1 }
50 /****************************************************/
51 void output(unsigned char DD)
52 {
53 1 unsigned char i;
54 1 for(i=0;i<8;i++)
C51 COMPILER V8.15 AT24CXX 11/08/2008 21:01:35 PAGE 2
55 1 {
56 2 SCL=0;
57 2 SCL=0;
58 2 DD=DD<<1;
59 2 SDA=CY;
60 2 DL();
61 2 SCL=1;
62 2 SCL=1;
63 2 DL();
64 2 DL();
65 2 }
66 1 DL();
67 1 SCL=0;
68 1 }
69 /****************************************************/
70 unsigned char input(void)
71 {
72 1 unsigned char i;
73 1 unsigned char DD;
74 1 for(i=0;i<8;i++)
75 1 {
76 2 DD=DD<<1;
77 2 SCL=0;
78 2 SCL=0;
79 2 DL();
80 2 SCL=1;
81 2 SCL=1;
82 2 DL();
83 2 DD=DD|SDA;
84 2 }
85 1 SCL=0;
86 1 return(DD);
87 1 }
88 /****************************************************/
89 void write(unsigned char aDD,unsigned char DData)
90 {
91 1 unsigned char head;
92 1 head=0xa0;
93 1 DL();
94 1 STARTI2C();
95 1 output(head);
96 1 ack();
97 1 output(aDD);
98 1 ack();
99 1 output(DData);
100 1 SDA=0;
101 1 ack();
102 1 DL();
103 1 stop();
104 1 delay(1);
105 1 }
106 /****************************************************/
107 unsigned char read(unsigned char aDD)
108 {
109 1 unsigned char rhead;
110 1 unsigned char whead;
111 1 unsigned char DD;
112 1 whead=0xa0;
113 1 rhead=0xa1;
114 1 DL();
115 1 STARTI2C();
116 1 output(whead);
C51 COMPILER V8.15 AT24CXX 11/08/2008 21:01:35 PAGE 3
117 1 ack();
118 1 output(aDD);
119 1 ack();
120 1
121 1 STARTI2C();
122 1 output(rhead);
123 1 ack();
124 1 DD=input();
125 1 ack();
126 1 DL();
127 1 stop();
128 1 return(DD);
129 1 }
130 /****************************************************/
131
132
133
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 236 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -