📄 24c02.lst
字号:
C51 COMPILER V7.01 24C02 10/15/2004 15:20:38 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE 24C02
OBJECT MODULE PLACED IN 24C02.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 24C02.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #define uchar unsigned char
2 #define uint unsigned int
3 #include "reg52.h"
4 #include "stdio.h"
5 #include "absacc.h"
6 #include "main.h"
7 #include "INTRINS.H"
8
9 uchar x24c02_read(uchar address); //从24c02的地址address中读取一个字节数据
10 void x24c02_write(uchar address,uchar info); //向24c02的address地址中写入一字节数据info
11 void x24c02_init(); //24c02初始化子程序
12 void delay1(uchar x);
13 void flash();
14 void x24c01_init();
15 void start();
16 void stop();
17 void writex(uchar j);
18 uchar readx();
19 void clock();
20 void delay1(uchar x)
21 {
22 1 uint i;
23 1 for(i=0;i<x;i++);
24 1 DOG=~DOG;
25 1 }
26 void flash(void)
27 {
28 1 _nop_();
29 1 _nop_();
30 1 }
31 void x24c02_init()
32 {
33 1 scl=1; flash(); sda=1; flash();
34 1 }
35 void start()
36 {
37 1 sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();
38 1 }
39 void stop()
40 {
41 1 sda=0; flash(); scl=1; flash(); sda=1; flash();
42 1 }
43 void writex(uchar j)
44 {
45 1 uchar i,temp;
46 1 temp=j;
47 1 for (i=0;i<8;i++){
48 2 temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();
49 2 }
50 1 scl=0; flash(); sda=1; flash();
51 1 }
52 uchar readx()
53 {
54 1 uchar i,j,k=0;
55 1 scl=0; flash(); sda=1;
C51 COMPILER V7.01 24C02 10/15/2004 15:20:38 PAGE 2
56 1 for (i=0;i<8;i++){
57 2 flash(); scl=1; flash();
58 2 if (sda==1) j=1;
59 2 else j=0;
60 2 k=(k<<1)|j; scl=0;
61 2 }
62 1 flash(); return(k);
63 1 }
64 void clock()
65 {
66 1 uchar i=0;
67 1 scl=1; flash();
68 1 while ((sda==1)&&(i<255))i++;
69 1 scl=0; flash();
70 1 }
71 uchar x24c02_read(uchar address)
72 {
73 1 uchar i;
74 1 start(); writex(0xa0);
75 1 clock(); writex(address);
76 1 clock(); start();
77 1 writex(0xa1); clock();
78 1 i=readx(); stop();
79 1 delay1(10);
80 1 return(i);
81 1 }
82 void x24c02_write(uchar address,uchar info)
83 {
84 1 EA=0;
85 1 start(); writex(0xa0);
86 1 clock(); writex(address);
87 1 clock(); writex(info);
88 1 clock(); stop();
89 1 EA=1;
90 1 delay1(50);
91 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 237 ----
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 + -