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

📄 mydesign.lst

📁 本设计以ATMEL公司生产的AT90S8515作为控制核心
💻 LST
📖 第 1 页 / 共 5 页
字号:
    04C3 822A      STD	Y+2,R2
    04C4 823B      STD	Y+3,R3
    04C5 824C      STD	Y+4,R4
    04C6 825D      STD	Y+5,R5
    04C7 E085      LDI	R24,5
    04C8 8388      STD	Y+0,R24
    04C9 2722      CLR	R18
    04CA 2700      CLR	R16
    04CB D35F      RCALL	_LCD_display
(0087) 			LCD_write_string(6,0,"-10e4");
    04CC EB82      LDI	R24,0xB2
    04CD E090      LDI	R25,0
    04CE 8399      STD	Y+1,R25
    04CF 8388      STD	Y+0,R24
    04D0 2722      CLR	R18
    04D1 E006      LDI	R16,6
    04D2 D32A      RCALL	_LCD_write_string
(0088) 			LCD_write_string(0,1,"^          Set K");
    04D3 EA81      LDI	R24,0xA1
    04D4 E090      LDI	R25,0
    04D5 8399      STD	Y+1,R25
    04D6 8388      STD	Y+0,R24
    04D7 E021      LDI	R18,1
    04D8 2700      CLR	R16
    04D9 D323      RCALL	_LCD_write_string
(0089) 			j=0;
    04DA 2422      CLR	R2
    04DB 922000F9  STS	_j,R2
(0090) 			data_init(changK1());
    04DD DE36      RCALL	_changK1
    04DE DBE2      RCALL	_data_init
    04DF C115      RJMP	0x05F5
(0091) 	        while(flag)
(0092) 			{
(0093) 			    key_temp=keypad();
    04E0 D3F9      RCALL	_keypad
    04E1 2EA0      MOV	R10,R16
(0094) 				switch(key_temp)
    04E2 2CCA      MOV	R12,R10
    04E3 24DD      CLR	R13
    04E4 2D8C      MOV	R24,R12
    04E5 2D9D      MOV	R25,R13
    04E6 3081      CPI	R24,1
    04E7 E0E0      LDI	R30,0
    04E8 079E      CPC	R25,R30
    04E9 F409      BNE	0x04EB
    04EA C08D      RJMP	0x0578
    04EB 3082      CPI	R24,2
    04EC E0E0      LDI	R30,0
    04ED 079E      CPC	R25,R30
    04EE F051      BEQ	0x04F9
    04EF 3083      CPI	R24,3
    04F0 E0E0      LDI	R30,0
    04F1 079E      CPC	R25,R30
    04F2 F121      BEQ	0x0517
    04F3 3084      CPI	R24,4
    04F4 E0E0      LDI	R30,0
    04F5 079E      CPC	R25,R30
    04F6 F409      BNE	0x04F8
    04F7 C050      RJMP	0x0548
    04F8 C0FC      RJMP	0x05F5
(0095) 				{
(0096) 				case	KEY_CU:
(0097) 					LCD_write(j,1,' ');
    04F9 E280      LDI	R24,0x20
    04FA E090      LDI	R25,0
    04FB 8399      STD	Y+1,R25
    04FC 8388      STD	Y+0,R24
    04FD E021      LDI	R18,1
    04FE 910000F9  LDS	R16,_j
    0500 D315      RCALL	_LCD_write
(0098) 					j++;
    0501 918000F9  LDS	R24,_j
    0503 5F8F      SUBI	R24,0xFF
    0504 938000F9  STS	_j,R24
(0099) 					if(j>4)	j=0;
    0506 E084      LDI	R24,4
    0507 902000F9  LDS	R2,_j
    0509 1582      CP	R24,R2
    050A F418      BCC	0x050E
    050B 2422      CLR	R2
    050C 922000F9  STS	_j,R2
(0100) 					LCD_write(j,1,'^');
    050E E58E      LDI	R24,0x5E
    050F E090      LDI	R25,0
    0510 8399      STD	Y+1,R25
    0511 8388      STD	Y+0,R24
    0512 E021      LDI	R18,1
    0513 910000F9  LDS	R16,_j
    0515 D300      RCALL	_LCD_write
(0101) 					break;
    0516 C0DE      RJMP	0x05F5
(0102) 				case	KEY_INC:
(0103) 					value_table[j]++;
    0517 EF8C      LDI	R24,0xFC
    0518 E090      LDI	R25,0
    0519 902000F9  LDS	R2,_j
    051B 2433      CLR	R3
    051C 0E28      ADD	R2,R24
    051D 1E39      ADC	R3,R25
    051E 2DE2      MOV	R30,R2
    051F 2DF3      MOV	R31,R3
    0520 8180      LDD	R24,Z+0
    0521 5F8F      SUBI	R24,0xFF
    0522 8380      STD	Z+0,R24
(0104) 					if(value_table[j]>9) value_table[j]=0;
    0523 EF8C      LDI	R24,0xFC
    0524 E090      LDI	R25,0
    0525 91E000F9  LDS	R30,_j
    0527 27FF      CLR	R31
    0528 0FE8      ADD	R30,R24
    0529 1FF9      ADC	R31,R25
    052A 8020      LDD	R2,Z+0
    052B E089      LDI	R24,0x9
    052C 1582      CP	R24,R2
    052D F448      BCC	0x0537
    052E EF8C      LDI	R24,0xFC
    052F E090      LDI	R25,0
    0530 91E000F9  LDS	R30,_j
    0532 27FF      CLR	R31
    0533 0FE8      ADD	R30,R24
    0534 1FF9      ADC	R31,R25
    0535 2422      CLR	R2
    0536 8220      STD	Z+0,R2
(0105) 			        LCD_write(j,0,value_table[j]+'0');
    0537 EF8C      LDI	R24,0xFC
    0538 E090      LDI	R25,0
    0539 91E000F9  LDS	R30,_j
    053B 27FF      CLR	R31
    053C 0FE8      ADD	R30,R24
    053D 1FF9      ADC	R31,R25
    053E 8180      LDD	R24,Z+0
    053F 2799      CLR	R25
    0540 96C0      ADIW	R24,0x30
    0541 8399      STD	Y+1,R25
    0542 8388      STD	Y+0,R24
    0543 2722      CLR	R18
    0544 910000F9  LDS	R16,_j
    0546 D2CF      RCALL	_LCD_write
(0106) 					break;
    0547 C0AD      RJMP	0x05F5
(0107) 				case	KEY_DEC:
(0108) 					value_table[j]--;
    0548 EF8C      LDI	R24,0xFC
    0549 E090      LDI	R25,0
    054A 902000F9  LDS	R2,_j
    054C 2433      CLR	R3
    054D 0E28      ADD	R2,R24
    054E 1E39      ADC	R3,R25
    054F 2DE2      MOV	R30,R2
    0550 2DF3      MOV	R31,R3
    0551 8180      LDD	R24,Z+0
    0552 5081      SUBI	R24,1
    0553 8380      STD	Z+0,R24
(0109) 					if(value_table[j]==255) value_table[j]=9;
    0554 EF8C      LDI	R24,0xFC
    0555 E090      LDI	R25,0
    0556 91E000F9  LDS	R30,_j
    0558 27FF      CLR	R31
    0559 0FE8      ADD	R30,R24
    055A 1FF9      ADC	R31,R25
    055B 8180      LDD	R24,Z+0
    055C 3F8F      CPI	R24,0xFF
    055D F449      BNE	0x0567
    055E EF8C      LDI	R24,0xFC
    055F E090      LDI	R25,0
    0560 91E000F9  LDS	R30,_j
    0562 27FF      CLR	R31
    0563 0FE8      ADD	R30,R24
    0564 1FF9      ADC	R31,R25
    0565 E089      LDI	R24,0x9
    0566 8380      STD	Z+0,R24
(0110) 			        LCD_write(j,0,value_table[j]+'0');
    0567 EF8C      LDI	R24,0xFC
    0568 E090      LDI	R25,0
    0569 91E000F9  LDS	R30,_j
    056B 27FF      CLR	R31
    056C 0FE8      ADD	R30,R24
    056D 1FF9      ADC	R31,R25
    056E 8180      LDD	R24,Z+0
    056F 2799      CLR	R25
    0570 96C0      ADIW	R24,0x30
    0571 8399      STD	Y+1,R25
    0572 8388      STD	Y+0,R24
    0573 2722      CLR	R18
    0574 910000F9  LDS	R16,_j
    0576 D29F      RCALL	_LCD_write
(0111) 					break;
    0577 C07D      RJMP	0x05F5
(0112) 			    case	KEY_FN:
(0113) 			     	K1=value_table[0]+ value_table[1]*0.1+value_table[2]*0.01+value_table[3]*0.001+value_table[4]*0.0001;
    0578 910000FC  LDS	R16,_value_table
    057A 2711      CLR	R17
    057B D796      RCALL	int2fp
    057C 933A      ST	R19,-Y
    057D 932A      ST	R18,-Y
    057E 931A      ST	R17,-Y
    057F 930A      ST	R16,-Y
    0580 E30A      LDI	R16,0x3A
    0581 E010      LDI	R17,0
    0582 D6D9      RCALL	lpm32
    0583 933A      ST	R19,-Y
    0584 932A      ST	R18,-Y
    0585 931A      ST	R17,-Y
    0586 930A      ST	R16,-Y
    0587 910000FD  LDS	R16,_value_table+1
    0589 2711      CLR	R17
    058A D787      RCALL	int2fp
    058B 933A      ST	R19,-Y
    058C 932A      ST	R18,-Y
    058D 931A      ST	R17,-Y
    058E 930A      ST	R16,-Y
    058F D8B2      RCALL	mpy32fs
    0590 D7D6      RCALL	add32fs
    0591 E306      LDI	R16,0x36
    0592 E010      LDI	R17,0
    0593 D6C8      RCALL	lpm32
    0594 933A      ST	R19,-Y
    0595 932A      ST	R18,-Y
    0596 931A      ST	R17,-Y
    0597 930A      ST	R16,-Y
    0598 910000FE  LDS	R16,_value_table+2
    059A 2711      CLR	R17
    059B D776      RCALL	int2fp
    059C 933A      ST	R19,-Y
    059D 932A      ST	R18,-Y
    059E 931A      ST	R17,-Y
    059F 930A      ST	R16,-Y
    05A0 D8A1      RCALL	mpy32fs
    05A1 D7C5      RCALL	add32fs
    05A2 E302      LDI	R16,0x32
    05A3 E010      LDI	R17,0
    05A4 D6B7      RCALL	lpm32
    05A5 933A      ST	R19,-Y
    05A6 932A      ST	R18,-Y
    05A7 931A      ST	R17,-Y
    05A8 930A      ST	R16,-Y
    05A9 910000FF  LDS	R16,_value_table+3
    05AB 2711      CLR	R17
    05AC D765      RCALL	int2fp
    05AD 933A      ST	R19,-Y
    05AE 932A      ST	R18,-Y
    05AF 931A      ST	R17,-Y
    05B0 930A      ST	R16,-Y
    05B1 D890      RCALL	mpy32fs
    05B2 D7B4      RCALL	add32fs
    05B3 E20E      LDI	R16,0x2E
    05B4 E010      LDI	R17,0
    05B5 D6A6      RCALL	lpm32
    05B6 933A      ST	R19,-Y
    05B7 932A      ST	R18,-Y
    05B8 931A      ST	R17,-Y
    05B9 930A      ST	R16,-Y
    05BA 91000100  LDS	R16,0x100
    05BC 2711      CLR	R17
    05BD D754      RCALL	int2fp
    05BE 933A      ST	R19,-Y
    05BF 932A      ST	R18,-Y
    05C0 931A      ST	R17,-Y
    05C1 930A      ST	R16,-Y
    05C2 D87F      RCALL	mpy32fs
    05C3 D7A5      RCALL	add32f
    05C4 93100084  STS	0x84,R17
    05C6 93000083  STS	0x83,R16
    05C8 93300086  STS	0x86,R19
    05CA 93200085  STS	0x85,R18
(0114) 					data_init(changK1());
    05CC DD47      RCALL	_changK1
    05CD DAF3      RCALL	_data_init
(0115) 					SaveToEEPROM(0,5,0);
    05CE 2422      CLR	R2
    05CF 2433      CLR	R3
    05D0 8239      STD	Y+1,R3
    05D1 8228      STD	Y+0,R2
    05D2 E025      LDI	R18,5
    05D3 2700      CLR	R16
    05D4 DD1B      RCALL	_SaveToEEPROM
(0116) 					LCD_clr();
    05D5 D24D      RCALL	_LCD_clr
(0117) 					LCD_display(0,0,4,Time1);
    05D6 902000F7  LDS	R2,__idata_end
    05D8 903000F8  LDS	R3,__idata_end+1
    05DA 2444      CLR	R4
    05DB 2455      CLR	R5
    05DC 822A      STD	Y+2,R2
    05DD 823B      STD	Y+3,R3
    05DE 824C      STD	Y+4,R4
    05DF 825D      STD	Y+5,R5
    05E0 E084      LDI	R24,4
    05E1 8388      STD	Y+0,R24
    05E2 2722      CLR	R18
    05E3 2700      CLR	R16
    05E4 D246      RCALL	_LCD_display
(0118) 					LCD_write_string(0,1,"^          Set T");
    05E5 E980      LDI	R24,0x90
    05E6 E090      LDI	R25,0
    05E7 8399      STD	Y+1,R25
    05E8 8388      STD	Y+0,R24
    05E9 E021      LDI	R18,1
    05EA 2700      CLR	R16
    05EB D211      RCALL	_LCD_write_string
(0119) 					j=0;
    05EC 2422      CLR	R2
    05ED 922000F9  STS	_j,R2
(0120) 					data_init(Time1);
    05EF 910000F7  LDS	R16,__idata_end
    05F1 911000F8  LDS	R17,__idata_end+1
    05F3 DACD      RCALL	_data_init
(0121) 					flag=0;
    05F4 2744      CLR	R20
    05F5 2344      TST	R20
    05F6 F009      BEQ	0x05F8
    05F7 CEE8      RJMP	0x04E0
(0122) 					break;
(0123) 				}
(0124) 			}
(0125) 			flag=1;
    05F8 E041      LDI	R20,1
    05F9 C0D2      RJMP	0x06CC
(0126) 	        while(flag)
(0127) 			{
(0128) 			    key_temp=keypad();
    05FA D2DF      RCALL	_keypad
    05FB 2EA0      MOV	R10,R16
(0129) 				switch(key_temp)
    05FC 2D6A      MOV	R22,R10
    05FD 2777      CLR	R23
    05FE 3061      CPI	R22,1
    05FF E0E0      LDI	R30,0
    0600 077E      CPC	R23,R30
    0601 F409      BNE	0x0603
    0602 C08D      RJMP	0x0690
    0603 3062      CPI	R22,2
    0604 E0E0      LDI	R30,0
    0605 077E      CPC	R23,R30
    0606 F051      BEQ	0x0611
    0607 3063      CPI	R22,3
    0608 E0E0      LDI	R30,0
    0609 077E      CPC	R23,R30
    060A F121      BEQ	0x062F
    060B 3064      CPI	R22,4
    060C E0E0      LDI	R30,0
    060D 077E      CPC	R23,R30
    060E F409      BNE	0x0610
    060F C050      RJMP	0x0660
    0610 C0BB      RJMP	0x06CC
(0130) 				{
(0131) 				case	KEY_CU:
(0132) 					LCD_write(j,1,' ');
    0611 E280      LDI	R24,0x20
    0612 E090      LDI	R25,0
    0613 8399      STD	Y+1,R25
    0614 8388      STD	Y+0,R24
    0615 E021      LDI	R18,1
    0616 910000F9  LDS	R16,_j
    0618 D1FD      RCALL	_LCD_write
(0133) 					j++;
    0619 918000F9  LDS	R24,_j
    061B 5F8F      SUBI	R24,0xFF
    061C 938000F9  STS	_j,R24
(0134) 					if(j>3)	j=0;
    061E E083      LDI	R24,3
    061F 902000F9  LDS	R2,_j
    0621 1582      CP	R24,R2
    0622 F418      BCC	0x0626
    0623 2422      CLR	R2
    0624 922000F9  STS	_j,R2
(0135) 					LCD_write(j,1,'^');
    0626 E58E      LDI	R24,0x5E
    0627 E090      LDI	R25,0
    0628 8399      STD	Y+1,R25
    0629 8388      STD	Y+0,R24
    062A E021      LDI	R18,1
    062B 910000F9  LDS	R16,_j
    062D D1E8      RCALL	_LCD_write
(0136) 					break;
    062E C09D      RJMP	0x06CC
(0137) 				case	KEY_INC:
(0138) 					value_table[j+1]++;
    062F EF8D      LDI	R24,0xFD
    0630 E090      LDI	R25,0
    0631 902000F9  LDS	R2,_j
    0633 2433      CLR	R3
    0634 0E28      ADD	R2,R24
    0635 1E39      ADC	R3,R25
    0636 2DE2      MOV	R30,R2
    0637 2DF3      MOV	R31,R3
    0638 8180      LDD	R24,Z+0
    0639 5F8F      SUBI	R24,0xFF
    063A 8380      STD	Z+0,R24
(0139) 					if(value_table[j+1]>9) value_table[j+1]=0;
    063B EF8D      LDI	R24,0xFD
    063C E090      LDI	R25,0
    063D 91E000F9  LDS	R30,_j
    063F 27FF      CLR	R31
    0640 0FE8      ADD	R30,R24
    0641 1FF9      ADC	R31,R25
    0642 8020      LDD	R2,Z+0
    0643 E089      LDI	R24,0x9
    0644 1582      CP	R24,R2
    0645 F448      BCC	0x064F
    0646 EF8D      LDI	R24,0xFD
    0647 E090      LDI	R25,0
    0648 91E000F9  LDS	R30,_j
    064A 27FF      CLR	R31
    064B 0FE8      ADD	R30,R24
    064C 1FF9      ADC	R31,R25
    064D 2422      CLR	R2
    064E 8220      STD	Z+0,R2
(0140) 			        LCD_write(j,0,value_table[j+1]+'0');
    064F EF8D      LDI	R24,0xFD
    0650 E090      LDI	R25,0
    0651 91E000F9  LDS	R30,_j
    0653 27FF      CLR	R31
    0654 0FE8      ADD	R30,R24

⌨️ 快捷键说明

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