📄 24c01.lst
字号:
C51 COMPILER V6.02 24C01 11/26/2005 22:15:48 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE 24C01
OBJECT MODULE PLACED IN C:\WIRELE~1\24C01.OBJ
COMPILER INVOKED BY: C:\keil\c51\bin\C51.EXE C:\WIRELE~1\24C01.C DB SB OE DEFINE(LOCALTIME)
stmt level source
1 #include <reg51.h>
2 #include <string.h>
3 #include <stdio.h>
4 #include <intrins.h>
5
6 #include "types.h"
7 #include "24c01.h"
8 #include "key.h"
9 #include "managment.h"
10
11 void DelayMs(uint number);
12 void EEdaly();
13 //void int0_EEWrite();
14 void Initeeprom();
15 uchar EERead(uchar RomAddress,uchar RamAddress);
16 void EEWrite(uchar Wdata,uchar RomAddress);
17 void Start();
18 void Stop();
19 sbit SCL=P3^7;
20 sbit SDA=P1^0;
21 //-------------------------------------------------------------
22 void Initeeprom()
23 {
24 1 // uint i,ttp;
25 1 SCL=0;
26 1 Stop();
27 1 EEdaly();
28 1 EEdaly();
29 1 EEdaly();
30 1 EEdaly();
31 1 led_buf[0]=EERead(led_buf0,led_buf[0]);
32 1 led_buf[1]=EERead(led_buf1,led_buf[1]);
33 1 if(led_buf[0]>8) led_buf[0]=8;
34 1 if(led_buf[1]>99) led_buf[1]=99;
35 1 }
36 //--------------------------------
37 void EEdaly()
38 {
39 1 uchar i;
40 1 for(i=10;i;i--)
41 1 _nop_();
42 1 }
43 /***************************************************************************/
44 void DelayMs(uint number)
45 {
46 1 uint i,j;
47 1 for(i=number;i!=0;i--)
48 1 {
49 2 for(j=112;j!=0;j--) ;
50 2 }
51 1 }
52
53 /***************************************************************************/
54 void Start() {
55 1 SCL=1;
C51 COMPILER V6.02 24C01 11/26/2005 22:15:48 PAGE 2
56 1 EEdaly();
57 1 SDA=1;
58 1 EEdaly();
59 1 SDA=0;
60 1 EEdaly();
61 1 SCL=0;
62 1 EEdaly();
63 1 }
64
65 /***************************************************************************/
66 void Stop() {
67 1 SCL=0;
68 1 EEdaly();
69 1 SDA=0;
70 1 EEdaly();
71 1 SCL=1;
72 1 EEdaly();
73 1 SDA=1;
74 1 EEdaly();
75 1 EEdaly();
76 1 }
77
78 /***************************************************************************/
79 void Ack() {
80 1 SDA=0;
81 1 EEdaly();
82 1 SCL=1;
83 1 EEdaly();
84 1 SCL=0;
85 1 EEdaly();
86 1 SDA=1;
87 1 EEdaly();
88 1 }
89
90 /***************************************************************************/
91 void NoAck() {
92 1 SDA=1;
93 1 EEdaly();
94 1 SCL=1;
95 1 EEdaly();
96 1 SCL=0;
97 1 EEdaly();
98 1 }
99
100 /***************************************************************************/
101 //bit TestAck() {
102 // bit ErrorBit;
103 // SDA=1;
104 // EEdaly();
105 // SCL=1;
106 // EEdaly();
107 // ErrorBit=SDA;
108 // EEdaly();
109 // SCL=0;
110 // EEdaly();
111 // return(ErrorBit);
112 //}
113
114 //**************************************************/
115 bit Write8Bit(uchar input)
116 {
117 1 uchar i;
C51 COMPILER V6.02 24C01 11/26/2005 22:15:48 PAGE 3
118 1 for(i=8;i;i--)
119 1 {
120 2 input=input<<1;
121 2 if(CY) SDA=1;
122 2 else SDA=0;
123 2 EEdaly();
124 2 SCL=1;
125 2 EEdaly();
126 2 SCL=0;
127 2 EEdaly();
128 2 }
129 1 return(i);
130 1 }
131 //***************************************************************************/
132 void EEWrite(uchar Wdata,uchar RomAddress) {
133 1 Start();
134 1 Write8Bit(WriteDeviceAddress);
135 1 Ack();
136 1 // if(TestAck())
137 1 // goto EEWriteEnd;
138 1 Write8Bit((uchar)RomAddress);
139 1 Ack();
140 1 // if(TestAck())
141 1 // goto EEWriteEnd;
142 1 // for(;number;number--)
143 1 // {
144 1 Write8Bit(Wdata);
145 1 // if(TestAck())
146 1 // goto EEWriteEnd;
147 1 // Wdata++;
148 1 // }
149 1 // EEWriteEnd:
150 1 Ack();
151 1 Stop();
152 1 DelayMs(20);
153 1 }
154
155 /***************************************************************************/
156 uchar Read8Bit()
157 {
158 1 uchar i,rbyte=0;
159 1 for(i=8;i;i--)
160 1 {
161 2 SCL=1;
162 2 EEdaly();
163 2 rbyte<<=1;
164 2 rbyte|=(uchar)SDA;
165 2 SCL=0;
166 2 EEdaly();
167 2 }
168 1 return(rbyte);
169 1 }
170
171 //***************************************************************************/
172 uchar EERead(uchar RomAddress,uchar RamAddress) {
173 1 // uchar temp,rbyte;
174 1 Start();
175 1 Write8Bit(WriteDeviceAddress);
176 1 Ack();
177 1 // if(TestAck())
178 1 // goto EEReadFail;
179 1 Write8Bit((uchar)RomAddress);
C51 COMPILER V6.02 24C01 11/26/2005 22:15:48 PAGE 4
180 1 Ack();
181 1 // if(TestAck())
182 1 // goto EEReadFail;
183 1 Start();
184 1 Write8Bit(ReadDviceAddress);
185 1 Ack();
186 1 // if(TestAck())
187 1 // goto EEReadFail;
188 1 //for(;bytes;bytes--)
189 1 // {
190 1 RamAddress=Read8Bit();
191 1 // if(bytes>1) Ack(); R
192 1 // else
193 1 // NoAck;
194 1 // RamAddress++;
195 1 // }
196 1 // *RamAddress=Read8Bit();
197 1 NoAck();
198 1 // EEReadFail:
199 1 Stop();
200 1 return(RamAddress);
201 1 }
202
203 /***************************************************************************/
204 // void int0_EEWrite(void)
205 // {
206 // uint i,ttp;
207 // clrscr(); //清屏
208 // EPutstr(0,0,modalstring[ModalNumber&0x7f]);
209 // EEWrite((uchar)ModalNumber&0x7f,MODALNUMBERADDRESS);
210 // for(i=0;i<3;i++)
211 // {
212 // ttp=(ModalNumber&0x7f)*4+i;
213 // EEWrite((uchar)Para[i],PARAADDRESS+ttp);
214 // }
215 // }
216
217
218
C51 COMPILER V6.02 24C01 11/26/2005 22:15:48 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
Ack. . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 000CH -----
Start. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
_DelayMs . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
number . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
j. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
uchar. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
Initeeprom . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
Stop . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ulong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
EEdaly . . . . . . . . . . . . . . . . PUBLIC CODE PROC 000AH -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
uint . . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
_Write8Bit . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
input. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
NoAck. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
led_buf. . . . . . . . . . . . . . . . EXTERN DATA ARRAY ----- 2
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
Read8Bit . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
C51 COMPILER V6.02 24C01 11/26/2005 22:15:48 PAGE 6
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
rbyte. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
SDA. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
SCL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
_EERead. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
RomAddress . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
RamAddress . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
_EEWrite . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Wdata. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
RomAddress . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 282 ----
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 + -