📄 main_s.lst
字号:
C51 COMPILER V7.00 Beta 6 MAIN_S 12/19/2003 14:19:30 PAGE 1
C51 COMPILER V7.00 Beta 6, COMPILATION OF MODULE MAIN_S
OBJECT MODULE PLACED IN main_s.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main_s.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include"3552.h"
2 #include "i2cm.h"
3 #define SLA_R 0x26;
4 #define SLA_W 0x27;
5 extern unsigned char idata Slave_Adr;
6 extern unsigned char idata FReceive_Done;
7 extern unsigned char idata FTransmitted_Done;
8 unsigned char code DATA1[]={0x55,0xAA,0xA5,0x5A};
9 extern unsigned char idata SDATA[10];
10 void init_i2c();
11
12 //=====================================================
13
14 //====================================================
15 int main()
16 {
17 1
18 1 SP =0x30;
19 1 Init_uart();
20 1 init_i2c();
21 1 //---------------------------------------------------
22 1 //Slave receive mode
23 1 //----------------------------------------------------
24 1 while(1)
25 1 {
26 2 #if 1
27 2 FReceive_Done = 0;
28 2 transs("---slave receive mode!!---\n\r");
29 2 while(!FReceive_Done){}
30 2 transs("---slave receive end!!---\n\r");
31 2 Compare_Data();
32 2 #endif
33 2 //---------------------------------------------------
34 2 //Slave transmit mode
35 2 //---------------------------------------------------
36 2 FTransmitted_Done =0;
37 2 transs("---slave transmitted mode!!---\n\r");
38 2 while(!FTransmitted_Done){}
39 2 transs("---slave transmitted end!!---\n\r");
40 2 //---------------------------------------------------
41 2 }
42 1 while(1);
43 1 return 0;
44 1 }
45 //====================================================
46 void Init_uart()
47 {
48 1 SCON = 0x50;
49 1 TI = 0x00;
50 1 TMOD = 0x20;
51 1 TL1 = 0x00;
52 1 TH1 = 0xF3; //12M 2400
53 1 TR1 = 0x01;
54 1 }
55 //--------------------------------------
C51 COMPILER V7.00 Beta 6 MAIN_S 12/19/2003 14:19:30 PAGE 2
56 void init_i2c()
57 {
58 1 EA=1;
59 1 ES1=1;
60 1 S1CON=ENABLE_I2C;
61 1 S1ADR=SLA_R;
62 1
63 1 }
64 //=======================================
65 //---------------------------------------
66 //* transmit a char*/
67 void transc (char c)
68 {
69 1 SBUF = c;
70 1 while(!TI);
71 1 TI = 0;
72 1 }
73 //---------------------------------------
74 //---------------------------------------
75 void transreg(char c)
76 {
77 1 int tmp;
78 1 int tmpc;
79 1 tmp=c;
80 1 tmp=(tmp>>4)&0x0F;
81 1 ACC=tmp;
82 1 tmpc=hextoascii(tmp);
83 1 transc(tmpc);
84 1 tmp=c&0x0F;
85 1 tmpc=hextoascii(tmp);
86 1 transc(tmpc);
87 1 transs("\n\r");
88 1
89 1 }
90
91 //-----------------------------------------
92 int hextoascii(int hex2)
93 {
94 1 int tmp1;
95 1 tmp1=hex2;
96 1 if (tmp1 >= 0x0A )
97 1 {
98 2 tmp1 += 0x37;
99 2 }
100 1 else
101 1 {
102 2 tmp1+=0x30;
103 2 }
104 1 return tmp1;
105 1 }
106 //-------------------------------------------
107 /* transmit a string */
108
109 void transs(char *s)
110 {
111 1
112 1 while (*s!='\0')
113 1 {
114 2 SBUF=*s;
115 2 while(!TI);
116 2 TI = 0 ;
117 2 s++;
C51 COMPILER V7.00 Beta 6 MAIN_S 12/19/2003 14:19:30 PAGE 3
118 2 }
119 1
120 1 }
121 //-------------------------------------------
122 void Compare_Data()
123 {
124 1 unsigned int data i ;
125 1 unsigned char idata compare_Flag = 0;
126 1 for(i=0;i<4;i++)
127 1 {
128 2
129 2 if(DATA1[i]==SDATA[i])
130 2 {
131 3 compare_Flag =0;
132 3 //transreg(DATA1[i]);
133 3 //transreg(SDATA[i]);
134 3 }
135 2 else
136 2 {
137 3 //transreg(DATA1[i]);
138 3 //transreg(SDATA[i]);
139 3 compare_Flag =1;
140 3 }
141 2
142 2 }
143 1 if(!compare_Flag)
144 1 {
145 2 transs("-----ok!-----\n\r");
146 2 FReceive_Done = 0;
147 2 }
148 1 else
149 1 {
150 2 transs("-----fail!-----\n\r");
151 2 FReceive_Done = 0;
152 2 }
153 1 }
154 //--------------------------------------------
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 268 ----
CONSTANT SIZE = 163 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- 1
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 + -