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

📄 handle.lst

📁 手操器
💻 LST
📖 第 1 页 / 共 5 页
字号:
    005A2 2033      TST	R3
    005A3 F031      BEQ	0x05AA
(0346) 				Cal.OutM--;			
    005A4 01C1      MOVW	R24,R2
    005A5 9701      SBIW	R24,1
    005A6 9390 0080 STS	Cal+3,R25
    005A8 9380 007F STS	Cal+2,R24
(0347) 			OCR1B=Cal.OutM;
    005AA 9020 007F LDS	R2,Cal+2
    005AC 9030 0080 LDS	R3,Cal+3
    005AE BC39      OUT	0x29,R3
    005AF BC28      OUT	0x28,R2
(0348) 			Delay(10000);
    005B0 E100      LDI	R16,0x10
    005B1 E217      LDI	R17,0x27
    005B2 E020      LDI	R18,0
    005B3 E030      LDI	R19,0
    005B4 D346      RCALL	_Delay
(0349) 		}
(0350) 		
(0351) 	}
(0352) 	if(CalTemp!=Cal.OutM)
    005B5 9020 007F LDS	R2,Cal+2
    005B7 9030 0080 LDS	R3,Cal+3
    005B9 9040 007B LDS	R4,CalTemp
    005BB 9050 007C LDS	R5,CalTemp+1
    005BD 1442      CP	R4,R2
    005BE 0453      CPC	R5,R3
    005BF F409      BNE	0x05C1
    005C0 C039      RJMP	0x05FA
(0353) 	{
(0354)  		disbuff4=Table[(Cal.OutM>>12)&0xf];
    005C1 E02C      LDI	R18,0xC
    005C2 E030      LDI	R19,0
    005C3 0181      MOVW	R16,R2
    005C4 D493      RCALL	lsr16
    005C5 01F8      MOVW	R30,R16
    005C6 70EF      ANDI	R30,0xF
    005C7 70F0      ANDI	R31,0
    005C8 E680      LDI	R24,0x60
    005C9 E090      LDI	R25,0
    005CA 0FE8      ADD	R30,R24
    005CB 1FF9      ADC	R31,R25
    005CC 8020      LD	R2,Z
    005CD 9220 008D STS	disbuff+3,R2
(0355)  		disbuff5=Table[(Cal.OutM>>8)&0xf];
    005CF 91E0 007F LDS	R30,Cal+2
    005D1 91F0 0080 LDS	R31,Cal+3
    005D3 2FEF      MOV	R30,R31
    005D4 27FF      CLR	R31
    005D5 70EF      ANDI	R30,0xF
    005D6 70F0      ANDI	R31,0
    005D7 0FE8      ADD	R30,R24
    005D8 1FF9      ADC	R31,R25
    005D9 8020      LD	R2,Z
    005DA 9220 008C STS	disbuff+2,R2
(0356) 		disbuff6=Table[(Cal.OutM>>4)&0xf];
    005DC 91E0 007F LDS	R30,Cal+2
    005DE 91F0 0080 LDS	R31,Cal+3
    005E0 95F6      LSR	R31
    005E1 95E7      ROR	R30
    005E2 95F6      LSR	R31
    005E3 95E7      ROR	R30
    005E4 95F6      LSR	R31
    005E5 95E7      ROR	R30
    005E6 95F6      LSR	R31
    005E7 95E7      ROR	R30
    005E8 70EF      ANDI	R30,0xF
    005E9 70F0      ANDI	R31,0
    005EA 0FE8      ADD	R30,R24
    005EB 1FF9      ADC	R31,R25
    005EC 8020      LD	R2,Z
    005ED 9220 008B STS	disbuff+1,R2
(0357) 		disbuff7=Table[Cal.OutM &0xf];
    005EF 91E0 007F LDS	R30,Cal+2
    005F1 91F0 0080 LDS	R31,Cal+3
    005F3 70EF      ANDI	R30,0xF
    005F4 70F0      ANDI	R31,0
    005F5 0FE8      ADD	R30,R24
    005F6 1FF9      ADC	R31,R25
    005F7 8020      LD	R2,Z
    005F8 9220 008A STS	disbuff,R2
(0358) 	}
(0359) 	CalTemp=Cal.OutM;
    005FA 9020 007F LDS	R2,Cal+2
    005FC 9030 0080 LDS	R3,Cal+3
    005FE 9230 007C STS	CalTemp+1,R3
    00600 9220 007B STS	CalTemp,R2
(0360) 	return GOTO_SET_OUTM;
    00602 E003      LDI	R16,3
    00603 9622      ADIW	R28,2
    00604 9508      RET
_Set_OutL:
    00605 9723      SBIW	R28,3
(0361) }//-------------------------------------------------------------
(0362) u8 Set_OutL(void)
(0363) {	
(0364)  
(0365) 	if(SetKey==0)
    00606 99B0      SBIC	0x16,0
    00607 C064      RJMP	0x066C
(0366) 	{
(0367) 		Delay(10);
    00608 E00A      LDI	R16,0xA
    00609 E010      LDI	R17,0
    0060A E020      LDI	R18,0
    0060B E030      LDI	R19,0
    0060C D2EE      RCALL	_Delay
(0368) 		if(SetKey==0)
    0060D 99B0      SBIC	0x16,0
    0060E C05D      RJMP	0x066C
(0369) 		{
(0370) 			EEPROMWriteBytes(0,(u8 *)(& Cal),12);
    0060F E08C      LDI	R24,0xC
    00610 E090      LDI	R25,0
    00611 8399      STD	Y+1,R25
    00612 8388      ST	Y,R24
    00613 E72D      LDI	R18,0x7D
    00614 E030      LDI	R19,0
    00615 2700      CLR	R16
    00616 2711      CLR	R17
    00617 D489      RCALL	_EEPROMWriteBytes
(0371) 			Clr_RST();
    00618 B382      IN	R24,0x12
    00619 7F87      ANDI	R24,0xF7
    0061A BB82      OUT	0x12,R24
(0372) 			Delay(4000);
    0061B EA00      LDI	R16,0xA0
    0061C E01F      LDI	R17,0xF
    0061D E020      LDI	R18,0
    0061E E030      LDI	R19,0
    0061F D2DB      RCALL	_Delay
(0373) 			Set_RST();
    00620 9A93      SBI	0x12,3
(0374) 			CS5460a_Write(SYNC1,SYNC1,SYNC1,SYNC0);	
    00621 EF8E      LDI	R24,0xFE
    00622 838A      STD	Y+2,R24
    00623 EF8F      LDI	R24,0xFF
    00624 8388      ST	Y,R24
    00625 EF2F      LDI	R18,0xFF
    00626 EF0F      LDI	R16,0xFF
    00627 DA30      RCALL	_CS5460a_Write
(0375) 			CS5460A_REG_WR(0,0x00,0x00,0x11);
    00628 E181      LDI	R24,0x11
    00629 838A      STD	Y+2,R24
    0062A 2422      CLR	R2
    0062B 8228      ST	Y,R2
    0062C 2722      CLR	R18
    0062D 2700      CLR	R16
    0062E DA37      RCALL	_CS5460A_REG_WR
(0376) 			CS5460A_REG_WR(28,0,0x00,0x04);//控制寄存器	
    0062F E084      LDI	R24,4
    00630 838A      STD	Y+2,R24
    00631 2422      CLR	R2
    00632 8228      ST	Y,R2
    00633 2722      CLR	R18
    00634 E10C      LDI	R16,0x1C
    00635 DA30      RCALL	_CS5460A_REG_WR
(0377) 			CS5460A_REG_WR(15,0xff,0xff,0xff);
    00636 EF8F      LDI	R24,0xFF
    00637 838A      STD	Y+2,R24
    00638 8388      ST	Y,R24
    00639 EF2F      LDI	R18,0xFF
    0063A E00F      LDI	R16,0xF
    0063B DA2A      RCALL	_CS5460A_REG_WR
(0378) 			CS5460A_REG_WR(26,0x80,0x00,0x00);
    0063C 2422      CLR	R2
    0063D 822A      STD	Y+2,R2
    0063E 8228      ST	Y,R2
    0063F E820      LDI	R18,0x80
    00640 E10A      LDI	R16,0x1A
    00641 DA24      RCALL	_CS5460A_REG_WR
(0379) 			Delay(4000);
    00642 EA00      LDI	R16,0xA0
    00643 E01F      LDI	R17,0xF
    00644 E020      LDI	R18,0
    00645 E030      LDI	R19,0
    00646 D2B4      RCALL	_Delay
(0380) 			CS5460a_Write_Byte(0xC9);
    00647 EC09      LDI	R16,0xC9
    00648 DA05      RCALL	_CS5460a_Write_Byte
(0381) 			disbuff0=Table[12];
    00649 9020 006C LDS	R2,Table+12
    0064B 9220 0091 STS	disbuff+7,R2
(0382)  			disbuff1=Table[10];
    0064D 9020 006A LDS	R2,Table+10
    0064F 9220 0090 STS	disbuff+6,R2
(0383) 			disbuff2=Table[17];
    00651 9020 0071 LDS	R2,Table+17
    00653 9220 008F STS	disbuff+5,R2
(0384) 			disbuff3=Table[11];
    00655 9020 006B LDS	R2,Table+11
    00657 9220 008E STS	disbuff+4,R2
(0385) 			disbuff4=Table[17];
    00659 9020 0071 LDS	R2,Table+17
    0065B 9220 008D STS	disbuff+3,R2
(0386)  			disbuff5=Table[17];
    0065D 9220 008C STS	disbuff+2,R2
(0387) 			disbuff6=Table[17];
    0065F 9220 008B STS	disbuff+1,R2
(0388) 			disbuff7=Table[17];
    00661 9220 008A STS	disbuff,R2
(0389) 			Delay(50000);
    00663 E500      LDI	R16,0x50
    00664 EC13      LDI	R17,0xC3
    00665 E020      LDI	R18,0
    00666 E030      LDI	R19,0
    00667 D293      RCALL	_Delay
(0390) 			while(SetKey==0);
    00668 9BB0      SBIS	0x16,0
    00669 CFFE      RJMP	0x0668
(0391) 			return GOTO_CAL_IB;
    0066A E005      LDI	R16,5
    0066B C08F      RJMP	0x06FB
(0392) 		}
(0393) 		
(0394) 	}
(0395) 
(0396) 	if(AddKey==0)
    0066C 9980      SBIC	0x10,0
    0066D C01F      RJMP	0x068D
(0397) 	{
(0398) 		Delay(10);
    0066E E00A      LDI	R16,0xA
    0066F E010      LDI	R17,0
    00670 E020      LDI	R18,0
    00671 E030      LDI	R19,0
    00672 D288      RCALL	_Delay
(0399) 		if(AddKey==0)
    00673 9980      SBIC	0x10,0
    00674 C018      RJMP	0x068D
(0400) 		{
(0401) 			if(Cal.OutL<0x3E7F)
    00675 9180 007D LDS	R24,Cal
    00677 9190 007E LDS	R25,Cal+1
    00679 378F      CPI	R24,0x7F
    0067A E3EE      LDI	R30,0x3E
    0067B 079E      CPC	R25,R30
    0067C F428      BCC	0x0682
(0402) 				Cal.OutL++;
    0067D 9601      ADIW	R24,1
    0067E 9390 007E STS	Cal+1,R25
    00680 9380 007D STS	Cal,R24
(0403) 			OCR1B=Cal.OutL;
    00682 9020 007D LDS	R2,Cal
    00684 9030 007E LDS	R3,Cal+1
    00686 BC39      OUT	0x29,R3
    00687 BC28      OUT	0x28,R2
(0404) 			Delay(10000);
    00688 E100      LDI	R16,0x10
    00689 E217      LDI	R17,0x27
    0068A E020      LDI	R18,0
    0068B E030      LDI	R19,0
    0068C D26E      RCALL	_Delay
(0405)  
(0406) 		}		
(0407) 	}
(0408) 	if(SubbKey==0)
    0068D 9981      SBIC	0x10,1
    0068E C020      RJMP	0x06AF
(0409) 	{
(0410) 		Delay(10);
    0068F E00A      LDI	R16,0xA
    00690 E010      LDI	R17,0
    00691 E020      LDI	R18,0
    00692 E030      LDI	R19,0
    00693 D267      RCALL	_Delay
(0411) 		if(SubbKey==0)
    00694 9981      SBIC	0x10,1
    00695 C019      RJMP	0x06AF
(0412) 		{
(0413) 			if(Cal.OutL)
    00696 9020 007D LDS	R2,Cal
    00698 9030 007E LDS	R3,Cal+1
    0069A 2022      TST	R2
    0069B F411      BNE	0x069E
    0069C 2033      TST	R3
    0069D F031      BEQ	0x06A4
(0414) 				Cal.OutL--;			
    0069E 01C1      MOVW	R24,R2
    0069F 9701      SBIW	R24,1
    006A0 9390 007E STS	Cal+1,R25
    006A2 9380 007D STS	Cal,R24
(0415) 			OCR1B=Cal.OutL;
    006A4 9020 007D LDS	R2,Cal
    006A6 9030 007E LDS	R3,Cal+1
    006A8 BC39      OUT	0x29,R3
    006A9 BC28      OUT	0x28,R2
(0416) 			Delay(10000);
    006AA E100      LDI	R16,0x10
    006AB E217      LDI	R17,0x27
    006AC E020      LDI	R18,0
    006AD E030      LDI	R19,0
    006AE D24C      RCALL	_Delay
(0417) 		}
(0418) 		
(0419) 	}
(0420) 	if(CalTemp!=Cal.OutL)
    006AF 9020 007D LDS	R2,Cal
    006B1 9030 007E LDS	R3,Cal+1
    006B3 9040 007B LDS	R4,CalTemp
    006B5 9050 007C LDS	R5,CalTemp+1
    006B7 1442      CP	R4,R2
    006B8 0453      CPC	R5,R3
    006B9 F409      BNE	0x06BB
    006BA C039      RJMP	0x06F4
(0421) 	{
(0422)  		disbuff4=Table[(Cal.OutL>>12)&0xf];
    006BB E02C      LDI	R18,0xC
    006BC E030      LDI	R19,0
    006BD 0181      MOVW	R16,R2
    006BE D399      RCALL	lsr16
    006BF 01F8      MOVW	R30,R16
    006C0 70EF      ANDI	R30,0xF
    006C1 70F0      ANDI	R31,0
    006C2 E680      LDI	R24,0x60
    006C3 E090      LDI	R25,0
    006C4 0FE8      ADD	R30,R24
    006C5 1FF9      ADC	R31,R25
    006C6 8020      LD	R2,Z
    006C7 9220 008D STS	disbuff+3,R2
(0423)  		disbuff5=Table[(Cal.OutL>>8)&0xf];
    006C9 91E0 007D LDS	R30,Cal
    006CB 91F0 007E LDS	R31,Cal+1
    006CD 2FEF      MOV	R30,R31
    006CE 27FF      CLR	R31
    006CF 70EF      ANDI	R30,0xF
    006D0 70F0      ANDI	R31,0
    006D1 0FE8      ADD	R30,R24
    006D2 1FF9      ADC	R31,R25
    006D3 8020      LD	R2,Z
    006D4 9220 008C STS	disbuff+2,R2
(0424) 		disbuff6=Table[(Cal.OutL>>4)&0xf];
    006D6 91E0 007D LDS	R30,Cal
    006D8 91F0 007E LDS	R31,Cal+1
    006DA 95F6      LSR	R31
    006DB 95E7      ROR	R30
    006DC 95F6      LSR	R31
    006DD 95E7      ROR	R30
    006DE 95F6      LSR	R31
    006DF 95E7      ROR	R30
    006E0 95F6      LSR	R31
    006E1 95E7      ROR	R30
    006E2 70EF      ANDI	R30,0xF
    006E3 70F0      ANDI	R31,0
    006E4 0FE8      ADD	R30,R24
    006E5 1FF9      ADC	R31,R25
    006E6 8020      LD	R2,Z
    006E7 9220 008B STS	disbuff+1,R2
(0425) 		disbuff7=Table[Cal.OutL&0xf];
    006E9 91E0 007D LDS	R30,Cal
    006EB 91F0 007E LDS	R31,Cal+1
    006ED 70EF      ANDI	R30,0xF
    006EE 70F0      ANDI	R31,0
    006EF 0FE8      ADD	R30,R24
    006F0 1FF9      ADC	R31,R25
    006F1 8020      LD	R2,Z
    006F2 9220 008A STS	disbuff,R2
(0426) 	}
(0427) 	CalTemp=0;	
    006F4 2422      CLR	R2
    006F5 2433      CLR	R3
    006F6 9230 007C STS	CalTemp+1,R3
    006F8 9220 007B STS	CalTemp,R2
(0428) 	return GOTO_SET_OUTL;
    006FA E002      LDI	R16,2
    006FB 9623      ADIW	R28,3
    006FC 9508      RET
_Cal_IB:
  temp                 --> Y,+3
    006FD 9727      SBIW	R28,7
(0429) }
(0430) //-------------------------------------------------------------
(0431) u8 Cal_IB(void)
(0432) {	
(0433)  	unsigned long temp;
(0434) 	if(SetKey==0)
    006FE 99B0      SBIC	0x16,0
    006FF C0AD      RJMP	0x07AD
(0435) 	{
(0436) 		Delay(10);
    00700 E00A      LDI	R16,0xA
    00701 E010      LDI	R17,0
    00702 E020      LDI	R18,0
    00703 E030      LDI	R19,0
    00704 D1F6      RCALL	_Delay
(0437) 		if(SetKey==0)
    00705 99B0      SBIC	0x16,0
    00706 C0A6      RJMP	0x07AD
(0438) 		{	
(0439) 			temp= CS5460a_Read(1);
    00707 E001      LDI	R16,1
    00708 D970      RCALL	_CS5460a_Read
    00709 830B      STD	Y+3,R16
    0070A 831C      STD	Y+4,R17
    0070B 832D      STD	Y+5,R18
    0070C 833E      STD	Y+6,R19
(0440) 			Cal.IB_L=temp & 0xff;
    0070D EF8F      LDI	R24,0xFF
    0070E E090      LDI	R25,0
    0070F E0A0      LDI	R26,0
    00710 E0B0      LDI	R27,0
    00711 802B      LDD	R2,Y+3
    00712 803C      LDD	R3,Y+4
    00713 804D      LDD	R4,Y+5
    00714 805E      LDD	R5,Y+6
    00715 2228      AND	R2,R24
    00716 2239      AND	R3,R25
    00717 224A      AND	R4,R26
    00718 225B      AND	R5,R27
    00719 9220 0085 STS	Cal+8,R2
(0441) 			temp>>=8;
    0071B E088      LDI	R24,0x8
    0071C E090      LDI	R25,0
    0071D 810B      LDD	R16,Y+3
    0071E 811C      LDD	R17,Y+4
    0071F 812D      LDD	R18,Y+5
    00720 813E      LDD	R19,Y+6
    00721 938A      ST

⌨️ 快捷键说明

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