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

📄 handle.lst

📁 手操器
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0241) 		OCR1B=(u16)temp;
    00419 8028      LD	R2,Y
    0041A 8039      LDD	R3,Y+1
    0041B BC39      OUT	0x29,R3
    0041C BC28      OUT	0x28,R2
(0242) 		
(0243) 		disbuff0=Table[Per/1000];
    0041D EE28      LDI	R18,0xE8
    0041E E033      LDI	R19,3
    0041F 9100 0079 LDS	R16,Per
    00421 9110 007A LDS	R17,Per+1
    00423 D510      RCALL	div16u
    00424 01F8      MOVW	R30,R16
    00425 E680      LDI	R24,0x60
    00426 E090      LDI	R25,0
    00427 0FE8      ADD	R30,R24
    00428 1FF9      ADC	R31,R25
    00429 8020      LD	R2,Z
    0042A 9220 0091 STS	disbuff+7,R2
(0244) 		disbuff1=Table[Per/100%10]&0x7f;
    0042C E624      LDI	R18,0x64
    0042D E030      LDI	R19,0
    0042E 9100 0079 LDS	R16,Per
    00430 9110 007A LDS	R17,Per+1
    00432 D501      RCALL	div16u
    00433 E02A      LDI	R18,0xA
    00434 E030      LDI	R19,0
    00435 D4FC      RCALL	mod16u
    00436 01F8      MOVW	R30,R16
    00437 E680      LDI	R24,0x60
    00438 E090      LDI	R25,0
    00439 0FE8      ADD	R30,R24
    0043A 1FF9      ADC	R31,R25
    0043B 8180      LD	R24,Z
    0043C 778F      ANDI	R24,0x7F
    0043D 9380 0090 STS	disbuff+6,R24
(0245) 		disbuff2=Table[Per/10%10];
    0043F E02A      LDI	R18,0xA
    00440 E030      LDI	R19,0
    00441 9100 0079 LDS	R16,Per
    00443 9110 007A LDS	R17,Per+1
    00445 D4EE      RCALL	div16u
    00446 E02A      LDI	R18,0xA
    00447 E030      LDI	R19,0
    00448 D4E9      RCALL	mod16u
    00449 01F8      MOVW	R30,R16
    0044A E680      LDI	R24,0x60
    0044B E090      LDI	R25,0
    0044C 0FE8      ADD	R30,R24
    0044D 1FF9      ADC	R31,R25
    0044E 8020      LD	R2,Z
    0044F 9220 008F STS	disbuff+5,R2
(0246) 		disbuff3=Table[Per%10];	
    00451 E02A      LDI	R18,0xA
    00452 E030      LDI	R19,0
    00453 9100 0079 LDS	R16,Per
    00455 9110 007A LDS	R17,Per+1
    00457 D4DA      RCALL	mod16u
    00458 01F8      MOVW	R30,R16
    00459 E680      LDI	R24,0x60
    0045A E090      LDI	R25,0
    0045B 0FE8      ADD	R30,R24
    0045C 1FF9      ADC	R31,R25
    0045D 8020      LD	R2,Z
    0045E 9220 008E STS	disbuff+4,R2
(0247)         CalTemp=Per;
    00460 9020 0079 LDS	R2,Per
    00462 9030 007A LDS	R3,Per+1
    00464 9230 007C STS	CalTemp+1,R3
    00466 9220 007B STS	CalTemp,R2
(0248) 	}
    00468 C003      RJMP	0x046C
(0249) 	else
(0250) 		keypress=0;
    00469 2422      CLR	R2
    0046A 9220 0078 STS	keypress,R2
(0251) 	
(0252) 	return GOTO_WAIT;
    0046C E001      LDI	R16,1
    0046D 9624      ADIW	R28,4
    0046E C590      RJMP	pop_xgsetF000
_Set_OutH:
    0046F 9722      SBIW	R28,2
(0253) }
(0254) //-------------------------------------------------------------
(0255) u8 Set_OutH(void)
(0256) {	
(0257)  
(0258) 	if(SetKey==0)
    00470 99B0      SBIC	0x16,0
    00471 C035      RJMP	0x04A7
(0259) 	{
(0260) 		Delay(10);
    00472 E00A      LDI	R16,0xA
    00473 E010      LDI	R17,0
    00474 E020      LDI	R18,0
    00475 E030      LDI	R19,0
    00476 D484      RCALL	_Delay
(0261) 		if(SetKey==0)
    00477 99B0      SBIC	0x16,0
    00478 C02E      RJMP	0x04A7
(0262) 		{
(0263)  			OCR1B=Cal.OutM;		
    00479 9020 007F LDS	R2,Cal+2
    0047B 9030 0080 LDS	R3,Cal+3
    0047D BC39      OUT	0x29,R3
    0047E BC28      OUT	0x28,R2
(0264) 			CalTemp=0;		 
    0047F 2422      CLR	R2
    00480 2433      CLR	R3
    00481 9230 007C STS	CalTemp+1,R3
    00483 9220 007B STS	CalTemp,R2
(0265) 			EEPROMWriteBytes(0,(u8 *)(& Cal),12);
    00485 E08C      LDI	R24,0xC
    00486 E090      LDI	R25,0
    00487 8399      STD	Y+1,R25
    00488 8388      ST	Y,R24
    00489 E72D      LDI	R18,0x7D
    0048A E030      LDI	R19,0
    0048B 2700      CLR	R16
    0048C 2711      CLR	R17
    0048D D613      RCALL	_EEPROMWriteBytes
(0266) 			disbuff0=Table[20];
    0048E 9020 0074 LDS	R2,Table+20
    00490 9220 0091 STS	disbuff+7,R2
(0267)  			disbuff1=Table[18];
    00492 9020 0072 LDS	R2,Table+18
    00494 9220 0090 STS	disbuff+6,R2
(0268) 			disbuff2=Table[19];
    00496 9020 0073 LDS	R2,Table+19
    00498 9220 008F STS	disbuff+5,R2
(0269) 			disbuff3=Table[21];
    0049A 9020 0075 LDS	R2,Table+21
    0049C 9220 008E STS	disbuff+4,R2
(0270) 			Delay(50000);
    0049E E500      LDI	R16,0x50
    0049F EC13      LDI	R17,0xC3
    004A0 E020      LDI	R18,0
    004A1 E030      LDI	R19,0
    004A2 D458      RCALL	_Delay
(0271) 			while(SetKey==0);
    004A3 9BB0      SBIS	0x16,0
    004A4 CFFE      RJMP	0x04A3
(0272) 			return GOTO_SET_OUTM;
    004A5 E003      LDI	R16,3
    004A6 C091      RJMP	0x0538
(0273) 		}		
(0274) 	}
(0275) 	if(AddKey==0)
    004A7 9980      SBIC	0x10,0
    004A8 C01F      RJMP	0x04C8
(0276) 	{
(0277) 		Delay(10);
    004A9 E00A      LDI	R16,0xA
    004AA E010      LDI	R17,0
    004AB E020      LDI	R18,0
    004AC E030      LDI	R19,0
    004AD D44D      RCALL	_Delay
(0278) 		if(AddKey==0)
    004AE 9980      SBIC	0x10,0
    004AF C018      RJMP	0x04C8
(0279) 		{
(0280) 			if(Cal.OutH<0x3E7F)
    004B0 9180 0081 LDS	R24,Cal+4
    004B2 9190 0082 LDS	R25,Cal+5
    004B4 378F      CPI	R24,0x7F
    004B5 E3EE      LDI	R30,0x3E
    004B6 079E      CPC	R25,R30
    004B7 F428      BCC	0x04BD
(0281) 				Cal.OutH++;
    004B8 9601      ADIW	R24,1
    004B9 9390 0082 STS	Cal+5,R25
    004BB 9380 0081 STS	Cal+4,R24
(0282) 			OCR1B=Cal.OutH;
    004BD 9020 0081 LDS	R2,Cal+4
    004BF 9030 0082 LDS	R3,Cal+5
    004C1 BC39      OUT	0x29,R3
    004C2 BC28      OUT	0x28,R2
(0283) 			Delay(10000);
    004C3 E100      LDI	R16,0x10
    004C4 E217      LDI	R17,0x27
    004C5 E020      LDI	R18,0
    004C6 E030      LDI	R19,0
    004C7 D433      RCALL	_Delay
(0284) 		}		
(0285) 	}
(0286) 	if(SubbKey==0)
    004C8 9981      SBIC	0x10,1
    004C9 C020      RJMP	0x04EA
(0287) 	{
(0288) 		Delay(10);
    004CA E00A      LDI	R16,0xA
    004CB E010      LDI	R17,0
    004CC E020      LDI	R18,0
    004CD E030      LDI	R19,0
    004CE D42C      RCALL	_Delay
(0289) 		if(SubbKey==0)
    004CF 9981      SBIC	0x10,1
    004D0 C019      RJMP	0x04EA
(0290) 		{
(0291) 			if(Cal.OutH)
    004D1 9020 0081 LDS	R2,Cal+4
    004D3 9030 0082 LDS	R3,Cal+5
    004D5 2022      TST	R2
    004D6 F411      BNE	0x04D9
    004D7 2033      TST	R3
    004D8 F031      BEQ	0x04DF
(0292) 				Cal.OutH--;			
    004D9 01C1      MOVW	R24,R2
    004DA 9701      SBIW	R24,1
    004DB 9390 0082 STS	Cal+5,R25
    004DD 9380 0081 STS	Cal+4,R24
(0293) 			OCR1B=Cal.OutH;
    004DF 9020 0081 LDS	R2,Cal+4
    004E1 9030 0082 LDS	R3,Cal+5
    004E3 BC39      OUT	0x29,R3
    004E4 BC28      OUT	0x28,R2
(0294) 			Delay(10000);
    004E5 E100      LDI	R16,0x10
    004E6 E217      LDI	R17,0x27
    004E7 E020      LDI	R18,0
    004E8 E030      LDI	R19,0
    004E9 D411      RCALL	_Delay
(0295) 		}
(0296) 		
(0297) 	}
(0298) 	if(CalTemp!=Cal.OutH)
    004EA 9020 0081 LDS	R2,Cal+4
    004EC 9030 0082 LDS	R3,Cal+5
    004EE 9040 007B LDS	R4,CalTemp
    004F0 9050 007C LDS	R5,CalTemp+1
    004F2 1442      CP	R4,R2
    004F3 0453      CPC	R5,R3
    004F4 F409      BNE	0x04F6
    004F5 C039      RJMP	0x052F
(0299) 	{
(0300)  		disbuff4=Table[(Cal.OutH>>12)&0xf];
    004F6 E02C      LDI	R18,0xC
    004F7 E030      LDI	R19,0
    004F8 0181      MOVW	R16,R2
    004F9 D55E      RCALL	lsr16
    004FA 01F8      MOVW	R30,R16
    004FB 70EF      ANDI	R30,0xF
    004FC 70F0      ANDI	R31,0
    004FD E680      LDI	R24,0x60
    004FE E090      LDI	R25,0
    004FF 0FE8      ADD	R30,R24
    00500 1FF9      ADC	R31,R25
    00501 8020      LD	R2,Z
    00502 9220 008D STS	disbuff+3,R2
(0301)  		disbuff5=Table[(Cal.OutH>>8)&0xf];
    00504 91E0 0081 LDS	R30,Cal+4
    00506 91F0 0082 LDS	R31,Cal+5
    00508 2FEF      MOV	R30,R31
    00509 27FF      CLR	R31
    0050A 70EF      ANDI	R30,0xF
    0050B 70F0      ANDI	R31,0
    0050C 0FE8      ADD	R30,R24
    0050D 1FF9      ADC	R31,R25
    0050E 8020      LD	R2,Z
    0050F 9220 008C STS	disbuff+2,R2
(0302) 		disbuff6=Table[(Cal.OutH>>4)&0xf];
    00511 91E0 0081 LDS	R30,Cal+4
    00513 91F0 0082 LDS	R31,Cal+5
    00515 95F6      LSR	R31
    00516 95E7      ROR	R30
    00517 95F6      LSR	R31
    00518 95E7      ROR	R30
    00519 95F6      LSR	R31
    0051A 95E7      ROR	R30
    0051B 95F6      LSR	R31
    0051C 95E7      ROR	R30
    0051D 70EF      ANDI	R30,0xF
    0051E 70F0      ANDI	R31,0
    0051F 0FE8      ADD	R30,R24
    00520 1FF9      ADC	R31,R25
    00521 8020      LD	R2,Z
    00522 9220 008B STS	disbuff+1,R2
(0303) 		disbuff7=Table[Cal.OutH &0xf];
    00524 91E0 0081 LDS	R30,Cal+4
    00526 91F0 0082 LDS	R31,Cal+5
    00528 70EF      ANDI	R30,0xF
    00529 70F0      ANDI	R31,0
    0052A 0FE8      ADD	R30,R24
    0052B 1FF9      ADC	R31,R25
    0052C 8020      LD	R2,Z
    0052D 9220 008A STS	disbuff,R2
(0304) 	}
(0305) 	CalTemp=Cal.OutH;
    0052F 9020 0081 LDS	R2,Cal+4
    00531 9030 0082 LDS	R3,Cal+5
    00533 9230 007C STS	CalTemp+1,R3
    00535 9220 007B STS	CalTemp,R2
(0306) 	return GOTO_SET_OUTH;
    00537 E004      LDI	R16,4
    00538 9622      ADIW	R28,2
    00539 9508      RET
_Set_OutM:
    0053A 9722      SBIW	R28,2
(0307) }//-------------------------------------------------------------
(0308) u8 Set_OutM(void)
(0309) {	
(0310)  
(0311) 	if(SetKey==0)
    0053B 99B0      SBIC	0x16,0
    0053C C035      RJMP	0x0572
(0312) 	{
(0313) 		Delay(10);
    0053D E00A      LDI	R16,0xA
    0053E E010      LDI	R17,0
    0053F E020      LDI	R18,0
    00540 E030      LDI	R19,0
    00541 D3B9      RCALL	_Delay
(0314) 		if(SetKey==0)
    00542 99B0      SBIC	0x16,0
    00543 C02E      RJMP	0x0572
(0315) 		{
(0316) 			
(0317) 			OCR1B=Cal.OutL;		
    00544 9020 007D LDS	R2,Cal
    00546 9030 007E LDS	R3,Cal+1
    00548 BC39      OUT	0x29,R3
    00549 BC28      OUT	0x28,R2
(0318) 			CalTemp=0;		 
    0054A 2422      CLR	R2
    0054B 2433      CLR	R3
    0054C 9230 007C STS	CalTemp+1,R3
    0054E 9220 007B STS	CalTemp,R2
(0319) 			EEPROMWriteBytes(0,(u8 *)(& Cal),12);
    00550 E08C      LDI	R24,0xC
    00551 E090      LDI	R25,0
    00552 8399      STD	Y+1,R25
    00553 8388      ST	Y,R24
    00554 E72D      LDI	R18,0x7D
    00555 E030      LDI	R19,0
    00556 2700      CLR	R16
    00557 2711      CLR	R17
    00558 D548      RCALL	_EEPROMWriteBytes
(0320) 			disbuff0=Table[20];
    00559 9020 0074 LDS	R2,Table+20
    0055B 9220 0091 STS	disbuff+7,R2
(0321)  			disbuff1=Table[18];
    0055D 9020 0072 LDS	R2,Table+18
    0055F 9220 0090 STS	disbuff+6,R2
(0322) 			disbuff2=Table[19];
    00561 9020 0073 LDS	R2,Table+19
    00563 9220 008F STS	disbuff+5,R2
(0323) 			disbuff3=Table[23];
    00565 9020 0077 LDS	R2,Table+23
    00567 9220 008E STS	disbuff+4,R2
(0324) 			Delay(50000);
    00569 E500      LDI	R16,0x50
    0056A EC13      LDI	R17,0xC3
    0056B E020      LDI	R18,0
    0056C E030      LDI	R19,0
    0056D D38D      RCALL	_Delay
(0325) 			while(SetKey==0);
    0056E 9BB0      SBIS	0x16,0
    0056F CFFE      RJMP	0x056E
(0326) 			return GOTO_SET_OUTL;
    00570 E002      LDI	R16,2
    00571 C091      RJMP	0x0603
(0327) 		}		
(0328) 	}
(0329) 	if(AddKey==0)
    00572 9980      SBIC	0x10,0
    00573 C01F      RJMP	0x0593
(0330) 	{
(0331) 		Delay(10);
    00574 E00A      LDI	R16,0xA
    00575 E010      LDI	R17,0
    00576 E020      LDI	R18,0
    00577 E030      LDI	R19,0
    00578 D382      RCALL	_Delay
(0332) 		if(AddKey==0)
    00579 9980      SBIC	0x10,0
    0057A C018      RJMP	0x0593
(0333) 		{
(0334) 			if(Cal.OutM<0x3E7F)
    0057B 9180 007F LDS	R24,Cal+2
    0057D 9190 0080 LDS	R25,Cal+3
    0057F 378F      CPI	R24,0x7F
    00580 E3EE      LDI	R30,0x3E
    00581 079E      CPC	R25,R30
    00582 F428      BCC	0x0588
(0335) 				Cal.OutM++;
    00583 9601      ADIW	R24,1
    00584 9390 0080 STS	Cal+3,R25
    00586 9380 007F STS	Cal+2,R24
(0336) 			OCR1B=Cal.OutM;
    00588 9020 007F LDS	R2,Cal+2
    0058A 9030 0080 LDS	R3,Cal+3
    0058C BC39      OUT	0x29,R3
    0058D BC28      OUT	0x28,R2
(0337) 			Delay(10000);
    0058E E100      LDI	R16,0x10
    0058F E217      LDI	R17,0x27
    00590 E020      LDI	R18,0
    00591 E030      LDI	R19,0
    00592 D368      RCALL	_Delay
(0338) 		}		
(0339) 	}
(0340) 	if(SubbKey==0)
    00593 9981      SBIC	0x10,1
    00594 C020      RJMP	0x05B5
(0341) 	{
(0342) 		Delay(10);
    00595 E00A      LDI	R16,0xA
    00596 E010      LDI	R17,0
    00597 E020      LDI	R18,0
    00598 E030      LDI	R19,0
    00599 D361      RCALL	_Delay
(0343) 		if(SubbKey==0)
    0059A 9981      SBIC	0x10,1
    0059B C019      RJMP	0x05B5
(0344) 		{
(0345) 			if(Cal.OutM)
    0059C 9020 007F LDS	R2,Cal+2
    0059E 9030 0080 LDS	R3,Cal+3
    005A0 2022      TST	R2
    005A1 F411      BNE	0x05A4

⌨️ 快捷键说明

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