📄 iic.lst
字号:
C51 COMPILER V7.50 IIC 03/21/2008 16:43:57 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE IIC
OBJECT MODULE PLACED IN IIC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE IIC.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 sbit sda=P2^7;
4 sbit scl=P2^6;
5 void delay()
6 {;;}
7 void delay1(uchar z)
8 {
9 1 uchar x,y;
10 1 for(x<z;x>0;x++)
11 1 for(y=110;y>0;y++);
12 1
13 1 }
14
15
16 void start()
17 {
18 1 sda=1;
19 1 delay();
20 1 scl=1;
21 1 delay();
22 1 sda=0;
23 1 delay();
24 1 }
25
26
27 void stop()
28 {
29 1 sda=0;
30 1 delay();
31 1 scl=1;
32 1 delay();
33 1 sda=1;
34 1 delay();
35 1 }
36
37
38 void response()
39 {
40 1 uchar i;
41 1 scl=1;
42 1 delay();
43 1 while((sda==1)&&(i<250))
44 1 i++;
45 1 scl=0;
46 1 delay();
47 1 }
48
49
50 void init()
51 {
52 1 sda=1;
53 1 delay();
54 1 scl=1;
55 1 delay();
C51 COMPILER V7.50 IIC 03/21/2008 16:43:57 PAGE 2
56 1 }
57
58
59 void write_Byte(uchar date)
60 {
61 1 uchar i,temp;
62 1 temp=date;
63 1
64 1 for(i=0;i<8;i++)
65 1 {
66 2 temp=temp<<1;
67 2 scl=0;
68 2 delay();
69 2 sda=CY;
70 2 delay();
71 2 scl=1;
72 2 delay();
73 2
74 2 }
75 1 scl=0;
76 1 delay();
77 1 sda=1;
78 1 delay();
79 1
80 1 }
81
82
83 uchar read_Byte()
84 {
85 1 uchar i,k;
86 1 scl=0;
87 1 delay();
88 1 sda=1;
89 1 delay();
90 1 for(i=0;i<8;i++)
91 1 {
92 2 scl=1;
93 2 delay();
94 2 k=(k<<1)|sda;
95 2 scl=0;
96 2 delay();
97 2 }
98 1 return k;
99 1
100 1 }
101
102 void write_add(uchar address,uchar date)
103 {
104 1 start();
105 1 write_Byte(0xa0);
106 1 response();
107 1 write_Byte(address);
108 1 response();
109 1 write_Byte(date);
110 1 response();
111 1 stop();
112 1 }
113
114 uchar read_add(uchar address)
115 {
116 1 uchar date;
117 1 start();
C51 COMPILER V7.50 IIC 03/21/2008 16:43:57 PAGE 3
118 1 write_Byte(0xa0);
119 1 response();
120 1 write_Byte(address);
121 1 response();
122 1 start();
123 1 write_Byte(0xa1);
124 1 response();
125 1 date=read_Byte();
126 1 stop();
127 1 return date;
128 1 }
129 void main()
130 {
131 1 init();
132 1 write_add(23,0x55);
133 1 delay1(100);
134 1 P0=read_add(23);
135 1 while(1);
136 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 234 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -