📄 2402.lst
字号:
C51 COMPILER V7.10 2402 02/15/2010 14:36:28 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE 2402
OBJECT MODULE PLACED IN 2402.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE 2402.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /*************************此部分为AT2402的驱动程序使用I2C总线连接*************************************/
3
4 #include<Function.h>
5
6 //AT2402的功能函数
7 /*******************************************************************
8 向有子地址器件发送多字节数据函数
9 函数原型: bit ISendStr(UCHAR sla,UCHAR suba,ucahr *s,UCHAR no);
10 功能: 从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件
11 地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。
12 如果返回1表示操作成功,否则操作有误。
13 注意: 使用前必须已结束总线。
14 ********************************************************************/
15 bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no)
16 {
17 1 unsigned char i;
18 1
19 1 Start_I2c(); /*启动总线*/
20 1 SendByte(sla); /*发送器件地址*/
21 1 if(ack==0)return(0);
22 1 SendByte(suba); /*发送器件子地址*/
23 1 if(ack==0)return(0);
24 1
25 1 for(i=0;i<no;i++)
26 1 {
27 2 SendByte(*s); /*发送数据*/
28 2 if(ack==0)return(0);
29 2 s++;
30 2 }
31 1 Stop_I2c(); /*结束总线*/
32 1
33 1 return(1);
34 1 }
35
36 /*******************************************************************
37 向有子地址器件读取多字节数据函数
38 函数原型: bit RecndStr(UCHAR sla,UCHAR suba,ucahr *s,UCHAR no);
39 功能: 从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件
40 地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。
41 如果返回1表示操作成功,否则操作有误。
42 注意: 使用前必须已结束总线。
43 ********************************************************************/
44 bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no)
45 {
46 1 unsigned char i;
47 1
48 1 Start_I2c(); /*启动总线*/
49 1 SendByte(sla); /*发送器件地址*/
50 1 if(ack==0)return(0);
51 1 SendByte(suba); /*发送器件子地址*/
52 1 if(ack==0)return(0);
53 1
54 1 Start_I2c(); /*重新启动总线*/
55 1 SendByte(sla+1);
C51 COMPILER V7.10 2402 02/15/2010 14:36:28 PAGE 2
56 1 if(ack==0)return(0);
57 1 for(i=0;i<no-1;i++)
58 1 {
59 2 *s=RcvByte(); /*发送数据*/
60 2 Ack_I2c(0); /*发送就答位*/
61 2 s++;
62 2 }
63 1 *s=RcvByte();
64 1 Ack_I2c(1); /*发送非应位*/
65 1 Stop_I2c(); /*结束总线*/
66 1 return(1);
67 1 }
68
69
70
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 198 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 14
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 + -