📄 2402.lst
字号:
C51 COMPILER V7.50 2402 01/07/2008 14:41:42 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 2402
OBJECT MODULE PLACED IN 2402.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 2402.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #include <stdio.h>
4 #include <absacc.h>
5 sbit scl=P0^3; //24c02 SCL
6 sbit sda=P0^4; //24c02 SDA
7 unsigned char x24c02_read(unsigned char address); //从24c02的地址address中读取一个字节数据
8 void x24c02_write(unsigned char address,unsigned char info); //向24c02的address地址中写入一字节数据info
9 void x24c02_init(); //24c02初始化子程序
10 void delay1(unsigned char x);
11 void flash(); //短延时
12 //void x24c01_init();
13 void start(); //起始条件
14 void stop(); //停止条件
15 void writex(unsigned char j);//向总线发送1个数据
16 unsigned char readx(); //从总线接收1 个数据
17 void clock(); //应答位
18 /*void delay1(unsigned char x)
19 {
20 unsigned int i;
21 for(i=0;i<x;i++);
22 DOG=~DOG;
23 }*/
24 //延时
25 void mDelay(unsigned int DelayTime)
26 {
27 1 unsigned int j;
28 1 for(;DelayTime>0;DelayTime--)
29 1 {
30 2 for(j=0;j<125;j++)
31 2 {;}
32 2 }
33 1 }
34 void flash()
35 {
36 1 _nop_();_nop_();
37 1 }
38 void x24c02_init()
39 {
40 1 scl=1; flash(); sda=1; flash();
41 1 }
42 void start()
43 {
44 1 sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();
45 1 }
46 void stop()
47 {
48 1 sda=0; flash(); scl=1; flash(); sda=1; flash();
49 1 }
50 void writex(unsigned char j)
51 {
52 1 unsigned char i,temp;
53 1 temp=j;
54 1 for (i=0;i<8;i++){
55 2 temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();
C51 COMPILER V7.50 2402 01/07/2008 14:41:42 PAGE 2
56 2 }
57 1 scl=0; flash(); sda=1; flash();
58 1 }
59 unsigned char readx()
60 {
61 1 unsigned char i,j,k=0;
62 1 scl=0; flash(); sda=1;
63 1 for (i=0;i<8;i++)
64 1 {
65 2 flash(); scl=1; flash();
66 2 if (sda==1) j=1;
67 2 else j=0;
68 2 k=(k<<1)|j; scl=0;
69 2 }
70 1 flash();
71 1 return(k);
72 1 }
73 void clock()
74 {
75 1 unsigned char i=0;
76 1 scl=1; flash();
77 1 while ((sda==1)&&(i<255))i++;
78 1 scl=0;
79 1 flash();
80 1 }
81 unsigned char x24c02_read(unsigned char address)
82 {
83 1 unsigned char i;
84 1 start(); writex(0xa0);
85 1 clock(); writex(address);
86 1 clock(); start();
87 1 writex(0xa1); clock();
88 1 i=readx(); stop();
89 1 mDelay(10);
90 1 return(i);
91 1 }
92 void x24c02_write(unsigned char address,unsigned char info)
93 {
94 1 EA=0;
95 1 start(); writex(0xa0);
96 1 clock(); writex(address);
97 1 clock(); writex(info);
98 1 clock(); stop();
99 1 EA=1;
100 1 mDelay(10);
101 1 }
102 void main()
103 {
104 1 unsigned char i,j;
105 1 x24c02_init();
106 1 mDelay(100);
107 1 x24c02_write(0x00,0x55);
108 1 mDelay(100);
109 1 i=x24c02_read(0x00);
110 1 mDelay(100);
111 1 x24c02_write(0x01,0xaa);
112 1 mDelay(100);
113 1 j=x24c02_read(0x01);
114 1 mDelay(100);
115 1 }
C51 COMPILER V7.50 2402 01/07/2008 14:41:42 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 300 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
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 + -