📄 cc.lst
字号:
261 5 key=seat(11,m,dao[m]);
262 5 }
263 4 else
264 4 key=seat(Time[m],m,dao[m]);break;
265 4 case 2:if(m==6||m==7)
266 4 {
267 5 key=seat(11,m,dao[m]);
268 5 }
269 4 else
270 4 key=seat(Time[m],m,dao[m]);break;
271 4 default:for(m=0;m<8;m++)
272 4 {
273 5 key=seat(Time[m],m,dao[m]);
274 5 }
275 4 c=0;
276 4 REG_A=0x20;
277 4 REG_B=0x26;
278 4 break;
279 4 }
280 3
281 3
282 3 if(key==1)
283 3 {
284 4 //if(key_count==1)
285 4 k++;
286 4 key_wait();
287 4
288 4 }
289 3
290 3 if(key==2)
291 3 {
292 4 set_p(add,60);
293 4 }
294 3 if(key==3)
295 3 set_m(add,60);
296 3 if(key==4)
297 3 {
298 4 c=0;
299 4 REG_A=0x20;
300 4 REG_B=0x06;
301 4 }
302 3 if(k==0)
C51 COMPILER V7.06 CC 12/23/2008 10:16:27 PAGE 6
303 3 add=0;
304 3 if(k==1)
305 3 add=2;
306 3 if(k==2)
307 3 add=4;
308 3 if(k==3)
309 3 {
310 4 c=0;
311 4 REG_A=0x20;
312 4 REG_B=0x26;
313 4 }
314 3 }
315 2 }
316 1
317 1 }
318
319 void set_dao(uchar a,uchar b)
320 {
321 1 if(key==2)
322 1 {
323 2
324 2 dao_time[a]++;
325 2 if(dao_time[a]>59+b)
326 2 dao_time[a]=59+b;
327 2 }
328 1 if(key==3)
329 1 {
330 2
331 2 if(dao_time[a]>1)
332 2 dao_time[a]=dao_time[a]-1;
333 2 else
334 2 dao_time[a]=0;
335 2 }
336 1 }
337 void get_dao()
338 {
339 1 uchar i,j,m,a;
340 1 REG_B=0x06;
341 1 for(i=80;i>0;i--)
342 1 {
343 2 read_timebit(0);
344 2 for(j=0;j<8;j++)
345 2 {
346 3 key=seat(Time[j],j,dao[j]);
347 3 if(key==4)
348 3 k++;
349 3 set_dao(a,0);
350 3 }
351 2 if(k==0)
352 2 a=0;
353 2 if(k==1)
354 2 a=1;
355 2 if(k==2)
356 2 a=2;
357 2 if(k==3)
358 2 {
359 3 if((!dao_time[0])&&(!dao_time[1])&&(!dao_time[2]))
360 3 REG_B=0x06;
361 3 else
362 3 REG_B=0x36;
363 3 v=0;
364 3 }
C51 COMPILER V7.06 CC 12/23/2008 10:16:27 PAGE 7
365 2
366 2 }
367 1 for(i=80;i>0;i--)
368 1 {
369 2 read_timebit(0);
370 2 for(m=0;m<8;m++)
371 2 {
372 3 switch(k)
373 3 {
374 4 case 0 :if(m==0||m==1)
375 4 {
376 5 key=seat(Time[m],m,11);
377 5 }
378 4 else
379 4 key=seat(Time[m],m,dao[m]);break;
380 4 case 1:if(m==3||m==4)
381 4 {
382 5 key=seat(Time[m],m,11);
383 5 }
384 4 else
385 4 key=seat(Time[m],m,dao[m]);break;
386 4 case 2:if(m==6||m==7)
387 4 {
388 5 key=seat(Time[m],m,11);
389 5 }
390 4 else
391 4 key=seat(Time[m],m,dao[m]);break;
392 4 default:for(m=0;m<8;m++)
393 4 {
394 5 key=seat(Time[m],m,dao[m]);
395 5 }
396 4 c=0;
397 4 REG_A=0x20;
398 4 if((!dao_time[0])&&(!dao_time[1])&&(!dao_time[2]))
399 4 REG_B=0x06;
400 4 else
401 4 REG_B=0x36;
402 4 break;
403 4 }
404 3 if(key==4)
405 3 k++;
406 3 set_dao(a,0);
407 3 }
408 2 if(k==0)
409 2 a=0;
410 2 if(k==1)
411 2 a=1;
412 2 if(k==2)
413 2 a=2;
414 2 if(k==3)
415 2 {
416 3
417 3 if((!dao_time[0])&&(!dao_time[1])&&(!dao_time[2]))
418 3 REG_B=0x06;
419 3 else
420 3 REG_B=0x36;
421 3 v=0;
422 3 }
423 2
424 2 }
425 1
426 1 }
C51 COMPILER V7.06 CC 12/23/2008 10:16:27 PAGE 8
427 void main (void)
428 {
429 1
430 1 uchar i,add=2;
431 1 Time[2]= Time[5]=10;
432 1 dao[2]=dao[5]=10;
433 1 key_count=0;
434 1 TMOD=0X01;
435 1 TH0=0Xd4;
436 1 TL0=0XCC;
437 1 EA=1;
438 1 ET0=1;
439 1 EX0=1;
440 1 TR0=0;
441 1 scs=0;//DS12887片选--0有效
442 1 // DS12887_Set0();
443 1 REG_A=0x20;
444 1 REG_B=0x06;
445 1 while(1)
446 1 {
447 2 read_timebit(1);
448 2 for(i=0;i<8;i++)
449 2 {
450 3 key=seat(Time[i],i,dao[i]);
451 3 if(key==1)
452 3 {
453 4 // if(key_count==1)
454 4 //{
455 4 k=0;
456 4 c=1;
457 4 // }
458 4 key_wait();
459 4 }
460 3 if(key==4)
461 3 {
462 4 k=0;
463 4 v=1;
464 4 }
465 3 }
466 2 if(c==1)
467 2 change_0();
468 2 if(v==1)
469 2 get_dao();
470 2 }
471 1
472 1
473 1 }
474 void interrupt0(void) interrupt 0
475 {
476 1 uchar a;
477 1 if(dao_time[0]<=0)
478 1 {
479 2 dao_time[0]=60;
480 2 if(dao_time[1]<=0)
481 2 {
482 3 dao_time[1]=60;
483 3 dao_time[2]--;
484 3 if(dao_time[2]<0)
485 3 dao_time[2]=0;
486 3 }
487 2 dao_time[1]--;
488 2 }
C51 COMPILER V7.06 CC 12/23/2008 10:16:27 PAGE 9
489 1 dao_time[0]--;
490 1 if((!dao_time[0])&&(!dao_time[1])&&(!dao_time[2]))
491 1 {
492 2 dao_time[0]=0;
493 2 dao_time[1]=0;
494 2 dao_time[2]=0;
495 2 REG_B=0x0e;
496 2 REG_A=0x23;
497 2
498 2 }
499 1 a= REG_C;
500 1 }
501 void timer0(void) interrupt 1
502 {
503 1 uchar i;
504 1 TH0=0Xd4;
505 1 TL0=0XCC;
506 1 for(i=0;i<8;i++)
507 1 {
508 2 key=seat(11,i,11);
509 2 }
510 1 for(i=0;i<8;i++)
511 1 {
512 2 key=seat(Time[i],i,dao[i]);
513 2 }
514 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1555 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 13
IDATA SIZE = 19 2
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -