📄 24c256.lst
字号:
C51 COMPILER V7.50 24C256 03/06/2006 15:21:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 24C256
OBJECT MODULE PLACED IN 24c256.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE 24c256.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //
2 //24C32---24C2566
3 //
4 #include <SST89x5xxRD2.h>
5 #include <intrins.h>
6 #include <stdio.h>
7 #define uchar unsigned char
8 #define uint unsigned int
9 #define ulong unsigned long
10
11 uchar buf[50];
12 sbit SDA=P1^0;
13 sbit SCL=P1^1;
14
15 sbit a0=ACC^0;
16 sbit a1=ACC^1;
17 sbit a2=ACC^2;
18 sbit a3=ACC^3;
19 sbit a4=ACC^4;
20 sbit a5=ACC^5;
21 sbit a6=ACC^6;
22 sbit a7=ACC^7;
23
24 void delay(uchar n)
25 {
26 1 uchar i;
27 1 uint j;
28 1 for(i=0;i<n;i++)
29 1 for(j=0;j<1000;j++);
30 1 }
31
32 void Wait(void)
33 {
34 1 _nop_();
35 1 _nop_();
36 1 _nop_();
37 1 _nop_();
38 1 _nop_();
39 1 }
40
41 void set_sda_hight(void)
42 {
43 1 SDA=1;
44 1 Wait();
45 1 }
46
47 void set_sda_low(void)
48 {
49 1 SDA=0;
50 1 Wait();
51 1 }
52
53 void set_scl_hight(void)
54 {
55 1 SCL=1;
C51 COMPILER V7.50 24C256 03/06/2006 15:21:09 PAGE 2
56 1 Wait();
57 1 }
58
59 void set_scl_low(void)
60 {
61 1 SCL=0;
62 1 Wait();
63 1 }
64
65 void Start(void)
66 {
67 1 Wait();
68 1 set_sda_hight();
69 1 set_scl_hight();
70 1 set_sda_low();
71 1 set_scl_low();
72 1 }
73
74 void Stop(void)
75 {
76 1 Wait();
77 1 set_scl_low();
78 1 set_sda_low();
79 1 set_scl_hight();
80 1 set_sda_hight();
81 1 delay(10);
82 1 }
83
84 /*bit get_ack(void)
85 {
86 bit result;
87 set_sda_hight();
88 set_scl_hight();
89 result=SDA;
90 set_scl_low();
91 return(result);
92 }*/
93
94 /*void set_ack(void)
95 {
96 set_scl_low();
97 set_sda_low();
98 set_scl_hight();
99 set_scl_low();
100 }*/
101
102 uchar RB24(void) {
103 1 ACC=0x00;
104 1 set_sda_hight();
105 1 set_scl_hight();a7=SDA;set_scl_low();
106 1 set_scl_hight();a6=SDA;set_scl_low();
107 1 set_scl_hight();a5=SDA;set_scl_low();
108 1 set_scl_hight();a4=SDA;set_scl_low();
109 1 set_scl_hight();a3=SDA;set_scl_low();
110 1 set_scl_hight();a2=SDA;set_scl_low();
111 1 set_scl_hight();a1=SDA;set_scl_low();
112 1 set_scl_hight();a0=SDA;set_scl_low();
113 1 set_sda_hight();set_scl_hight();set_scl_low();
114 1 return(ACC);
115 1 }
116
117
C51 COMPILER V7.50 24C256 03/06/2006 15:21:09 PAGE 3
118 void WB24(uchar dd) {
119 1 ACC=dd;
120 1 SDA=a7;set_scl_hight();set_scl_low();
121 1 SDA=a6;set_scl_hight();set_scl_low();
122 1 SDA=a5;set_scl_hight();set_scl_low();
123 1 SDA=a4;set_scl_hight();set_scl_low();
124 1 SDA=a3;set_scl_hight();set_scl_low();
125 1 SDA=a2;set_scl_hight();set_scl_low();
126 1 SDA=a1;set_scl_hight();set_scl_low();
127 1 SDA=a0;set_scl_hight();set_scl_low();
128 1 set_sda_hight();set_scl_hight();
129 1 set_scl_low();
130 1 }
131
132 uchar read_byter(uchar address)
133 {
134 1 uchar dd;
135 1 Start();
136 1 WB24(0xa0);
137 1 WB24(address);
138 1 Start();
139 1 WB24(0xa1);
140 1 dd=RB24();
141 1 Stop();
142 1 return(dd);
143 1 }
144
145 void write_byter(uchar address,uchar dd)
146 {
147 1 Start();
148 1 WB24(0xa0);
149 1 WB24(address);
150 1 WB24(dd);
151 1 Stop();
152 1 }
153
154 void write_eeprom()
155 {
156 1 uchar i;
157 1 for(i=0;i<50;i++)
158 1 {
159 2 write_byter(i,i);
160 2 }
161 1 }
162
163 void read_eeprom()
164 {
165 1 uchar i;
166 1 for(i=0;i<50;i++)
167 1 {
168 2 buf[i]=read_byter(i);
169 2 }
170 1 }
171 main()
172 {
173 1 while(1)
174 1 {
175 2 write_eeprom();
176 2 read_eeprom();
177 2 }
178 1 }
C51 COMPILER V7.50 24C256 03/06/2006 15:21:09 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 332 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 50 ----
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 + -