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

📄 as5030.lst

📁 as3050 interfacing with atmega8
💻 LST
📖 第 1 页 / 共 4 页
字号:
;Address Opcode 	ASM
0x0000	0xC12C    	RJMP       301
0x0002	0xCFFE    	RJMP       0
0x0004	0xCFFD    	RJMP       0
0x0006	0xCFFC    	RJMP       0
0x0008	0xCFFB    	RJMP       0
0x000A	0xCFFA    	RJMP       0
0x000C	0xCFF9    	RJMP       0
0x000E	0xCFF8    	RJMP       0
0x0010	0xCFF7    	RJMP       0
0x0012	0xCFF6    	RJMP       0
0x0014	0xCFF5    	RJMP       0
0x0016	0xCFF4    	RJMP       0
0x0018	0xCFF3    	RJMP       0
0x001A	0xCFF2    	RJMP       0
0x001C	0xCFF1    	RJMP       0
0x001E	0xCFF0    	RJMP       0
0x0020	0xCFEF    	RJMP       0
0x0022	0xCFEE    	RJMP       0
0x0024	0xCFED    	RJMP       0
_Move_Delay:
;AS5030.c,27 :: 		void Move_Delay()
;AS5030.c,29 :: 		Delay_ms(500);                     // You can change the moving speed here
0x059E	0xE125    	LDI        R18, 21
0x05A0	0xE41B    	LDI        R17, 75
0x05A2	0xEB0F    	LDI        R16, 191
0x05A4	0x950A    	DEC        R16
0x05A6	0xF7F1    	BRNE       $-1
0x05A8	0x951A    	DEC        R17
0x05AA	0xF7E1    	BRNE       $-3
0x05AC	0x952A    	DEC        R18
0x05AE	0xF7D1    	BRNE       $-5
0x05B0	0x0000    	NOP
;AS5030.c,30 :: 		}
L_endMove_Delay:
0x05B2	0x9508    	RET
; end of _Move_Delay
_main:
0x025A	0xE5BF    	LDI        R27, 95
0x025C	0xBFBD    	OUT        SPL, R27
0x025E	0xE0B4    	LDI        R27, 4
0x0260	0xBFBE    	OUT        SPH, R27
0x0262	0xD1D7    	RCALL      777
;AS5030.c,32 :: 		void main()
;AS5030.c,33 :: 		{ LCD_RW = 0;
0x0264	0x98C7    	CBI        PORTB, 7
;AS5030.c,34 :: 		LCD_RW_Direction = 1;
0x0266	0x9ABF    	SBI        DDRB, 7
;AS5030.c,35 :: 		Lcd_Init();                        // Initialize LCD
0x0268	0xDEE1    	RCALL      _Lcd_Init+0
;AS5030.c,36 :: 		Lcd_Cmd(LCD_CLEAR);                // Clear display
0x026A	0xE0B1    	LDI        R27, 1
0x026C	0x93BF    	PUSH       R27
0x026E	0xD0AD    	RCALL      _Lcd_Cmd+0
0x0270	0xB7AD    	IN         R26, SPL
0x0272	0xB7BE    	IN         R27, SPH
0x0274	0x9611    	ADIW       R26, 1
0x0276	0xBFAD    	OUT        SPL, R26
0x0278	0xBFBE    	OUT        SPH, R27
;AS5030.c,37 :: 		Lcd_Cmd(LCD_CURSOR_OFF);           // Cursor off
0x027A	0xE0BC    	LDI        R27, 12
0x027C	0x93BF    	PUSH       R27
0x027E	0xD0A5    	RCALL      _Lcd_Cmd+0
0x0280	0xB7AD    	IN         R26, SPL
0x0282	0xB7BE    	IN         R27, SPH
0x0284	0x9611    	ADIW       R26, 1
0x0286	0xBFAD    	OUT        SPL, R26
0x0288	0xBFBE    	OUT        SPH, R27
;AS5030.c,39 :: 		Lcd_Out(1,6,txt3);                 // Write text in first row
0x028A	0xE0B0    	LDI        R27, hi_addr(_txt3+0)
0x028C	0x93BF    	PUSH       R27
0x028E	0xE7BB    	LDI        R27, _txt3+0
0x0290	0x93BF    	PUSH       R27
0x0292	0xE0B6    	LDI        R27, 6
0x0294	0x93BF    	PUSH       R27
0x0296	0xE0B1    	LDI        R27, 1
0x0298	0x93BF    	PUSH       R27
0x029A	0xD108    	RCALL      _Lcd_Out+0
0x029C	0xB7AD    	IN         R26, SPL
0x029E	0xB7BE    	IN         R27, SPH
0x02A0	0x9614    	ADIW       R26, 4
0x02A2	0xBFAD    	OUT        SPL, R26
0x02A4	0xBFBE    	OUT        SPH, R27
;AS5030.c,40 :: 		Lcd_Out(2,6,txt4);                 // Write text in second row
0x02A6	0xE0B0    	LDI        R27, hi_addr(_txt4+0)
0x02A8	0x93BF    	PUSH       R27
0x02AA	0xE8B3    	LDI        R27, _txt4+0
0x02AC	0x93BF    	PUSH       R27
0x02AE	0xE0B6    	LDI        R27, 6
0x02B0	0x93BF    	PUSH       R27
0x02B2	0xE0B2    	LDI        R27, 2
0x02B4	0x93BF    	PUSH       R27
0x02B6	0xD0FA    	RCALL      _Lcd_Out+0
0x02B8	0xB7AD    	IN         R26, SPL
0x02BA	0xB7BE    	IN         R27, SPH
0x02BC	0x9614    	ADIW       R26, 4
0x02BE	0xBFAD    	OUT        SPL, R26
0x02C0	0xBFBE    	OUT        SPH, R27
;AS5030.c,41 :: 		Delay_ms(2000);
0x02C2	0xE522    	LDI        R18, 82
0x02C4	0xE21B    	LDI        R17, 43
0x02C6	0xE000    	LDI        R16, 0
0x02C8	0x950A    	DEC        R16
0x02CA	0xF7F1    	BRNE       $-1
0x02CC	0x951A    	DEC        R17
0x02CE	0xF7E1    	BRNE       $-3
0x02D0	0x952A    	DEC        R18
0x02D2	0xF7D1    	BRNE       $-5
0x02D4	0x0000    	NOP
0x02D6	0x0000    	NOP
0x02D8	0x0000    	NOP
0x02DA	0x0000    	NOP
;AS5030.c,42 :: 		Lcd_Cmd(LCD_CLEAR);                // Clear display
0x02DC	0xE0B1    	LDI        R27, 1
0x02DE	0x93BF    	PUSH       R27
0x02E0	0xD074    	RCALL      _Lcd_Cmd+0
0x02E2	0xB7AD    	IN         R26, SPL
0x02E4	0xB7BE    	IN         R27, SPH
0x02E6	0x9611    	ADIW       R26, 1
0x02E8	0xBFAD    	OUT        SPL, R26
0x02EA	0xBFBE    	OUT        SPH, R27
;AS5030.c,44 :: 		Lcd_Out(1,1,txt1);                 // Write text in first row
0x02EC	0xE0B0    	LDI        R27, hi_addr(_txt1+0)
0x02EE	0x93BF    	PUSH       R27
0x02F0	0xE6BA    	LDI        R27, _txt1+0
0x02F2	0x93BF    	PUSH       R27
0x02F4	0xE0B1    	LDI        R27, 1
0x02F6	0x93BF    	PUSH       R27
0x02F8	0xE0B1    	LDI        R27, 1
0x02FA	0x93BF    	PUSH       R27
0x02FC	0xD0D7    	RCALL      _Lcd_Out+0
0x02FE	0xB7AD    	IN         R26, SPL
0x0300	0xB7BE    	IN         R27, SPH
0x0302	0x9614    	ADIW       R26, 4
0x0304	0xBFAD    	OUT        SPL, R26
0x0306	0xBFBE    	OUT        SPH, R27
;AS5030.c,45 :: 		Lcd_Out(2,4,txt2);                 // Write text in second row
0x0308	0xE0B0    	LDI        R27, hi_addr(_txt2+0)
0x030A	0x93BF    	PUSH       R27
0x030C	0xE6B0    	LDI        R27, _txt2+0
0x030E	0x93BF    	PUSH       R27
0x0310	0xE0B4    	LDI        R27, 4
0x0312	0x93BF    	PUSH       R27
0x0314	0xE0B2    	LDI        R27, 2
0x0316	0x93BF    	PUSH       R27
0x0318	0xD0C9    	RCALL      _Lcd_Out+0
0x031A	0xB7AD    	IN         R26, SPL
0x031C	0xB7BE    	IN         R27, SPH
0x031E	0x9614    	ADIW       R26, 4
0x0320	0xBFAD    	OUT        SPL, R26
0x0322	0xBFBE    	OUT        SPH, R27
;AS5030.c,46 :: 		Delay_ms(2000);
0x0324	0xE522    	LDI        R18, 82
0x0326	0xE21B    	LDI        R17, 43
0x0328	0xE000    	LDI        R16, 0
0x032A	0x950A    	DEC        R16
0x032C	0xF7F1    	BRNE       $-1
0x032E	0x951A    	DEC        R17
0x0330	0xF7E1    	BRNE       $-3
0x0332	0x952A    	DEC        R18
0x0334	0xF7D1    	BRNE       $-5
0x0336	0x0000    	NOP
0x0338	0x0000    	NOP
0x033A	0x0000    	NOP
0x033C	0x0000    	NOP
;AS5030.c,49 :: 		for(i=0; i<4; i++)
0x033E	0xE0B0    	LDI        R27, 0
0x0340	0x008C93B0  	STS        _i+0, R27
L_main0:
0x0344	0x008C9100  	LDS        R16, _i+0
0x0348	0x3004    	CPI        R16, 4
0x034A	0xF488    	BRSH       L_main1
L__main13:
;AS5030.c,50 :: 		{ Lcd_Cmd(LCD_SHIFT_RIGHT);        // Move text to the right 4 times
0x034C	0xE1BC    	LDI        R27, 28
0x034E	0x93BF    	PUSH       R27
0x0350	0xD03C    	RCALL      _Lcd_Cmd+0
0x0352	0xB7AD    	IN         R26, SPL
0x0354	0xB7BE    	IN         R27, SPH
0x0356	0x9611    	ADIW       R26, 1
0x0358	0xBFAD    	OUT        SPL, R26
0x035A	0xBFBE    	OUT        SPH, R27
;AS5030.c,51 :: 		Move_Delay();
0x035C	0xD120    	RCALL      _Move_Delay+0
;AS5030.c,49 :: 		for(i=0; i<4; i++)
0x035E	0x008C9100  	LDS        R16, _i+0
0x0362	0x5F0F    	SUBI       R16, 255
0x0364	0x008C9300  	STS        _i+0, R16
;AS5030.c,52 :: 		}
0x0368	0xCFEF    	RJMP       L_main0
L_main1:
;AS5030.c,53 :: 		while(1)
L_main3:
;AS5030.c,54 :: 		{for(i=0; i<7; i++)
0x036A	0xE0B0    	LDI        R27, 0
0x036C	0x008C93B0  	STS        _i+0, R27
L_main5:
0x0370	0x008C9100  	LDS        R16, _i+0
0x0374	0x3007    	CPI        R16, 7
0x0376	0xF488    	BRSH       L_main6
L__main14:
;AS5030.c,55 :: 		{ Lcd_Cmd(LCD_SHIFT_LEFT);       // Endless loop
0x0378	0xE1B8    	LDI        R27, 24
0x037A	0x93BF    	PUSH       R27
0x037C	0xD026    	RCALL      _Lcd_Cmd+0
0x037E	0xB7AD    	IN         R26, SPL
0x0380	0xB7BE    	IN         R27, SPH
0x0382	0x9611    	ADIW       R26, 1
0x0384	0xBFAD    	OUT        SPL, R26
0x0386	0xBFBE    	OUT        SPH, R27
;AS5030.c,56 :: 		Move_Delay();                  // Move text to the left 7 times
0x0388	0xD10A    	RCALL      _Move_Delay+0
;AS5030.c,54 :: 		{for(i=0; i<7; i++)
0x038A	0x008C9100  	LDS        R16, _i+0
0x038E	0x5F0F    	SUBI       R16, 255
0x0390	0x008C9300  	STS        _i+0, R16
;AS5030.c,57 :: 		}
0x0394	0xCFEF    	RJMP       L_main5
L_main6:
;AS5030.c,58 :: 		for(i=0; i<7; i++)
0x0396	0xE0B0    	LDI        R27, 0
0x0398	0x008C93B0  	STS        _i+0, R27
L_main8:
0x039C	0x008C9100  	LDS        R16, _i+0
0x03A0	0x3007    	CPI        R16, 7
0x03A2	0xF488    	BRSH       L_main9
L__main15:
;AS5030.c,59 :: 		{Lcd_Cmd(LCD_SHIFT_RIGHT);      // Move text to the right 7 times
0x03A4	0xE1BC    	LDI        R27, 28
0x03A6	0x93BF    	PUSH       R27
0x03A8	0xD010    	RCALL      _Lcd_Cmd+0
0x03AA	0xB7AD    	IN         R26, SPL
0x03AC	0xB7BE    	IN         R27, SPH
0x03AE	0x9611    	ADIW       R26, 1
0x03B0	0xBFAD    	OUT        SPL, R26
0x03B2	0xBFBE    	OUT        SPH, R27
;AS5030.c,60 :: 		Move_Delay();
0x03B4	0xD0F4    	RCALL      _Move_Delay+0
;AS5030.c,58 :: 		for(i=0; i<7; i++)
0x03B6	0x008C9100  	LDS        R16, _i+0
0x03BA	0x5F0F    	SUBI       R16, 255
0x03BC	0x008C9300  	STS        _i+0, R16
;AS5030.c,61 :: 		}
0x03C0	0xCFEF    	RJMP       L_main8
L_main9:
;AS5030.c,62 :: 		}
0x03C2	0xCFD5    	RJMP       L_main3
;AS5030.c,63 :: 		}
L_endmain:
0x03C4	0xC001    	RJMP       L_endmain
; end of _main
_Delay_50us:
;__Lib_Delays.c,18 :: 		void Delay_50us() {
;__Lib_Delays.c,19 :: 		Delay_us(50);
0x05DC	0xE805    	LDI        R16, 133
0x05DE	0x950A    	DEC        R16
0x05E0	0xF7F1    	BRNE       $-1
0x05E2	0x0000    	NOP
;__Lib_Delays.c,20 :: 		}
L_endDelay_50us:
0x05E4	0x9508    	RET
; end of _Delay_50us
_Delay_1us:
;__Lib_Delays.c,6 :: 		void Delay_1us() {
;__Lib_Delays.c,7 :: 		Delay_us(1);
0x05C6	0xE002    	LDI        R16, 2
0x05C8	0x950A    	DEC        R16
0x05CA	0xF7F1    	BRNE       $-1
0x05CC	0x0000    	NOP
0x05CE	0x0000    	NOP
;__Lib_Delays.c,8 :: 		}
L_endDelay_1us:
0x05D0	0x9508    	RET
; end of _Delay_1us
_Delay_5500us:
;__Lib_Delays.c,30 :: 		void Delay_5500us() {
;__Lib_Delays.c,31 :: 		Delay_us(5500);
0x05B4	0xE31A    	LDI        R17, 58
0x05B6	0xE203    	LDI        R16, 35
0x05B8	0x950A    	DEC        R16
0x05BA	0xF7F1    	BRNE       $-1
0x05BC	0x951A    	DEC        R17
0x05BE	0xF7E1    	BRNE       $-3
0x05C0	0x0000    	NOP
0x05C2	0x0000    	NOP
;__Lib_Delays.c,32 :: 		}
L_endDelay_5500us:
0x05C4	0x9508    	RET
; end of _Delay_5500us
_Lcd_Chr_CP:
0x056A	0x93CF    	PUSH       R28
0x056C	0x93DF    	PUSH       R29
0x056E	0xB7CD    	IN         R28, SPL
0x0570	0xB7DE    	IN         R29, SPH
0x0572	0x9625    	ADIW       R28, 5
;__Lib_Lcd.c,50 :: 		
;__Lib_Lcd.c,52 :: 		
0x0574	0x008B91B0  	LDS        R27, __Lib_Lcd_cmd_status+0
0x0578	0x7FBE    	CBR        R27, 1
0x057A	0x008B93B0  	STS        __Lib_Lcd_cmd_status+0, R27
;__Lib_Lcd.c,53 :: 		
0x057E	0x8108    	LDD        R16, Y+0
0x0580	0x930F    	PUSH       R16
0x0582	0xDF23    	RCALL      _Lcd_Cmd+0
0x0584	0xB7AD    	IN         R26, SPL
0x0586	0xB7BE    	IN         R27, SPH
0x0588	0x9611    	ADIW       R26, 1
0x058A	0xBFAD    	OUT        SPL, R26
0x058C	0xBFBE    	OUT        SPH, R27
;__Lib_Lcd.c,54 :: 		
0x058E	0x008B91B0  	LDS        R27, __Lib_Lcd_cmd_status+0
0x0592	0x60B1    	SBR        R27, 1
0x0594	0x008B93B0  	STS        __Lib_Lcd_cmd_status+0, R27
;__Lib_Lcd.c,55 :: 		
L_endLcd_Chr_CP:
0x0598	0x91DF    	POP        R29
0x059A	0x91CF    	POP        R28
0x059C	0x9508    	RET
; end of _Lcd_Chr_CP
_Lcd_Out:
0x04AC	0x93CF    	PUSH       R28
0x04AE	0x93DF    	PUSH       R29
0x04B0	0xB7CD    	IN         R28, SPL
0x04B2	0xB7DE    	IN         R29, SPH
0x04B4	0x9721    	SBIW       R28, 1
0x04B6	0xBFCD    	OUT        SPL, R28
0x04B8	0xBFDE    	OUT        SPH, R29
0x04BA	0x9621    	ADIW       R28, 1
;__Lib_Lcd.c,184 :: 		
;__Lib_Lcd.c,187 :: 		
0x04BC	0xC00F    	RJMP       L_Lcd_Out11
;__Lib_Lcd.c,188 :: 		
L_Lcd_Out13:
0x04BE	0xE8B0    	LDI        R27, 128
0x04C0	0x83BD    	STD        Y+5, R27
0x04C2	0xC019    	RJMP       L_Lcd_Out12
;__Lib_Lcd.c,189 :: 		
L_Lcd_Out14:
0x04C4	0xECB0    	LDI        R27, 192
0x04C6	0x83BD    	STD        Y+5, R27
0x04C8	0xC016    	RJMP       L_Lcd_Out12
;__Lib_Lcd.c,190 :: 		
L_Lcd_Out15:
0x04CA	0xE9B4    	LDI        R27, 148
0x04CC	0x83BD    	STD        Y+5, R27
0x04CE	0xC013    	RJMP       L_Lcd_Out12
;__Lib_Lcd.c,191 :: 		
L_Lcd_Out16:
0x04D0	0xEDB4    	LDI        R27, 212
0x04D2	0x83BD    	STD        Y+5, R27
0x04D4	0xC010    	RJMP       L_Lcd_Out12
;__Lib_Lcd.c,192 :: 		
L_Lcd_Out17:
0x04D6	0xE8B0    	LDI        R27, 128
0x04D8	0x83BD    	STD        Y+5, R27
;__Lib_Lcd.c,193 :: 		
0x04DA	0xC00D    	RJMP       L_Lcd_Out12
L_Lcd_Out11:
0x04DC	0x810D    	LDD        R16, Y+5
0x04DE	0x3001    	CPI        R16, 1
0x04E0	0xF371    	BREQ       L_Lcd_Out13
L__Lcd_Out35:
0x04E2	0x810D    	LDD        R16, Y+5
0x04E4	0x3002    	CPI        R16, 2
0x04E6	0xF371    	BREQ       L_Lcd_Out14
L__Lcd_Out36:
0x04E8	0x810D    	LDD        R16, Y+5
0x04EA	0x3003    	CPI        R16, 3
0x04EC	0xF371    	BREQ       L_Lcd_Out15
L__Lcd_Out37:
0x04EE	0x810D    	LDD        R16, Y+5
0x04F0	0x3004    	CPI        R16, 4
0x04F2	0xF371    	BREQ       L_Lcd_Out16
L__Lcd_Out38:
0x04F4	0xCFF0    	RJMP       L_Lcd_Out17
L_Lcd_Out12:
;__Lib_Lcd.c,194 :: 		
0x04F6	0x811E    	LDD        R17, Y+6
0x04F8	0x5011    	SUBI       R17, 1
0x04FA	0x810D    	LDD        R16, Y+5
0x04FC	0x0F01    	ADD        R16, R17
0x04FE	0x830D    	STD        Y+5, R16
;__Lib_Lcd.c,196 :: 		
0x0500	0x930F    	PUSH       R16
0x0502	0xDF63    	RCALL      _Lcd_Cmd+0
0x0504	0xB7AD    	IN         R26, SPL
0x0506	0xB7BE    	IN         R27, SPH
0x0508	0x9611    	ADIW       R26, 1

⌨️ 快捷键说明

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