📄 myapi.lst
字号:
146
147 void TESTSW(void)//当检测到P1.?和P1.?口为低电平时,就分别将红灯点亮和将绿灯点亮。
148 { if(SWGREEN == 0) GREEN1 = GREEN2 = 0; else GREEN1 = GREEN2 = 1;
149 1 if(SWRED == 0) RED1 = RED2 = 0; else RED1 = RED2 = 1;
150 1 }
151
152
153 void AtoB(void)//将i到j从A发送到B 闪烁~~~~~~~~
154 {
155 1 TorRF = 1;TR_CFG = 1;
156 1 ES = 0;
157 1 SBUF = SENDNUM;
158 1 DISPLAYNUM = SENDNUM;
159 1 TR1 = 1;
160 1 while(!TI);
161 1 TI = 0;
162 1 GREEN1 = 0;
163 1 GREEN1 = 1;
164 1 if(COUNT2 < 5) COUNT2++;
165 1 else {COUNT2 = 0; if(SENDNUM<99) ++SENDNUM;else SENDNUM=DISPLAYNUM=0;}
166 1 ES = 1;
167 1 }
168 void AtoBOFF(void)
169 {ES = 0;TR1 = 0;DISPLAYNUM = 0;ST1 = ST2 = 1;}
170 void AreB(void)//A从B接收到一个字节 作为跟新全局变量DISPLAYNUM
171 {
172 1 ES = 1;TorRF = 0;TR_CFG = 0;
173 1 while(!RI);
174 1 RI = 0;
175 1 RENUM = SBUF;
176 1 TorRF = 0;
177 1 TR1 = 1;
178 1 DISPLAYNUM = RENUM;
179 1 }
C51 COMPILER V7.50 MYAPI 03/23/2009 12:46:39 PAGE 4
180 void AreBOFF(void)
181 {ES = 0;TorRF = 1;TR_CFG = 1;SR1 = SR2 = 1;TR1 = 0;}
182 void MasterTOSlaver(void)//主从通信 每回合通信为16个数
183 {
184 1 SM2 = 1;
185 1 TR0 = 0;
186 1 //主机程序
187 1 if((SW5 == 0)&&(!ACKMASTER))
188 1 {
189 2 TR1 = 0; ST1 = ST2 = SR1 = SR2 = 1;TI = 0;
190 2 TB8 = 1;
191 2 TR_CFG = 1;
192 2 SBUF = ADD1;
193 2
194 2 while(!TI);
195 2 TI = 0;
196 2 TR_CFG = 0;
197 2 SM2 = 0;
198 2 GREEN1 = 0;
199 2 GREEN1 = 1;
200 2
201 2 MASTERNUM = 0;
202 2 DISPLAYNUM = 0;
203 2 TorRF = 0;
204 2
205 2 RI = 0;
206 2
207 2
208 2 while(MASTERNUM < MAXNUM + 1)
209 2 {
210 3 while(!RI);
211 3 RI = 0;
212 3 RENUM = SBUF;
213 3 DISPLAYNUM = RENUM;ACKMASTER = 1; TorRF = 0;
214 3 TR1 = 1;
215 3 MASTERNUM++;
216 3 // Delay(255);
217 3 }
218 2 TR_CFG = 1;
219 2 SM2 = 1;
220 2
221 2 /* //接收超时
222 2 if(!ACKMASTER)
223 2 {
224 2 TR1 = 0;
225 2 ST1 = ST2 = SR1 = SR2 = 1;
226 2 P0 = 0xF8;
227 2 DISPLAYNUM = SENDNUM;TR1 = 1;TorRF = 1;//可在此处修正从机地址
228 2 }*/
229 2
230 2
231 2
232 2 }
233 1 if((SW6 == 0)&&(!ACKSLAVER))
234 1 {
235 2 TR1 = 0; ST1 = ST2 = SR1 = SR2 = 1;TR_CFG = 0;TorRF = 0;
236 2
237 2 // while(EERCOUNT < 255)
238 2 // {
239 2 // ++EERCOUNT;
240 2 // if(RI == 1)
241 2 // {
C51 COMPILER V7.50 MYAPI 03/23/2009 12:46:39 PAGE 5
242 2 while(!RI)
243 2 RI = 0;
244 2
245 2 RENUM = SBUF;
246 2 if(ADD == RENUM)
247 2 {
248 3 SENDNUM = 0x10;SM2 = 0;
249 3 TorRF = 1;TR_CFG = 1;ACKSLAVER = 1;
250 3 SLAVERNUM = 0;
251 3 while(SLAVERNUM < MAXNUM)
252 3 {
253 4 TB8 = 0;
254 4 SBUF = SENDNUM;
255 4 DISPLAYNUM = SENDNUM;
256 4 TR1 = 1;
257 4 while(!TI);
258 4 TI = 0;
259 4 GREEN1 = 0;
260 4 GREEN1 = 1;
261 4 if(SENDNUM<99) ++SENDNUM;
262 4 else SENDNUM=DISPLAYNUM=0;
263 4 SLAVERNUM++;
264 4 Delay(255);
265 4 }
266 3
267 3 }
268 2
269 2 // }
270 2 // }
271 2
272 2 /* if(!ACKSLAVER)
273 2 {
274 2 TR1 = 0;
275 2 ST1 = ST2 = SR1 = SR2 = 1;
276 2 P0 = 0xF0;
277 2 DISPLAYNUM = SENDNUM;TR1 = 1;TorRF = 0;//可在此处修正从机地址
278 2 } */
279 2
280 2 }
281 1 SM2 = 1;
282 1 TR0 = 1;
283 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 691 ----
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 + -