📄 i2c.lst
字号:
C51 COMPILER V7.06 I2C 01/03/2008 17:28:43 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN I2C.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE I2C.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<c8051f350.h>
2 #include "variable.h"
3 #include "I2C.h"
4 #include "menu.h"
5
6 bit SMB_BUSY;
7 bit SMB_RW;
8 bit RW_flag;
9 bit Ack1;
10 bit Ack2;
11 /********************************************
12 函数名: SMbus_init
13 功能: SMbus初始化
14 形式参数:无
15 返回值:无
16 ********************************************/
17 void SMbus_init(void)
18 {
19 1 SMB0CF = 0xDC;
20 1 }
21 /********************************************
22 函数名: SMbus_24c02_read
23 功能: SMbus读数据
24 形式参数:addr-字节首地址
25 返回值:读取的数据
26 ********************************************/
27 void SMbus_24c02_read(unsigned char addr)
28 {
29 1 while(SMB_BUSY);
30 1 SMB_BUSY=1;
31 1 RW_flag=1;
32 1 Ack1=0;
33 1 Ack2=0;
34 1 Slave=0xa0;//24c02器件地址
35 1 SMB_RW=write;
36 1 Dat_addr=addr;//数据首字节地址
37 1 STA=1;
38 1 while(SMB_BUSY);
39 1 }
40 /********************************************
41 函数名: SMbus_24c02_write
42 功能: 24c02写数据
43 形式参数:addr-字节首地址,dat-数据值
44 返回值:无
45 ********************************************/
46 void SMbus_24c02_write(unsigned char addr,unsigned char dat)
47 {
48 1 while(SMB_BUSY);
49 1 SMB_BUSY=1;
50 1 RW_flag=0;
51 1 Ack1=0;
52 1 Ack2=0;
53 1 Slave=0xa0;
54 1 SMB_RW=write;
55 1 Dat_addr=addr;
C51 COMPILER V7.06 I2C 01/03/2008 17:28:43 PAGE 2
56 1 Dat_val=dat;
57 1 STA=1;
58 1 while(SMB_BUSY);
59 1 }
60
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 54 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 5 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -