⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.lst

📁 M8+1302+18b20+8位数码管的sch和gcc源程序 数码管显示
💻 LST
📖 第 1 页 / 共 5 页
字号:
 285:key.c         **** 		}while(in_shift());		
 286:key.c         **** 		eeprom_write_byte((uchar *)(timer0_address+0),timer0_hour);
 287:key.c         **** 		eeprom_write_byte((uchar *)(timer0_address+1),timer0_minute);
 288:key.c         **** 		
 289:key.c         **** 		//timer2
 290:key.c         **** 		//分个位
 291:key.c         **** 		do{
 292:key.c         **** 			flash_control=0x80;
 293:key.c         **** 			display_timer(2,timer1_hour,timer1_minute);
 294:key.c         **** 			
 295:key.c         **** 			if(0==(in_add())) key_delay();
 296:key.c         **** 			if(0==(in_add()))
 297:key.c         **** 			{
 298:key.c         **** 				timer1_minute++;
 299:key.c         **** 				if((timer1_minute&0x0f)>=0x0a) timer1_minute&=0xf0;
 300:key.c         **** 			}
 301:key.c         **** 			if(0==(in_shift())) key_delay();
 302:key.c         **** 		}while(in_shift());
 303:key.c         **** 		//分十位
 304:key.c         **** 		do{
 305:key.c         **** 			flash_control=0x40;
 306:key.c         **** 			display_timer(2,timer1_hour,timer1_minute);
 307:key.c         **** 			
 308:key.c         **** 			if(0==(in_add())) key_delay();
 309:key.c         **** 			if(0==(in_add()))
 310:key.c         **** 			{
 311:key.c         **** 				timer1_minute+=0x10;
 312:key.c         **** 				if((timer1_minute&0xf0)>=0x60) timer1_minute&=0x0f;
 313:key.c         **** 			}
 314:key.c         **** 			if(0==(in_shift())) key_delay();
 315:key.c         **** 		}while(in_shift());
 316:key.c         **** 		//时个位
 317:key.c         **** 		do{
 318:key.c         **** 			flash_control=0x10;
 319:key.c         **** 			display_timer(2,timer1_hour,timer1_minute);
 320:key.c         **** 			
 321:key.c         **** 			if(0==(in_add())) key_delay();
 322:key.c         **** 			if(0==(in_add()))
 323:key.c         **** 			{
 324:key.c         **** 				timer1_hour++;
 325:key.c         **** 				if((timer1_hour&0x0f)>=0x0a) timer1_hour&=0xf0;
 326:key.c         **** 			}
 327:key.c         **** 			if(0==(in_shift())) key_delay();
 328:key.c         **** 		}while(in_shift());
 329:key.c         **** 		//时十位
 330:key.c         **** 		do{
 331:key.c         **** 			flash_control=0x08;
 332:key.c         **** 			display_timer(2,timer1_hour,timer1_minute);
 333:key.c         **** 			
 334:key.c         **** 			if(0==(in_add())) key_delay();
 335:key.c         **** 			if(0==(in_add()))
 336:key.c         **** 			{
 337:key.c         **** 				timer1_hour+=0x10;
 338:key.c         **** 				if((timer1_hour&0xf0)>=0x30) timer1_hour&=0x0f;
 339:key.c         **** 			}
 340:key.c         **** 			if(0==(in_shift())) key_delay();
 341:key.c         **** 		}while(in_shift());		
 342:key.c         **** 		eeprom_write_byte((uchar *)(timer1_address+0),timer1_hour);
 343:key.c         **** 		eeprom_write_byte((uchar *)(timer1_address+1),timer1_minute);
 344:key.c         **** 		
 345:key.c         **** 		//timer3
 346:key.c         **** 		//分个位
 347:key.c         **** 		do{
 348:key.c         **** 			flash_control=0x80;
 349:key.c         **** 			display_timer(3,timer2_hour,timer2_minute);
 350:key.c         **** 			
 351:key.c         **** 			if(0==(in_add())) key_delay();
 352:key.c         **** 			if(0==(in_add()))
 353:key.c         **** 			{
 354:key.c         **** 				timer2_minute++;
 355:key.c         **** 				if((timer2_minute&0x0f)>=0x0a) timer2_minute&=0xf0;
 356:key.c         **** 			}
 357:key.c         **** 			if(0==(in_shift())) key_delay();
 358:key.c         **** 		}while(in_shift());
 359:key.c         **** 		//分十位
 360:key.c         **** 		do{
 361:key.c         **** 			flash_control=0x40;
 362:key.c         **** 			display_timer(3,timer2_hour,timer2_minute);
 363:key.c         **** 			
 364:key.c         **** 			if(0==(in_add())) key_delay();
 365:key.c         **** 			if(0==(in_add()))
 366:key.c         **** 			{
 367:key.c         **** 				timer2_minute+=0x10;
 368:key.c         **** 				if((timer2_minute&0xf0)>=0x60) timer2_minute&=0x0f;
 369:key.c         **** 			}
 370:key.c         **** 			if(0==(in_shift())) key_delay();
 371:key.c         **** 		}while(in_shift());
 372:key.c         **** 		//时个位
 373:key.c         **** 		do{
 374:key.c         **** 			flash_control=0x10;
 375:key.c         **** 			display_timer(3,timer2_hour,timer2_minute);
 376:key.c         **** 			
 377:key.c         **** 			if(0==(in_add())) key_delay();
 378:key.c         **** 			if(0==(in_add()))
 379:key.c         **** 			{
 380:key.c         **** 				timer2_hour++;
 381:key.c         **** 				if((timer2_hour&0x0f)>=0x0a) timer2_hour&=0xf0;
 382:key.c         **** 			}
 383:key.c         **** 			if(0==(in_shift())) key_delay();
 384:key.c         **** 		}while(in_shift());
 385:key.c         **** 		//时十位
 386:key.c         **** 		do{
 387:key.c         **** 			flash_control=0x08;
 388:key.c         **** 			display_timer(3,timer2_hour,timer2_minute);
 389:key.c         **** 			
 390:key.c         **** 			if(0==(in_add())) key_delay();
 391:key.c         **** 			if(0==(in_add()))
 392:key.c         **** 			{
 393:key.c         **** 				timer2_hour+=0x10;
 394:key.c         **** 				if((timer2_hour&0xf0)>=0x30) timer2_hour&=0x0f;
 395:key.c         **** 			}
 396:key.c         **** 			if(0==(in_shift())) key_delay();
 397:key.c         **** 		}while(in_shift());		
 398:key.c         **** 		eeprom_write_byte((uchar *)(timer2_address+0),timer2_hour);
 399:key.c         **** 		eeprom_write_byte((uchar *)(timer2_address+1),timer2_minute);
 400:key.c         **** 		
 401:key.c         **** 		//timer4
 402:key.c         **** 		//分个位
 403:key.c         **** 		do{
 404:key.c         **** 			flash_control=0x80;
 405:key.c         **** 			display_timer(4,timer3_hour,timer3_minute);
 406:key.c         **** 			
 407:key.c         **** 			if(0==(in_add())) key_delay();
 408:key.c         **** 			if(0==(in_add()))
 409:key.c         **** 			{
 410:key.c         **** 				timer3_minute++;
 411:key.c         **** 				if((timer3_minute&0x0f)>=0x0a) timer3_minute&=0xf0;
 412:key.c         **** 			}
 413:key.c         **** 			if(0==(in_shift())) key_delay();
 414:key.c         **** 		}while(in_shift());
 415:key.c         **** 		//分十位
 416:key.c         **** 		do{
 417:key.c         **** 			flash_control=0x40;
 418:key.c         **** 			display_timer(4,timer3_hour,timer3_minute);
 419:key.c         **** 			
 420:key.c         **** 			if(0==(in_add())) key_delay();
 421:key.c         **** 			if(0==(in_add()))
 422:key.c         **** 			{
 423:key.c         **** 				timer3_minute+=0x10;
 424:key.c         **** 				if((timer3_minute&0xf0)>=0x60) timer3_minute&=0x0f;
 425:key.c         **** 			}
 426:key.c         **** 			if(0==(in_shift())) key_delay();
 427:key.c         **** 		}while(in_shift());
 428:key.c         **** 		//时个位
 429:key.c         **** 		do{
 430:key.c         **** 			flash_control=0x10;
 431:key.c         **** 			display_timer(4,timer3_hour,timer3_minute);
 432:key.c         **** 			
 433:key.c         **** 			if(0==(in_add())) key_delay();
 434:key.c         **** 			if(0==(in_add()))
 435:key.c         **** 			{
 436:key.c         **** 				timer3_hour++;
 437:key.c         **** 				if((timer3_hour&0x0f)>=0x0a) timer3_hour&=0xf0;
 438:key.c         **** 			}
 439:key.c         **** 			if(0==(in_shift())) key_delay();
 440:key.c         **** 		}while(in_shift());
 441:key.c         **** 		//时十位
 442:key.c         **** 		do{
 443:key.c         **** 			flash_control=0x08;
 444:key.c         **** 			display_timer(4,timer3_hour,timer3_minute);
 445:key.c         **** 			
 446:key.c         **** 			if(0==(in_add())) key_delay();
 447:key.c         **** 			if(0==(in_add()))
 448:key.c         **** 			{
 449:key.c         **** 				timer3_hour+=0x10;
 450:key.c         **** 				if((timer3_hour&0xf0)>=0x30) timer3_hour&=0x0f;
 451:key.c         **** 			}
 452:key.c         **** 			if(0==(in_shift())) key_delay();
 453:key.c         **** 		}while(in_shift());		
 454:key.c         **** 		eeprom_write_byte((uchar *)(timer3_address+0),timer3_hour);
 455:key.c         **** 		eeprom_write_byte((uchar *)(timer3_address+1),timer3_minute);
 456:key.c         **** 		
 457:key.c         **** 		//timer5
 458:key.c         **** 		//分个位
 459:key.c         **** 		do{
 460:key.c         **** 			flash_control=0x80;
 461:key.c         **** 			display_timer(5,timer4_hour,timer4_minute);
 462:key.c         **** 			
 463:key.c         **** 			if(0==(in_add())) key_delay();
 464:key.c         **** 			if(0==(in_add()))
 465:key.c         **** 			{
 466:key.c         **** 				timer4_minute++;
 467:key.c         **** 				if((timer4_minute&0x0f)>=0x0a) timer4_minute&=0xf0;
 468:key.c         **** 			}
 469:key.c         **** 			if(0==(in_shift())) key_delay();
 470:key.c         **** 		}while(in_shift());
 471:key.c         **** 		//分十位
 472:key.c         **** 		do{
 473:key.c         **** 			flash_control=0x40;
 474:key.c         **** 			display_timer(5,timer4_hour,timer4_minute);
 475:key.c         **** 			
 476:key.c         **** 			if(0==(in_add())) key_delay();
 477:key.c         **** 			if(0==(in_add()))
 478:key.c         **** 			{
 479:key.c         **** 				timer4_minute+=0x10;
 480:key.c         **** 				if((timer4_minute&0xf0)>=0x60) timer4_minute&=0x0f;
 481:key.c         **** 			}
 482:key.c         **** 			if(0==(in_shift())) key_delay();
 483:key.c         **** 		}while(in_shift());
 484:key.c         **** 		//时个位
 485:key.c         **** 		do{
 486:key.c         **** 			flash_control=0x10;
 487:key.c         **** 			display_timer(5,timer4_hour,timer4_minute);
 488:key.c         **** 			
 489:key.c         **** 			if(0==(in_add())) key_delay();
 490:key.c         **** 			if(0==(in_add()))
 491:key.c         **** 			{
 492:key.c         **** 				timer4_hour++;
 493:key.c         **** 				if((timer4_hour&0x0f)>=0x0a) timer4_hour&=0xf0;
 494:key.c         **** 			}
 495:key.c         **** 			if(0==(in_shift())) key_delay();
 496:key.c         **** 		}while(in_shift());
 497:key.c         **** 		//时十位
 498:key.c         **** 		do{
 499:key.c         **** 			flash_control=0x08;
 500:key.c         **** 			display_timer(5,timer4_hour,timer4_minute);
 501:key.c         **** 			
 502:key.c         **** 			if(0==(in_add())) key_delay();
 503:key.c         **** 			if(0==(in_add()))
 504:key.c         **** 			{
 505:key.c         **** 				timer4_hour+=0x10;
 506:key.c         **** 				if((timer4_hour&0xf0)>=0x30) timer4_hour&=0x0f;
 507:key.c         **** 			}
 508:key.c         **** 			if(0==(in_shift())) key_delay();
 509:key.c         **** 		}while(in_shift());		
 510:key.c         **** 		eeprom_write_byte((uchar *)(timer4_address+0),timer4_hour);
 511:key.c         **** 		eeprom_write_byte((uchar *)(timer4_address+1),timer4_minute);
 512:key.c         **** 		
 513:key.c         **** 		//timer6
 514:key.c         **** 		//分个位
 515:key.c         **** 		do{
 516:key.c         **** 			flash_control=0x80;
 517:key.c         **** 			display_timer(6,timer5_hour,timer5_minute);
 518:key.c         **** 			
 519:key.c         **** 			if(0==(in_add())) key_delay();
 520:key.c         **** 			if(0==(in_add()))
 521:key.c         **** 			{
 522:key.c         **** 				timer5_minute++;
 523:key.c         **** 				if((timer5_minute&0x0f)>=0x0a) timer5_minute&=0xf0;
 524:key.c         **** 			}
 525:key.c         **** 			if(0==(in_shift())) key_delay();
 526:key.c         **** 		}while(in_shift());
 527:key.c         **** 		//分十位
 528:key.c         **** 		do{
 529:key.c         **** 			flash_control=0x40;
 530:key.c         **** 			display_timer(6,timer5_hour,timer5_minute);
 531:key.c         **** 			
 532:key.c         **** 			if(0==(in_add())) key_delay();
 533:key.c         **** 			if(0==(in_add()))
 534:key.c         **** 			{
 535:key.c         **** 				timer5_minute+=0x10;
 536:key.c         **** 				if((timer5_minute&0xf0)>=0x60) timer5_minute&=0x0f;
 537:key.c         **** 			}
 538:key.c         **** 			if(0==(in_shift())) key_delay();
 539:key.c         **** 		}while(in_shift());
 540:key.c         **** 		//时个位
 541:key.c         **** 		do{
 542:key.c         **** 			flash_control=0x10;
 543:key.c         **** 			display_timer(6,timer5_hour,timer5_minute);
 544:key.c         **** 			
 545:key.c         **** 			if(0==(in_add())) key_delay();
 546:key.c         **** 			if(0==(in_add()))
 547:key.c         **** 			{
 548:key.c         **** 				timer5_hour++;
 549:key.c         **** 				if((timer5_hour&0x0f)>=0x0a) timer5_hour&=0xf0;
 550:key.c         **** 			}
 551:key.c         **** 			if(0==(in_shift())) key_delay();
 552:key.c         **** 		}while(in_shift());
 553:key.c         **** 		//时十位
 554:key.c         **** 		do{
 555:key.c         **** 			flash_control=0x08;
 556:key.c         **** 			display_timer(6,timer5_hour,timer5_minute);
 557:key.c         **** 			
 558:key.c         **** 			if(0==(in_add())) key_delay();
 559:key.c         **** 			if(0==(in_add()))
 560:key.c         **** 			{
 561:key.c         **** 				timer5_hour+=0x10;
 562:key.c         **** 				if((timer5_hour&0xf0)>=0x30) timer5_hour&=0x0f;
 563:key.c         **** 			}
 564:key.c         **** 			if(0==(in_ok())) key_delay();
 565:key.c         **** 		}while(in_ok());		
 566:key.c         **** 		eeprom_write_byte((uchar *)(timer5_address+0),timer5_hour);
 567:key.c         **** 		eeprom_write_byte((uchar *)(timer5_address+1),timer5_minute);
 568:key.c         **** 	}
 569:key.c         **** }
 570:key.c         **** void key_delay(void)
 571:key.c         **** {
  96               	.LM1:
  97               	/* prologue: frame size=0 */
  98               	/* prologue end (size=0) */
 572:key.c         **** 	uint i=0;
 100               	.LM2:
 101 0000 80E0      		ldi r24,lo8(0)
 102 0002 90E0      		ldi r25,hi8(0)
 103               	.L9:
 104 0004 27E7      		ldi r18,lo8(119)
 105               	.L8:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -