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

📄 mydesign.lst

📁 本设计以ATMEL公司生产的AT90S8515作为控制核心
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0337 E010      LDI	R17,0
    0338 D923      RCALL	lpm32
    0339 933A      ST	R19,-Y
    033A 932A      ST	R18,-Y
    033B 931A      ST	R17,-Y
    033C 930A      ST	R16,-Y
    033D 90400085  LDS	R4,0x85
    033F 90500086  LDS	R5,0x86
    0341 90200083  LDS	R2,0x83
    0343 90300084  LDS	R3,0x84
    0345 925A      ST	R5,-Y
    0346 924A      ST	R4,-Y
    0347 923A      ST	R3,-Y
    0348 922A      ST	R2,-Y
    0349 DAFA      RCALL	mpy32f
    034A 2FEC      MOV	R30,R28
    034B 2FFD      MOV	R31,R29
    034C 8300      STD	Z+0,R16
    034D 8311      STD	Z+1,R17
    034E 8322      STD	Z+2,R18
    034F 8333      STD	Z+3,R19
    0350 2FEC      MOV	R30,R28
    0351 2FFD      MOV	R31,R29
    0352 8020      LDD	R2,Z+0
    0353 8031      LDD	R3,Z+1
    0354 8042      LDD	R4,Z+2
    0355 8053      LDD	R5,Z+3
    0356 925A      ST	R5,-Y
    0357 924A      ST	R4,-Y
    0358 923A      ST	R3,-Y
    0359 922A      ST	R2,-Y
    035A E30E      LDI	R16,0x3E
    035B E010      LDI	R17,0
    035C D8FF      RCALL	lpm32
    035D 933A      ST	R19,-Y
    035E 932A      ST	R18,-Y
    035F 931A      ST	R17,-Y
    0360 930A      ST	R16,-Y
    0361 DAB1      RCALL	cmp32f
    0362 F0C4      BLT	0x037B
    0363 2FEC      MOV	R30,R28
    0364 2FFD      MOV	R31,R29
    0365 8020      LDD	R2,Z+0
    0366 8031      LDD	R3,Z+1
    0367 8042      LDD	R4,Z+2
    0368 8053      LDD	R5,Z+3
    0369 925A      ST	R5,-Y
    036A 924A      ST	R4,-Y
    036B 923A      ST	R3,-Y
    036C 922A      ST	R2,-Y
    036D E30E      LDI	R16,0x3E
    036E E010      LDI	R17,0
    036F D8EC      RCALL	lpm32
    0370 933A      ST	R19,-Y
    0371 932A      ST	R18,-Y
    0372 931A      ST	R17,-Y
    0373 930A      ST	R16,-Y
    0374 D9F9      RCALL	sub32f
    0375 D95E      RCALL	fp2int
    0376 2F40      MOV	R20,R16
    0377 2F51      MOV	R21,R17
    0378 5040      SUBI	R20,0
    0379 4850      SBCI	R21,0x80
    037A C009      RJMP	0x0384
    037B 2FEC      MOV	R30,R28
    037C 2FFD      MOV	R31,R29
    037D 8100      LDD	R16,Z+0
    037E 8111      LDD	R17,Z+1
    037F 8122      LDD	R18,Z+2
    0380 8133      LDD	R19,Z+3
    0381 D952      RCALL	fp2int
    0382 2F40      MOV	R20,R16
    0383 2F51      MOV	R21,R17
    0384 2F04      MOV	R16,R20
    0385 2F15      MOV	R17,R21
    0386 9624      ADIW	R28,4
    0387 D8AB      RCALL	pop_gset1
    0388 9508      RET
_mode_choice:
  flag                 --> R20
  key_temp             --> R10
    0389 D8C3      RCALL	push_gset4
    038A 9726      SBIW	R28,6
(0047) }
(0048) void mode_choice(void)
(0049) {
(0050) 	unsigned char flag=1;
    038B E041      LDI	R20,1
(0051) 	unsigned char key_temp;
(0052) 	
(0053) 	LCD_init();
    038C D3C1      RCALL	_LCD_init
(0054) 	K1=EEPROMread(0x00)+EEPROMread(0x01)*0.1+EEPROMread(0x02)*0.01+EEPROMread(0x03)*0.001+EEPROMread(0x04)*0.0001;
    038D 2700      CLR	R16
    038E 2711      CLR	R17
    038F D92E      RCALL	_EEPROMread
    0390 2E20      MOV	R2,R16
    0391 E001      LDI	R16,1
    0392 E010      LDI	R17,0
    0393 922F      PUSH	R2
    0394 D929      RCALL	_EEPROMread
    0395 902F      POP	R2
    0396 2E40      MOV	R4,R16
    0397 E002      LDI	R16,2
    0398 E010      LDI	R17,0
    0399 924F      PUSH	R4
    039A 922F      PUSH	R2
    039B D922      RCALL	_EEPROMread
    039C 902F      POP	R2
    039D 904F      POP	R4
    039E 2E60      MOV	R6,R16
    039F E003      LDI	R16,3
    03A0 E010      LDI	R17,0
    03A1 926F      PUSH	R6
    03A2 924F      PUSH	R4
    03A3 922F      PUSH	R2
    03A4 D919      RCALL	_EEPROMread
    03A5 902F      POP	R2
    03A6 904F      POP	R4
    03A7 906F      POP	R6
    03A8 2E80      MOV	R8,R16
    03A9 E004      LDI	R16,4
    03AA E010      LDI	R17,0
    03AB 928F      PUSH	R8
    03AC 926F      PUSH	R6
    03AD 924F      PUSH	R4
    03AE 922F      PUSH	R2
    03AF D90E      RCALL	_EEPROMread
    03B0 902F      POP	R2
    03B1 904F      POP	R4
    03B2 906F      POP	R6
    03B3 908F      POP	R8
    03B4 2F80      MOV	R24,R16
    03B5 2D02      MOV	R16,R2
    03B6 2711      CLR	R17
    03B7 D95A      RCALL	int2fp
    03B8 933A      ST	R19,-Y
    03B9 932A      ST	R18,-Y
    03BA 931A      ST	R17,-Y
    03BB 930A      ST	R16,-Y
    03BC E30A      LDI	R16,0x3A
    03BD E010      LDI	R17,0
    03BE D89D      RCALL	lpm32
    03BF 933A      ST	R19,-Y
    03C0 932A      ST	R18,-Y
    03C1 931A      ST	R17,-Y
    03C2 930A      ST	R16,-Y
    03C3 2D04      MOV	R16,R4
    03C4 2711      CLR	R17
    03C5 D94C      RCALL	int2fp
    03C6 933A      ST	R19,-Y
    03C7 932A      ST	R18,-Y
    03C8 931A      ST	R17,-Y
    03C9 930A      ST	R16,-Y
    03CA DA77      RCALL	mpy32fs
    03CB D99B      RCALL	add32fs
    03CC E306      LDI	R16,0x36
    03CD E010      LDI	R17,0
    03CE D88D      RCALL	lpm32
    03CF 933A      ST	R19,-Y
    03D0 932A      ST	R18,-Y
    03D1 931A      ST	R17,-Y
    03D2 930A      ST	R16,-Y
    03D3 2D06      MOV	R16,R6
    03D4 2711      CLR	R17
    03D5 D93C      RCALL	int2fp
    03D6 933A      ST	R19,-Y
    03D7 932A      ST	R18,-Y
    03D8 931A      ST	R17,-Y
    03D9 930A      ST	R16,-Y
    03DA DA67      RCALL	mpy32fs
    03DB D98B      RCALL	add32fs
    03DC E302      LDI	R16,0x32
    03DD E010      LDI	R17,0
    03DE D87D      RCALL	lpm32
    03DF 933A      ST	R19,-Y
    03E0 932A      ST	R18,-Y
    03E1 931A      ST	R17,-Y
    03E2 930A      ST	R16,-Y
    03E3 2D08      MOV	R16,R8
    03E4 2711      CLR	R17
    03E5 D92C      RCALL	int2fp
    03E6 933A      ST	R19,-Y
    03E7 932A      ST	R18,-Y
    03E8 931A      ST	R17,-Y
    03E9 930A      ST	R16,-Y
    03EA DA57      RCALL	mpy32fs
    03EB D97B      RCALL	add32fs
    03EC E20E      LDI	R16,0x2E
    03ED E010      LDI	R17,0
    03EE D86D      RCALL	lpm32
    03EF 933A      ST	R19,-Y
    03F0 932A      ST	R18,-Y
    03F1 931A      ST	R17,-Y
    03F2 930A      ST	R16,-Y
    03F3 2F08      MOV	R16,R24
    03F4 2711      CLR	R17
    03F5 D91C      RCALL	int2fp
    03F6 933A      ST	R19,-Y
    03F7 932A      ST	R18,-Y
    03F8 931A      ST	R17,-Y
    03F9 930A      ST	R16,-Y
    03FA DA47      RCALL	mpy32fs
    03FB D96D      RCALL	add32f
    03FC 93100084  STS	0x84,R17
    03FE 93000083  STS	0x83,R16
    0400 93300086  STS	0x86,R19
    0402 93200085  STS	0x85,R18
(0055) 	Time1=EEPROMread(0x05)*1000+EEPROMread(0x06)*100+EEPROMread(0x07)*10+EEPROMread(0x08);
    0404 E005      LDI	R16,5
    0405 E010      LDI	R17,0
    0406 D8B7      RCALL	_EEPROMread
    0407 2E20      MOV	R2,R16
    0408 E006      LDI	R16,6
    0409 E010      LDI	R17,0
    040A 922F      PUSH	R2
    040B D8B2      RCALL	_EEPROMread
    040C 902F      POP	R2
    040D 2E40      MOV	R4,R16
    040E E007      LDI	R16,7
    040F E010      LDI	R17,0
    0410 924F      PUSH	R4
    0411 922F      PUSH	R2
    0412 D8AB      RCALL	_EEPROMread
    0413 902F      POP	R2
    0414 904F      POP	R4
    0415 2E60      MOV	R6,R16
    0416 E008      LDI	R16,0x8
    0417 E010      LDI	R17,0
    0418 926F      PUSH	R6
    0419 924F      PUSH	R4
    041A 922F      PUSH	R2
    041B D8A2      RCALL	_EEPROMread
    041C 902F      POP	R2
    041D 904F      POP	R4
    041E 906F      POP	R6
    041F 2E80      MOV	R8,R16
    0420 2D24      MOV	R18,R4
    0421 2733      CLR	R19
    0422 E604      LDI	R16,0x64
    0423 E010      LDI	R17,0
    0424 D885      RCALL	mpy16s
    0425 2E40      MOV	R4,R16
    0426 2E51      MOV	R5,R17
    0427 2D22      MOV	R18,R2
    0428 2733      CLR	R19
    0429 EE08      LDI	R16,0xE8
    042A E013      LDI	R17,3
    042B D87E      RCALL	mpy16s
    042C 2E20      MOV	R2,R16
    042D 2E31      MOV	R3,R17
    042E 0C24      ADD	R2,R4
    042F 1C35      ADC	R3,R5
    0430 2D26      MOV	R18,R6
    0431 2733      CLR	R19
    0432 E00A      LDI	R16,0xA
    0433 E010      LDI	R17,0
    0434 D875      RCALL	mpy16s
    0435 0E20      ADD	R2,R16
    0436 1E31      ADC	R3,R17
    0437 2499      CLR	R9
    0438 0C28      ADD	R2,R8
    0439 1C39      ADC	R3,R9
    043A 923000F8  STS	__idata_end+1,R3
    043C 922000F7  STS	__idata_end,R2
(0056) 	if(Time1<MIN_T) Time1=MIN_T;
    043E 2D82      MOV	R24,R2
    043F 2D93      MOV	R25,R3
    0440 3382      CPI	R24,0x32
    0441 E0E0      LDI	R30,0
    0442 079E      CPC	R25,R30
    0443 F430      BCC	0x044A
    0444 E382      LDI	R24,0x32
    0445 E090      LDI	R25,0
    0446 939000F8  STS	__idata_end+1,R25
    0448 938000F7  STS	__idata_end,R24
(0057) mode_again:
(0058) 	LCD_clr();
    044A D3D8      RCALL	_LCD_clr
(0059) 	LCD_write_string(0,0,"K=     ,T=    ");
    044B EC85      LDI	R24,0xC5
    044C E090      LDI	R25,0
    044D 8399      STD	Y+1,R25
    044E 8388      STD	Y+0,R24
    044F 2722      CLR	R18
    0450 2700      CLR	R16
    0451 D3AB      RCALL	_LCD_write_string
(0060) 	LCD_display(2,0,5,changK1());
    0452 DEC1      RCALL	_changK1
    0453 2E20      MOV	R2,R16
    0454 2E31      MOV	R3,R17
    0455 2444      CLR	R4
    0456 2455      CLR	R5
    0457 822A      STD	Y+2,R2
    0458 823B      STD	Y+3,R3
    0459 824C      STD	Y+4,R4
    045A 825D      STD	Y+5,R5
    045B E085      LDI	R24,5
    045C 8388      STD	Y+0,R24
    045D 2722      CLR	R18
    045E E002      LDI	R16,2
    045F D3CB      RCALL	_LCD_display
(0061) 	LCD_display(10,0,4,Time1);
    0460 902000F7  LDS	R2,__idata_end
    0462 903000F8  LDS	R3,__idata_end+1
    0464 2444      CLR	R4
    0465 2455      CLR	R5
    0466 822A      STD	Y+2,R2
    0467 823B      STD	Y+3,R3
    0468 824C      STD	Y+4,R4
    0469 825D      STD	Y+5,R5
    046A E084      LDI	R24,4
    046B 8388      STD	Y+0,R24
    046C 2722      CLR	R18
    046D E00A      LDI	R16,0xA
    046E D3BC      RCALL	_LCD_display
(0062) 	LCD_write_string(0,1,"Fn:Mod C:Def");
    046F EB88      LDI	R24,0xB8
    0470 E090      LDI	R25,0
    0471 8399      STD	Y+1,R25
    0472 8388      STD	Y+0,R24
    0473 E021      LDI	R18,1
    0474 2700      CLR	R16
    0475 D387      RCALL	_LCD_write_string
    0476 C258      RJMP	0x06CF
(0063) 	while(flag)
(0064) 	{
(0065) 	    key_temp=keypad();
    0477 D462      RCALL	_keypad
    0478 2EA0      MOV	R10,R16
(0066) 		if(key_temp==KEY_OK)
    0479 3005      CPI	R16,5
    047A F4B1      BNE	0x0491
(0067) 		{
(0068) 			Time1=0-Time1;
    047B 902000F7  LDS	R2,__idata_end
    047D 903000F8  LDS	R3,__idata_end+1
    047F 2444      CLR	R4
    0480 2455      CLR	R5
    0481 1842      SUB	R4,R2
    0482 0853      SBC	R5,R3
    0483 925000F8  STS	__idata_end+1,R5
    0485 924000F7  STS	__idata_end,R4
(0069) 			TCNT1H=Time1>>8;
    0487 2C24      MOV	R2,R4
    0488 2C35      MOV	R3,R5
    0489 2C23      MOV	R2,R3
    048A 2433      CLR	R3
    048B BC2D      OUT	0x2D,R2
(0070) 			TCNT1L=Time1&0xff;
    048C 2D84      MOV	R24,R4
    048D 2D95      MOV	R25,R5
    048E 7090      ANDI	R25,0
    048F BD8C      OUT	0x2C,R24
(0071) 		 	break;
    0490 C241      RJMP	0x06D2
(0072) 		}
(0073) 		if(key_temp==KEY_CU)
    0491 2D8A      MOV	R24,R10
    0492 3082      CPI	R24,2
    0493 F529      BNE	0x04B9
(0074) 		{
(0075) 		 	K1=DEFAULT_K1;
    0494 E20A      LDI	R16,0x2A
    0495 E010      LDI	R17,0
    0496 D7C5      RCALL	lpm32
    0497 93100084  STS	0x84,R17
    0499 93000083  STS	0x83,R16
    049B 93300086  STS	0x86,R19
    049D 93200085  STS	0x85,R18
(0076) 		 	data_init(changK1());
    049F DE74      RCALL	_changK1
    04A0 DC20      RCALL	_data_init
(0077) 			SaveToEEPROM(0,5,0);
    04A1 2422      CLR	R2
    04A2 2433      CLR	R3
    04A3 8239      STD	Y+1,R3
    04A4 8228      STD	Y+0,R2
    04A5 E025      LDI	R18,5
    04A6 2700      CLR	R16
    04A7 DE48      RCALL	_SaveToEEPROM
(0078) 		 	Time1=DEFAULT_T;
    04A8 E684      LDI	R24,0x64
    04A9 E090      LDI	R25,0
    04AA 939000F8  STS	__idata_end+1,R25
    04AC 938000F7  STS	__idata_end,R24
(0079) 		 	data_init(Time1);
    04AE 2F08      MOV	R16,R24
    04AF 2F19      MOV	R17,R25
    04B0 DC10      RCALL	_data_init
(0080) 			SaveToEEPROM(1,4,5);
    04B1 E085      LDI	R24,5
    04B2 E090      LDI	R25,0
    04B3 8399      STD	Y+1,R25
    04B4 8388      STD	Y+0,R24
    04B5 E024      LDI	R18,4
    04B6 E001      LDI	R16,1
    04B7 DE38      RCALL	_SaveToEEPROM
(0081) 			goto mode_again;
    04B8 CF91      RJMP	0x044A
(0082) 		}
(0083) 	    if(key_temp==KEY_FN)
    04B9 2D8A      MOV	R24,R10
    04BA 3081      CPI	R24,1
    04BB F009      BEQ	0x04BD
    04BC C212      RJMP	0x06CF
(0084) 		{    
(0085) 	        LCD_clr();
    04BD D365      RCALL	_LCD_clr
(0086) 			LCD_display(0,0,5,changK1());
    04BE DE55      RCALL	_changK1
    04BF 2E20      MOV	R2,R16
    04C0 2E31      MOV	R3,R17
    04C1 2444      CLR	R4
    04C2 2455      CLR	R5

⌨️ 快捷键说明

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