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

📄 1602_8563_timer.lst

📁 avr单片机的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    040F 918000A3  LDS	R24,timer+2
    0411 5081      SUBI	R24,1
    0412 938000A3  STS	timer+2,R24
(0323) 									if((timer[2]&0x0F)==0x0F)timer[2]&=0xF9;
    0414 708F      ANDI	R24,0xF
    0415 308F      CPI	R24,0xF
    0416 F429      BNE	0x041C
    0417 918000A3  LDS	R24,timer+2
    0419 7F89      ANDI	R24,0xF9
    041A 938000A3  STS	timer+2,R24
(0324) 									if(timer[2]>0x24)timer[2]=0x23;
    041C E284      LDI	R24,0x24
    041D 902000A3  LDS	R2,timer+2
    041F 1582      CP	R24,R2
    0420 F418      BCC	0x0424
    0421 E283      LDI	R24,0x23
    0422 938000A3  STS	timer+2,R24
(0325) 									set_xs1(2);		 //显示时
    0424 E002      LDI	R16,2
    0425 DE8B      RCALL	_set_xs1
(0326) 									break;
    0426 C0F1      RJMP	0x0518
(0327) 								case 5:
(0328) 								    timer[1]-=0x01;
    0427 918000A2  LDS	R24,timer+1
    0429 5081      SUBI	R24,1
    042A 938000A2  STS	timer+1,R24
(0329) 									if((timer[1]&0x0F)==0x0F)timer[1]&=0xf9;
    042C 708F      ANDI	R24,0xF
    042D 308F      CPI	R24,0xF
    042E F429      BNE	0x0434
    042F 918000A2  LDS	R24,timer+1
    0431 7F89      ANDI	R24,0xF9
    0432 938000A2  STS	timer+1,R24
(0330) 									if(timer[1]>0x59)timer[1]=0x59;
    0434 E589      LDI	R24,0x59
    0435 902000A2  LDS	R2,timer+1
    0437 1582      CP	R24,R2
    0438 F410      BCC	0x043B
    0439 938000A2  STS	timer+1,R24
(0331) 									set_xs1(1);		 //显示分
    043B E001      LDI	R16,1
    043C DE74      RCALL	_set_xs1
(0332) 									break;
    043D C0DA      RJMP	0x0518
(0333) 								case 6:
(0334) 								    timer[4]-=0x01;
    043E 918000A5  LDS	R24,0xA5
    0440 5081      SUBI	R24,1
    0441 938000A5  STS	0xA5,R24
(0335) 									if(timer[4]>6)timer[4]=0x06;
    0443 E086      LDI	R24,6
    0444 902000A5  LDS	R2,0xA5
    0446 1582      CP	R24,R2
    0447 F410      BCC	0x044A
    0448 938000A5  STS	0xA5,R24
(0336) 									set_xs1(4);		 //显示周
    044A E004      LDI	R16,4
    044B DE65      RCALL	_set_xs1
(0337) 									break;
    044C C0CB      RJMP	0x0518
(0338) 								default:set_time=0;break;
    044D 2766      CLR	R22
(0339) 								}
(0340) 							}
    044E C0C9      RJMP	0x0518
(0341) 						else
(0342) 							start_timer();
    044F DDCC      RCALL	_start_timer
(0343) 						break;
    0450 C0C7      RJMP	0x0518
(0344) 					case 0x08:
(0345) 					    if(set_flag==1)
    0451 8189      LDD	R24,Y+1
    0452 3081      CPI	R24,1
    0453 F009      BEQ	0x0455
    0454 C0B5      RJMP	0x050A
(0346) 						    {
(0347) 							spk(10,1);
    0455 E021      LDI	R18,1
    0456 E00A      LDI	R16,0xA
    0457 DD1F      RCALL	_spk
(0348) 							set_bh=1;
    0458 2400      CLR	R0
    0459 9403      INC	R0
    045A 820A      STD	Y+2,R0
(0349) 							locate(2,7);		   //显示“时间调整”
    045B E027      LDI	R18,7
    045C E002      LDI	R16,2
    045D DCBB      RCALL	_locate
(0350) 							switch(set_time)
    045E 2EA6      MOV	R10,R22
    045F 24BB      CLR	R11
    0460 01C5      MOVW	R24,R10
    0461 3081      CPI	R24,1
    0462 E0E0      LDI	R30,0
    0463 079E      CPC	R25,R30
    0464 F0C9      BEQ	0x047E
    0465 3082      CPI	R24,2
    0466 E0E0      LDI	R30,0
    0467 079E      CPC	R25,R30
    0468 F171      BEQ	0x0497
    0469 3083      CPI	R24,3
    046A E0E0      LDI	R30,0
    046B 079E      CPC	R25,R30
    046C F409      BNE	0x046E
    046D C041      RJMP	0x04AF
    046E 3084      CPI	R24,4
    046F E0E0      LDI	R30,0
    0470 079E      CPC	R25,R30
    0471 F409      BNE	0x0473
    0472 C054      RJMP	0x04C7
    0473 3085      CPI	R24,5
    0474 E0E0      LDI	R30,0
    0475 079E      CPC	R25,R30
    0476 F409      BNE	0x0478
    0477 C067      RJMP	0x04DF
    0478 3086      CPI	R24,6
    0479 E0E0      LDI	R30,0
    047A 079E      CPC	R25,R30
    047B F409      BNE	0x047D
    047C C07B      RJMP	0x04F8
    047D C08A      RJMP	0x0508
(0351) 								{
(0352) 								case 1:
(0353) 									timer[6]+=0x01;
    047E 918000A7  LDS	R24,0xA7
    0480 5F8F      SUBI	R24,0xFF
    0481 938000A7  STS	0xA7,R24
(0354) 									if((timer[6]&0x0F)==0x0A)timer[6]=(timer[6]&0xF0)+0x10;
    0483 708F      ANDI	R24,0xF
    0484 308A      CPI	R24,0xA
    0485 F431      BNE	0x048C
    0486 918000A7  LDS	R24,0xA7
    0488 7F80      ANDI	R24,0xF0
    0489 5F80      SUBI	R24,0xF0
    048A 938000A7  STS	0xA7,R24
(0355) 									if(timer[6]>0x99)timer[6]=0x00;
    048C E989      LDI	R24,0x99
    048D 902000A7  LDS	R2,0xA7
    048F 1582      CP	R24,R2
    0490 F418      BCC	0x0494
    0491 2422      CLR	R2
    0492 922000A7  STS	0xA7,R2
(0356) 									set_xs1(6);		 //显示年
    0494 E006      LDI	R16,6
    0495 DE1B      RCALL	_set_xs1
(0357) 									break;
    0496 C081      RJMP	0x0518
(0358) 								case 2:
(0359) 									timer[5]+=0x01;
    0497 918000A6  LDS	R24,0xA6
    0499 5F8F      SUBI	R24,0xFF
    049A 938000A6  STS	0xA6,R24
(0360) 									if((timer[5]&0x0F)==0x0A)timer[5]=(timer[5]&0xF0)+0x10;
    049C 708F      ANDI	R24,0xF
    049D 308A      CPI	R24,0xA
    049E F431      BNE	0x04A5
    049F 918000A6  LDS	R24,0xA6
    04A1 7F80      ANDI	R24,0xF0
    04A2 5F80      SUBI	R24,0xF0
    04A3 938000A6  STS	0xA6,R24
(0361) 									if(timer[5]>=0x13)timer[5]=0x01;
    04A5 918000A6  LDS	R24,0xA6
    04A7 3183      CPI	R24,0x13
    04A8 F018      BCS	0x04AC
    04A9 E081      LDI	R24,1
    04AA 938000A6  STS	0xA6,R24
(0362) 									set_xs1(5);		 //显示月
    04AC E005      LDI	R16,5
    04AD DE03      RCALL	_set_xs1
(0363) 									break;
    04AE C069      RJMP	0x0518
(0364) 								case 3:
(0365) 									timer[3]+=0x01;
    04AF 918000A4  LDS	R24,timer+3
    04B1 5F8F      SUBI	R24,0xFF
    04B2 938000A4  STS	timer+3,R24
(0366) 									if((timer[3]&0x0F)==0x0A)timer[3]=(timer[3]&0xF0)+0x10;
    04B4 708F      ANDI	R24,0xF
    04B5 308A      CPI	R24,0xA
    04B6 F431      BNE	0x04BD
    04B7 918000A4  LDS	R24,timer+3
    04B9 7F80      ANDI	R24,0xF0
    04BA 5F80      SUBI	R24,0xF0
    04BB 938000A4  STS	timer+3,R24
(0367) 									if(timer[3]>=0x31)timer[3]=0x01;
    04BD 918000A4  LDS	R24,timer+3
    04BF 3381      CPI	R24,0x31
    04C0 F018      BCS	0x04C4
    04C1 E081      LDI	R24,1
    04C2 938000A4  STS	timer+3,R24
(0368) 									set_xs1(3);		 //显示日
    04C4 E003      LDI	R16,3
    04C5 DDEB      RCALL	_set_xs1
(0369) 									break;
    04C6 C051      RJMP	0x0518
(0370) 								case 4:
(0371) 									timer[2]+=0x01;
    04C7 918000A3  LDS	R24,timer+2
    04C9 5F8F      SUBI	R24,0xFF
    04CA 938000A3  STS	timer+2,R24
(0372) 									if((timer[2]&0x0F)==0x0A)timer[2]=(timer[2]&0xF0)+0x10;
    04CC 708F      ANDI	R24,0xF
    04CD 308A      CPI	R24,0xA
    04CE F431      BNE	0x04D5
    04CF 918000A3  LDS	R24,timer+2
    04D1 7F80      ANDI	R24,0xF0
    04D2 5F80      SUBI	R24,0xF0
    04D3 938000A3  STS	timer+2,R24
(0373) 									if(timer[2]>=0x24)timer[2]=0x00;
    04D5 918000A3  LDS	R24,timer+2
    04D7 3284      CPI	R24,0x24
    04D8 F018      BCS	0x04DC
    04D9 2422      CLR	R2
    04DA 922000A3  STS	timer+2,R2
(0374) 									set_xs1(2);		 //显示时
    04DC E002      LDI	R16,2
    04DD DDD3      RCALL	_set_xs1
(0375) 									break;
    04DE C039      RJMP	0x0518
(0376) 								case 5:
(0377) 									timer[1]+=0x01;
    04DF 918000A2  LDS	R24,timer+1
    04E1 5F8F      SUBI	R24,0xFF
    04E2 938000A2  STS	timer+1,R24
(0378) 									if((timer[1]&0x0F)==0x0A)timer[1]=(timer[1]&0xf0)+0x10;
    04E4 708F      ANDI	R24,0xF
    04E5 308A      CPI	R24,0xA
    04E6 F431      BNE	0x04ED
    04E7 918000A2  LDS	R24,timer+1
    04E9 7F80      ANDI	R24,0xF0
    04EA 5F80      SUBI	R24,0xF0
    04EB 938000A2  STS	timer+1,R24
(0379) 									if(timer[1]>0x59)timer[1]=0x00;
    04ED E589      LDI	R24,0x59
    04EE 902000A2  LDS	R2,timer+1
    04F0 1582      CP	R24,R2
    04F1 F418      BCC	0x04F5
    04F2 2422      CLR	R2
    04F3 922000A2  STS	timer+1,R2
(0380) 									set_xs1(1);		 //显示分
    04F5 E001      LDI	R16,1
    04F6 DDBA      RCALL	_set_xs1
(0381) 									break;
    04F7 C020      RJMP	0x0518
(0382) 								case 6:
(0383) 									timer[4]+=0x01;
    04F8 918000A5  LDS	R24,0xA5
    04FA 5F8F      SUBI	R24,0xFF
    04FB 938000A5  STS	0xA5,R24
(0384) 									if(timer[4]>6)timer[4]=0x00;
    04FD E086      LDI	R24,6
    04FE 902000A5  LDS	R2,0xA5
    0500 1582      CP	R24,R2
    0501 F418      BCC	0x0505
    0502 2422      CLR	R2
    0503 922000A5  STS	0xA5,R2
(0385) 									set_xs1(4);		 //显示周
    0505 E004      LDI	R16,4
    0506 DDAA      RCALL	_set_xs1
(0386) 									break;
    0507 C010      RJMP	0x0518
(0387) 								default:set_time=0;break;
    0508 2766      CLR	R22
(0388) 								}
(0389) 							}
    0509 C00E      RJMP	0x0518
(0390) 						else
(0391) 							LED_OFF;					 //关背光
    050A 98C3      CBI	0x18,3
(0392) 						break;
(0393) 					default:break;
(0394) 					}
(0395) 				}
    050B C00C      RJMP	0x0518
(0396) 			while(a!=0)
(0397) 			    {
(0398) 				a=KEY_RD;
    050C B383      IN	R24,0x13
    050D 9586      LSR	R24
    050E 6F81      ORI	R24,0xF1
    050F B340      IN	R20,0x10
    0510 9546      LSR	R20
    0511 9546      LSR	R20
    0512 6F4E      ORI	R20,0xFE
    0513 2348      AND	R20,R24
    0514 9540      COM	R20
(0399) 				delay_ms(10);
FILE: <library>
    0515 E00A      LDI	R16,0xA
    0516 E010      LDI	R17,0
    0517 DB6D      RCALL	_delay_ms
    0518 2344      TST	R20
    0519 F791      BNE	0x050C
    051A CDE1      RJMP	0x02FC
    051B 9625      ADIW	R28,5
    051C 9508      RET
pop_gset2:
    051D E0E2      LDI	R30,2
    051E 940C052F  JMP	pop
pop_gset3:
    0520 E0E4      LDI	R30,4
    0521 940C052F  JMP	pop
push_gset5:
    0523 92FA      ST	R15,-Y
    0524 92EA      ST	R14,-Y
push_gset4:
    0525 92DA      ST	R13,-Y
    0526 92CA      ST	R12,-Y
push_gset3:
    0527 92BA      ST	R11,-Y
    0528 92AA      ST	R10,-Y
push_gset2:
    0529 937A      ST	R23,-Y
    052A 936A      ST	R22,-Y
push_gset1:
    052B 935A      ST	R21,-Y
    052C 934A      ST	R20,-Y
    052D 9508      RET
pop_gset1:
    052E E0E1      LDI	R30,1
pop:
    052F 9149      LD	R20,Y+
    0530 9159      LD	R21,Y+
    0531 FDE0      SBRC	R30,0
    0532 9508      RET
    0533 9169      LD	R22,Y+
    0534 9179      LD	R23,Y+
    0535 FDE1      SBRC	R30,1
    0536 9508      RET
    0537 90A9      LD	R10,Y+
    0538 90B9      LD	R11,Y+
    0539 FDE2      SBRC	R30,2
    053A 9508      RET
    053B 90C9      LD	R12,Y+
    053C 90D9      LD	R13,Y+
    053D FDE3      SBRC	R30,3
    053E 9508      RET
    053F 90E9      LD	R14,Y+
    0540 90F9      LD	R15,Y+
    0541 9508      RET
push_lset:
    0542 93FA      ST	R31,-Y
    0543 93EA      ST	R30,-Y
    0544 93BA      ST	R27,-Y
    0545 93AA      ST	R26,-Y
    0546 939A      ST	R25,-Y
    0547 938A      ST	R24,-Y
    0548 933A      ST	R19,-Y
    0549 932A      ST	R18,-Y
    054A 931A      ST	R17,-Y
    054B 930A      ST	R16,-Y
    054C 929A      ST	R9,-Y
    054D 928A      ST	R8,-Y
    054E 927A      ST	R7,-Y
    054F 926A      ST	R6,-Y
    0550 925A      ST	R5,-Y
    0551 924A      ST	R4,-Y
    0552 923A      ST	R3,-Y
    0553 922A      ST	R2,-Y
    0554 921A      ST	R1,-Y
    0555 920A      ST	R0,-Y
    0556 B60F      IN	R0,0x3F
    0557 920A      ST	R0,-Y
    0558 9508      RET
pop_lset:
    0559 9009      LD	R0,Y+
    055A BE0F      OUT	0x3F,R0
    055B 9009      LD	R0,Y+
    055C 9019      LD	R1,Y+
    055D 9029      LD	R2,Y+
    055E 9039      LD	R3,Y+
    055F 9049      LD	R4,Y+
    0560 9059      LD	R5,Y+
    0561 9069      LD	R6,Y+
    0562 9079      LD	R7,Y+
    0563 9089      LD	R8,Y+
    0564 9099      LD	R9,Y+
    0565 9109      LD	R16,Y+
    0566 9119      LD	R17,Y+
    0567 9129      LD	R18,Y+
    0568 9139      LD	R19,Y+
    0569 9189      LD	R24,Y+
    056A 9199      LD	R25,Y+
    056B 91A9      LD	R26,Y+
    056C 91B9      LD	R27,Y+
    056D 91E9      LD	R30,Y+
    056E 91F9      LD	R31,Y+
    056F 9508      RET

⌨️ 快捷键说明

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