📄 90c58.lst
字号:
237 2 XBuffP++;
238 2 if(XBuffP==8) XBuffP=0;
239 2 triggle=1;
240 2 }
241 1
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 5
242 1 if(count == Q3SECTICKS)
243 1 {
244 2 cycles=3;
245 2 for(i=0;i<8;i++)
246 2 {
247 3 sbuff[4+i]=ticks[i][0]+ticks[i][1]+ticks[i][2]+ticks[i][3];
248 3 ticks[i][cycles]=0;
249 3 }
250 2 if(X00) X0Buff[0]|=(1<<XBuffP);
251 2 else X0Buff[0]&=~(1<<XBuffP);
252 2 if(X01) X0Buff[1]|=(1<<XBuffP);
253 2 else X0Buff[1]&=~(1<<XBuffP);
254 2 if(X02) X0Buff[2]|=(1<<XBuffP);
255 2 else X0Buff[2]&=~(1<<XBuffP);
256 2 if(X03) X0Buff[3]|=(1<<XBuffP);
257 2 else X0Buff[3]&=~(1<<XBuffP);
258 2 if(X04) X0Buff[4]|=(1<<XBuffP);
259 2 else X0Buff[4]&=~(1<<XBuffP);
260 2 if(X05) X0Buff[5]|=(1<<XBuffP);
261 2 else X0Buff[5]&=~(1<<XBuffP);
262 2 if(X06) X0Buff[6]|=(1<<XBuffP);
263 2 else X0Buff[6]&=~(1<<XBuffP);
264 2 if(X07) X0Buff[7]|=(1<<XBuffP);
265 2 else X0Buff[7]&=~(1<<XBuffP);
266 2
267 2 if(X10) X1Buff[0]|=(1<<XBuffP);
268 2 else X1Buff[0]&=~(1<<XBuffP);
269 2 if(X11) X1Buff[1]|=(1<<XBuffP);
270 2 else X1Buff[1]&=~(1<<XBuffP);
271 2 if(X12) X1Buff[2]|=(1<<XBuffP);
272 2 else X1Buff[2]&=~(1<<XBuffP);
273 2 if(X13) X1Buff[3]|=(1<<XBuffP);
274 2 else X1Buff[3]&=~(1<<XBuffP);
275 2 if(X14) X1Buff[4]|=(1<<XBuffP);
276 2 else X1Buff[4]&=~(1<<XBuffP);
277 2 if(X15) X1Buff[5]|=(1<<XBuffP);
278 2 else X1Buff[5]&=~(1<<XBuffP);
279 2 if(X16) X1Buff[6]|=(1<<XBuffP);
280 2 else X1Buff[6]&=~(1<<XBuffP);
281 2 if(X17) X1Buff[7]|=(1<<XBuffP);
282 2 else X1Buff[7]&=~(1<<XBuffP);
283 2
284 2 if(X20) X2Buff[0]|=(1<<XBuffP);
285 2 else X2Buff[0]&=~(1<<XBuffP);
286 2 if(X21) X2Buff[1]|=(1<<XBuffP);
287 2 else X2Buff[1]&=~(1<<XBuffP);
288 2 if(X22) X2Buff[2]|=(1<<XBuffP);
289 2 else X2Buff[2]&=~(1<<XBuffP);
290 2 if(X23) X2Buff[3]|=(1<<XBuffP);
291 2 else X2Buff[3]&=~(1<<XBuffP);
292 2 if(X24) X2Buff[4]|=(1<<XBuffP);
293 2 else X2Buff[4]&=~(1<<XBuffP);
294 2 if(X25) X2Buff[5]|=(1<<XBuffP);
295 2 else X2Buff[5]&=~(1<<XBuffP);
296 2 if(X26) X2Buff[6]|=(1<<XBuffP);
297 2 else X2Buff[6]&=~(1<<XBuffP);
298 2 if(X27) X2Buff[7]|=(1<<XBuffP);
299 2 else X2Buff[7]&=~(1<<XBuffP);
300 2
301 2 XBuffP++;
302 2 if(XBuffP==8) XBuffP=0;
303 2 triggle=1;
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 6
304 2 }
305 1
306 1 if(count == SECTICKS)
307 1 {
308 2 count=0;
309 2 cycles=0;
310 2 for(i=0;i<8;i++)
311 2 {
312 3 sbuff[4+i]=ticks[i][0]+ticks[i][1]+ticks[i][2]+ticks[i][3];
313 3 ticks[i][cycles]=0;
314 3 }
315 2 if(X00) X0Buff[0]|=(1<<XBuffP);
316 2 else X0Buff[0]&=~(1<<XBuffP);
317 2 if(X01) X0Buff[1]|=(1<<XBuffP);
318 2 else X0Buff[1]&=~(1<<XBuffP);
319 2 if(X02) X0Buff[2]|=(1<<XBuffP);
320 2 else X0Buff[2]&=~(1<<XBuffP);
321 2 if(X03) X0Buff[3]|=(1<<XBuffP);
322 2 else X0Buff[3]&=~(1<<XBuffP);
323 2 if(X04) X0Buff[4]|=(1<<XBuffP);
324 2 else X0Buff[4]&=~(1<<XBuffP);
325 2 if(X05) X0Buff[5]|=(1<<XBuffP);
326 2 else X0Buff[5]&=~(1<<XBuffP);
327 2 if(X06) X0Buff[6]|=(1<<XBuffP);
328 2 else X0Buff[6]&=~(1<<XBuffP);
329 2 if(X07) X0Buff[7]|=(1<<XBuffP);
330 2 else X0Buff[7]&=~(1<<XBuffP);
331 2
332 2 if(X10) X1Buff[0]|=(1<<XBuffP);
333 2 else X1Buff[0]&=~(1<<XBuffP);
334 2 if(X11) X1Buff[1]|=(1<<XBuffP);
335 2 else X1Buff[1]&=~(1<<XBuffP);
336 2 if(X12) X1Buff[2]|=(1<<XBuffP);
337 2 else X1Buff[2]&=~(1<<XBuffP);
338 2 if(X13) X1Buff[3]|=(1<<XBuffP);
339 2 else X1Buff[3]&=~(1<<XBuffP);
340 2 if(X14) X1Buff[4]|=(1<<XBuffP);
341 2 else X1Buff[4]&=~(1<<XBuffP);
342 2 if(X15) X1Buff[5]|=(1<<XBuffP);
343 2 else X1Buff[5]&=~(1<<XBuffP);
344 2 if(X16) X1Buff[6]|=(1<<XBuffP);
345 2 else X1Buff[6]&=~(1<<XBuffP);
346 2 if(X17) X1Buff[7]|=(1<<XBuffP);
347 2 else X1Buff[7]&=~(1<<XBuffP);
348 2
349 2 if(X20) X2Buff[0]|=(1<<XBuffP);
350 2 else X2Buff[0]&=~(1<<XBuffP);
351 2 if(X21) X2Buff[1]|=(1<<XBuffP);
352 2 else X2Buff[1]&=~(1<<XBuffP);
353 2 if(X22) X2Buff[2]|=(1<<XBuffP);
354 2 else X2Buff[2]&=~(1<<XBuffP);
355 2 if(X23) X2Buff[3]|=(1<<XBuffP);
356 2 else X2Buff[3]&=~(1<<XBuffP);
357 2 if(X24) X2Buff[4]|=(1<<XBuffP);
358 2 else X2Buff[4]&=~(1<<XBuffP);
359 2 if(X25) X2Buff[5]|=(1<<XBuffP);
360 2 else X2Buff[5]&=~(1<<XBuffP);
361 2 if(X26) X2Buff[6]|=(1<<XBuffP);
362 2 else X2Buff[6]&=~(1<<XBuffP);
363 2 if(X27) X2Buff[7]|=(1<<XBuffP);
364 2 else X2Buff[7]&=~(1<<XBuffP);
365 2
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 7
366 2 XBuffP++;
367 2 if(XBuffP==8) XBuffP=0;
368 2 triggle=1;
369 2 }
370 1 }
371
372 void main (void)
373 {
374 1 unsigned char i;
375 1 //sbuff[0]=0xD7;
376 1 //sbuff[1]=6;
377 1 sbuff[0]='S';
378 1 sbuff[1]=0xff; //X0
379 1 sbuff[2]=0xff; //X1
380 1 sbuff[3]=0xff; //X2
381 1 sbuff[4]=0; //Count X20
382 1 sbuff[4]=0; //Count X21
383 1 sbuff[6]=0; //Count X22
384 1 sbuff[7]=0; //Count X23
385 1 sbuff[8]=0; //Count X24
386 1 sbuff[9]=0; //Count X24
387 1 sbuff[10]=0; //Count X26
388 1 sbuff[11]=0; //Count X27
389 1 sbuff[12]=0; //Y0
390 1 sbuff[13]=0; //Y1
391 1 sbuff[14]=0;
392 1 sbuff[15]='E';
393 1
394 1 cycles=0; //cycles can be 0,1,2,3; stand for 0/4,1/4,2/4,3/4 seconds;
395 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
396 1 TMOD |= 0x21; /* TMOD: timer 1, mode 2, 8-bit reload */
397 1 TH1 = 0xfa; //4800bps, as for 11059200
398 1 // reload value for 1200 baud @ 18.432MHz */
399 1 TR1 = 1; /* TR1: timer 1 run */
400 1 TR0 = 1;
401 1 TI = 1;
402 1 oldX20Stat=X20;
403 1 oldX21Stat=X21;
404 1 oldX22Stat=X22;
405 1 oldX23Stat=X23;
406 1 oldX24Stat=X24;
407 1 oldX25Stat=X25;
408 1 oldX26Stat=X26;
409 1 oldX27Stat=X27;
410 1
411 1 P0 = 0xff;
412 1 P4 = 0xff;
413 1 IE = 0x82;
414 1 //Y00=Y01=Y02=Y03=Y04=Y05=Y06=0;
415 1 //?Y07=0;
416 1 //Y10=0;
417 1 //?Y11=0;
418 1 while (1)
419 1 {
420 2 if (triggle)
421 2 {
422 3 triggle=0;
423 3 for(i=0;i<8;i++)
424 3 {
425 4 /*
426 4 if(X0Buff[i]==0) sbuff[1]&=~(1<<i);
427 4 if(X0Buff[i]==0xff) sbuff[1]|=(1<<i);
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 8
428 4 if(X1Buff[i]==0) sbuff[2]&=~(1<<i);
429 4 if(X1Buff[i]==0xff) sbuff[2]|=(1<<i);
430 4 if(X2Buff[i]==0) sbuff[3]&=~(1<<i);
431 4 if(X2Buff[i]==0xff) sbuff[3]|=(1<<i);
432 4 */
433 4 if((X0Buff[i]|0xc0)==0xc0) sbuff[1]&=~(1<<i);
434 4 if((X0Buff[i]&0x3f)==0x3f) sbuff[1]|=(1<<i);
435 4 if((X1Buff[i]|0xc0)==0xc0) sbuff[2]&=~(1<<i);
436 4 if((X1Buff[i]&0x3f)==0x3f) sbuff[2]|=(1<<i);
437 4 if((X2Buff[i]|0xc0)==0xc0) sbuff[3]&=~(1<<i);
438 4 if((X2Buff[i]&0x3f)==0x3f) sbuff[3]|=(1<<i);
439 4 }
440 3 if(sbuff[4]>=TICKS_U) Y00=0;
441 3 if(sbuff[4]<=TICKS_D) Y00=1;
442 3 if(sbuff[5]>=TICKS_U) Y01=0;
443 3 if(sbuff[5]<=TICKS_D) Y01=1;
444 3 if(sbuff[6]>=TICKS_U) Y02=0;
445 3 if(sbuff[6]<=TICKS_D) Y02=1;
446 3 if(sbuff[7]>=TICKS_U) Y03=0;
447 3 if(sbuff[7]<=TICKS_D) Y03=1;
448 3 if(sbuff[8]>=TICKS_U) Y04=0;
449 3 if(sbuff[8]<=TICKS_D) Y04=1;
450 3 if(sbuff[9]>=TICKS_U) Y05=0;
451 3 if(sbuff[9]<=TICKS_D) Y05=1;
452 3 if(sbuff[10]>=TICKS_U) Y06=0;
453 3 if(sbuff[10]<=TICKS_D) Y06=1;
454 3 if(sbuff[11]>=TICKS_U) Y07=0;
455 3 if(sbuff[11]<=TICKS_D) Y07=1;
456 3 //if((cycles & 1)==0) //Two times per second.
457 3 for(i=0;i<16;i++) putchar(sbuff[i]);
458 3
459 3 //RLed=1;
460 3 }
461 2 }
462 1 }
463
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4514 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 91 1
IDATA SIZE = ---- ----
BIT SIZE = 11 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -