📄 i2c_m.lst
字号:
C51 COMPILER V7.01 I2C_M 09/15/2005 01:21:56 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE I2C_M
OBJECT MODULE PLACED IN .\i2c_m.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE F:\工作文档\MX's MCU\IIC Demo Code\i2C\i2c_m.c BROWSE DEBUG OBJECTEXTEND PR
-INT(.\i2c_m.lst) OBJECT(.\i2c_m.obj)
stmt level source
1 #include "mxREG52.H"
2 #include "i2cm.h"
3
4 unsigned char num = 0x00;
5 unsigned char code DATA[]={0x36,0xAA,0xA5,0x5A};
6 unsigned char idata SDATA[10];
7 unsigned char trans_done;
8 unsigned char idata Slave_Adr;
9 unsigned char idata FReceive_Done;
10 unsigned char idata FTransmitted_Done;
11
12 //------------------------------------------------------
13 //i2c interrupt service routine
14 //------------------------------------------------------
15
16 void i2c_isr(void) interrupt 5
17 {
18 1 switch(S1STA)
19 1 {
20 2 //=====SLAVE RECEIVE mode===================
21 2 case SR_SLAW_ACK: //0x60
22 2 transreg(SR_SLAW_ACK);
23 2 num = 0;
24 2 S1CON=RELEASE_BUS_ACK;
25 2 break;
26 2
27 2 // case SR_SLAW_NONACK: //0x68
28 2 // transreg(SR_SLAW_NONACK);
29 2 // num=0;
30 2 // S1CON=RELEASE_BUS_NONACK;
31 2
32 2 case SR_DATA_ACK: //0x80
33 2 transreg(SR_DATA_ACK);
34 2 SDATA[num]=S1DAT;
35 2 transreg(SDATA[num]);
36 2 num++;
37 2 S1CON=RELEASE_BUS_ACK;
38 2 break;
39 2
40 2 // case SR_DATA_NONACK: //0x88
41 2 // transreg(SR_DATA_NONACK);
42 2 // SDATA[num]=S1DAT;
43 2 // num++;
44 2 // S1CON=RELEASE_BUS_NONACK;
45 2 // break;
46 2
47 2 case SR_STOP_ACK: //0xA0 receive has done
48 2 transreg(SR_STOP_ACK);
49 2 S1CON=RELEASE_BUS_NONACK;
50 2 FReceive_Done = 1;
51 2 break;
52 2 //==========================================
53 2 //=====SLAVE TRANSMITTER mode===============
54 2 case ST_SLAR_ACK: //0xA8
C51 COMPILER V7.01 I2C_M 09/15/2005 01:21:56 PAGE 2
55 2 // transreg(ST_SLAR_ACK);
56 2 // num=0;
57 2 S1DAT = 0x36;//DATA[num];
58 2 // num++;
59 2 S1CON=0xC2;
60 2 break;
61 2
62 2 case ST_DATA_ACK: //0xB8
63 2 transreg(ST_DATA_ACK);
64 2 S1DAT=DATA[num];
65 2 num++;
66 2 S1CON = RELEASE_BUS_ACK;
67 2 break;
68 2
69 2 case ST_STOP_NONACK: //0xC0
70 2 // transreg(ST_STOP_NONACK);
71 2 S1CON=RELEASE_BUS_ACK;
72 2 FTransmitted_Done =1;
73 2 break;
74 2
75 2 }
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 168 ----
CONSTANT SIZE = 4 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = 13 ----
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 + -