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

📄 avr_gy-27.lst

📁 GY-27资料源码 ADXL345 HMC5883L
💻 LST
📖 第 1 页 / 共 5 页
字号:
     287 940E 031F CALL	elpm32
     289 933A      ST	R19,-Y
     28A 932A      ST	R18,-Y
     28B 931A      ST	R17,-Y
     28C 930A      ST	R16,-Y
     28D 0181      MOVW	R16,R2
     28E 0192      MOVW	R18,R4
     28F 940E 0409 CALL	fpadd2
     291 830C      STD	Y+4,R16
     292 831D      STD	Y+5,R17
     293 832E      STD	Y+6,R18
     294 833F      STD	Y+7,R19
(0054)      angle*=10;
     295 EE04      LDI	R16,0xE4
     296 E010      LDI	R17,0
     297 940E 031F CALL	elpm32
     299 01CE      MOVW	R24,R28
     29A 9604      ADIW	R24,4
     29B 939A      ST	R25,-Y
     29C 938A      ST	R24,-Y
     29D 940E 0601 CALL	fpmule1
     29F 830C      STD	Y+4,R16
     2A0 831D      STD	Y+5,R17
     2A1 832E      STD	Y+6,R18
     2A2 833F      STD	Y+7,R19
(0055) 
(0056)     conversion(angle);          //转换出显示需要的数据
     2A3 810C      LDD	R16,Y+4
     2A4 811D      LDD	R17,Y+5
     2A5 812E      LDD	R18,Y+6
     2A6 813F      LDD	R19,Y+7
     2A7 940E 042D CALL	fpint
     2A9 DF66      RCALL	_conversion
(0057) 	LCD_write_char(0,0,'A');   //第0行,第0列 显示A
     2AA E481      LDI	R24,0x41
     2AB 8388      STD	Y+0,R24
     2AC 2722      CLR	R18
     2AD 2700      CLR	R16
     2AE DF55      RCALL	_LCD_write_char
(0058) 	LCD_write_char(1,0,'n');   //
     2AF E68E      LDI	R24,0x6E
     2B0 8388      STD	Y+0,R24
     2B1 2722      CLR	R18
     2B2 E001      LDI	R16,1
     2B3 DF50      RCALL	_LCD_write_char
(0059) 	LCD_write_char(2,0,'g');   //
     2B4 E687      LDI	R24,0x67
     2B5 8388      STD	Y+0,R24
     2B6 2722      CLR	R18
     2B7 E002      LDI	R16,2
     2B8 DF4B      RCALL	_LCD_write_char
(0060) 	LCD_write_char(3,0,'l');   //
     2B9 E68C      LDI	R24,0x6C
     2BA 8388      STD	Y+0,R24
     2BB 2722      CLR	R18
     2BC E003      LDI	R16,3
     2BD DF46      RCALL	_LCD_write_char
(0061) 	LCD_write_char(4,0,'e');   //
     2BE E685      LDI	R24,0x65
     2BF 8388      STD	Y+0,R24
     2C0 2722      CLR	R18
     2C1 E004      LDI	R16,4
     2C2 DF41      RCALL	_LCD_write_char
(0062)     LCD_write_char(5,0,':'); 
     2C3 E38A      LDI	R24,0x3A
     2C4 8388      STD	Y+0,R24
     2C5 2722      CLR	R18
     2C6 E005      LDI	R16,5
     2C7 DF3C      RCALL	_LCD_write_char
(0063)     LCD_write_char(6,0,display[1]);  
     2C8 9020 0201 LDS	R2,display+1
     2CA 8228      STD	Y+0,R2
     2CB 2722      CLR	R18
     2CC E006      LDI	R16,6
     2CD DF36      RCALL	_LCD_write_char
(0064)     LCD_write_char(7,0,display[2]); 
     2CE 9020 0202 LDS	R2,display+2
     2D0 8228      STD	Y+0,R2
     2D1 2722      CLR	R18
     2D2 E007      LDI	R16,7
     2D3 DF30      RCALL	_LCD_write_char
(0065)     LCD_write_char(8,0,display[3]); 
     2D4 9020 0203 LDS	R2,display+3
     2D6 8228      STD	Y+0,R2
     2D7 2722      CLR	R18
     2D8 E008      LDI	R16,0x8
     2D9 DF2A      RCALL	_LCD_write_char
(0066)     LCD_write_char(9,0,'.'); 
     2DA E28E      LDI	R24,0x2E
     2DB 8388      STD	Y+0,R24
     2DC 2722      CLR	R18
     2DD E009      LDI	R16,0x9
     2DE DF25      RCALL	_LCD_write_char
(0067) 	LCD_write_char(10,0,display[4]); 
     2DF 9020 0204 LDS	R2,0x0204
     2E1 8228      STD	Y+0,R2
     2E2 2722      CLR	R18
     2E3 E00A      LDI	R16,0xA
     2E4 DF1F      RCALL	_LCD_write_char
(0068) 	LCD_write_char(11,0,0xdf); 
     2E5 ED8F      LDI	R24,0xDF
     2E6 8388      STD	Y+0,R24
     2E7 2722      CLR	R18
     2E8 E00B      LDI	R16,0xB
     2E9 DF1A      RCALL	_LCD_write_char
     2EA 962C      ADIW	R28,0xC
     2EB 940C 0333 JMP	pop_xgset00FC
(0069) 	
(0070) }
(0071) 
(0072) /*******************************
(0073) 主程序
(0074) *******************************/
(0075) void main(void)
(0076) {	
(0077) 	unsigned char i;		
(0078) 	 delay_nms(50);          //lcd上电延时
_main:
  i                    --> Y,+1
     2ED E302      LDI	R16,0x32
     2EE E010      LDI	R17,0
     2EF DE00      RCALL	_delay_nms
(0079) 	 LCD_init();             //lcd初始化
     2F0 DE98      RCALL	_LCD_init
     2F1 C00A      RJMP	0x02FC
(0080)      
(0081) 	while(1){               //循环  
(0082) 	I2C_Write(0x02,0x00);   //模式寄存器写0
     2F2 2722      CLR	R18
     2F3 E002      LDI	R16,2
     2F4 DE09      RCALL	_I2C_Write
(0083) 	delay_nms(50); 
     2F5 E302      LDI	R16,0x32
     2F6 E010      LDI	R17,0
     2F7 DDF8      RCALL	_delay_nms
(0084) 	display_angle();       //显示角度
     2F8 DF5A      RCALL	_display_angle
(0085) 	delay_nms(50); 	
FILE: <library>
     2F9 E302      LDI	R16,0x32
     2FA E010      LDI	R17,0
     2FB DDF4      RCALL	_delay_nms
     2FC CFF5      RJMP	0x02F2
     2FD 9508      RET
push_arg4:
     2FE 933A      ST	R19,-Y
     2FF 932A      ST	R18,-Y
push_arg2:
     300 931A      ST	R17,-Y
     301 930A      ST	R16,-Y
     302 9508      RET
mod16u:
     303 9468      BSET	6
     304 C001      RJMP	xdiv16u
div16u:
     305 94E8      BCLR	6
xdiv16u:
     306 92EA      ST	R14,-Y
     307 92FA      ST	R15,-Y
     308 938A      ST	R24,-Y
     309 24EE      CLR	R14
     30A 24FF      CLR	R15
     30B E180      LDI	R24,0x10
     30C 0F00      LSL	R16
     30D 1F11      ROL	R17
     30E 1CEE      ROL	R14
     30F 1CFF      ROL	R15
     310 16E2      CP	R14,R18
     311 06F3      CPC	R15,R19
     312 F018      BCS	0x0316
     313 1AE2      SUB	R14,R18
     314 0AF3      SBC	R15,R19
     315 9503      INC	R16
     316 958A      DEC	R24
     317 F7A1      BNE	0x030C
     318 F416      BRTC	0x031B
     319 2D0E      MOV	R16,R14
     31A 2D1F      MOV	R17,R15
     31B 9189      LD	R24,Y+
     31C 90F9      LD	R15,Y+
     31D 90E9      LD	R14,Y+
     31E 9508      RET
elpm32:
     31F 93EA      ST	R30,-Y
     320 93FA      ST	R31,-Y
     321 920A      ST	R0,-Y
     322 2FE0      MOV	R30,R16
     323 2FF1      MOV	R31,R17
     324 95D8      ELPM
     325 2D00      MOV	R16,R0
     326 9631      ADIW	R30,1
     327 95D8      ELPM
     328 2D10      MOV	R17,R0
     329 9631      ADIW	R30,1
     32A 95D8      ELPM
     32B 2D20      MOV	R18,R0
     32C 9631      ADIW	R30,1
     32D 95D8      ELPM
     32E 2D30      MOV	R19,R0
     32F 9009      LD	R0,Y+
     330 91F9      LD	R31,Y+
     331 91E9      LD	R30,Y+
     332 9508      RET
pop_xgset00FC:
     333 90A9      LD	R10,Y+
     334 90B9      LD	R11,Y+
     335 90C9      LD	R12,Y+
     336 90D9      LD	R13,Y+
     337 90E9      LD	R14,Y+
     338 90F9      LD	R15,Y+
     339 9508      RET
push_xgsetF0FC:
     33A 937A      ST	R23,-Y
     33B 936A      ST	R22,-Y
push_xgset30FC:
     33C 935A      ST	R21,-Y
     33D 934A      ST	R20,-Y
push_xgset00FC:
     33E 92FA      ST	R15,-Y
     33F 92EA      ST	R14,-Y
push_xgset003C:
     340 92DA      ST	R13,-Y
     341 92CA      ST	R12,-Y
     342 92BA      ST	R11,-Y
     343 92AA      ST	R10,-Y
     344 9508      RET
push_xgset300C:
     345 935A      ST	R21,-Y
     346 934A      ST	R20,-Y
     347 92BA      ST	R11,-Y
     348 92AA      ST	R10,-Y
     349 9508      RET
pop_xgset300C:
     34A 90A9      LD	R10,Y+
     34B 90B9      LD	R11,Y+
     34C 9149      LD	R20,Y+
     34D 9159      LD	R21,Y+
     34E 9508      RET
push_xgsetF000:
     34F 937A      ST	R23,-Y
     350 936A      ST	R22,-Y
     351 935A      ST	R21,-Y
     352 934A      ST	R20,-Y
     353 9508      RET
pop_xgsetF000:
     354 9149      LD	R20,Y+
     355 9159      LD	R21,Y+
     356 9169      LD	R22,Y+
     357 9179      LD	R23,Y+
     358 9508      RET
push_xgsetF00C:
     359 937A      ST	R23,-Y
     35A 936A      ST	R22,-Y
     35B 935A      ST	R21,-Y
     35C 934A      ST	R20,-Y
     35D 92BA      ST	R11,-Y
     35E 92AA      ST	R10,-Y
     35F 9508      RET
pop_xgsetF00C:
     360 90A9      LD	R10,Y+
     361 90B9      LD	R11,Y+
     362 9149      LD	R20,Y+
     363 9159      LD	R21,Y+
     364 9169      LD	R22,Y+
     365 9179      LD	R23,Y+
     366 9508      RET
push_xgset303C:
     367 935A      ST	R21,-Y
     368 934A      ST	R20,-Y
     369 92DA      ST	R13,-Y
     36A 92CA      ST	R12,-Y
     36B 92BA      ST	R11,-Y
     36C 92AA      ST	R10,-Y
     36D 9508      RET
pop_xgset303C:
     36E 90A9      LD	R10,Y+
     36F 90B9      LD	R11,Y+
     370 90C9      LD	R12,Y+
     371 90D9      LD	R13,Y+
     372 9149      LD	R20,Y+
     373 9159      LD	R21,Y+
     374 9508      RET
neg32:
     375 9500      COM	R16
     376 9510      COM	R17
     377 9520      COM	R18
     378 9530      COM	R19
     379 5F0F      SUBI	R16,0xFF
     37A 4F1F      SBCI	R17,0xFF
     37B 4F2F      SBCI	R18,0xFF
     37C 4F3F      SBCI	R19,0xFF
     37D 9508      RET
lsl32:
     37E 920F      PUSH	R0
     37F 9009      LD	R0,Y+
     380 2000      TST	R0
     381 F031      BEQ	0x0388
     382 0F00      LSL	R16
     383 1F11      ROL	R17
     384 1F22      ROL	R18
     385 1F33      ROL	R19
     386 940A      DEC	R0
     387 CFF8      RJMP	0x0380
     388 900F      POP	R0
     389 9508      RET
fpsub:
     38A 9468      BSET	6
     38B C001      RJMP	fpadd_alt
fpadd:
     38C 94E8      BCLR	6
fpadd_alt:
     38D 940E 0593 CALL	saveR8toR25
     38F 940E 0529 CALL	unpacks
     391 F409      BNE	0x0393
     392 C047      RJMP	0x03DA
     393 2EE6      MOV	R14,R22
     394 2ED5      MOV	R13,R21
     395 2EC4      MOV	R12,R20
     396 2EB3      MOV	R11,R19
     397 2EA2      MOV	R10,R18
     398 2E91      MOV	R9,R17
     399 2E80      MOV	R8,R16
     39A 8100      LDD	R16,Z+0
     39B 8111      LDD	R17,Z+1
     39C 8122      LDD	R18,Z+2
     39D 8133      LDD	R19,Z+3
     39E 940E 0529 CALL	unpacks
     3A0 F409      BNE	0x03A2
     3A1 C043      RJMP	0x03E5
     3A2 2F84      MOV	R24,R20
     3A3 2F95      MOV	R25,R21
     3A4 198C      SUB	R24,R12
     3A5 099D      SBC	R25,R13
     3A6 F0B9      BEQ	0x03BE
     3A7 F472      BPL	0x03B6
     3A8 9590      COM	R25
     3A9 9580      COM	R24
     3AA 9601      ADIW	R24,1
     3AB 2D4C      MOV	R20,R12
     3AC 2D5D      MOV	R21,R13
     3AD 3188      CPI	R24,0x18
     3AE F5B0      BCC	0x03E5
     3AF 9535      ASR	R19
     3B0 9527      ROR	R18
     3B1 9517      ROR	R17
     3B2 9507      ROR	R16
     3B3 9701      SBIW	R24,1
     3B4 F7D1      BNE	0x03AF
     3B5 C008      RJMP	0x03BE
     3B6 3188      CPI	R24,0x18
     3B7 F510      BCC	0x03DA
     3B8 94B5      ASR	R11
     3B9 94A7      ROR	R10
     3BA 9497      ROR	R9
     3BB 9487      ROR	R8
     3BC 9701      SBIW	R24,1
     3BD F7D1      BNE	0x03B8
     3BE 2766      CLR	R22
     3BF F02E      BRTS	0x03C5
     3C0 0D08      ADD	R16,R8
     3C1 1D19      ADC	R17,R9
     3C2 1D2A      ADC	R18,R10
     3C3 1D3B      ADC	R19,R11
     3C4 C009      RJMP	0x03CE
     3C5 1A80      SUB	R8,R16
     3C6 0A91      SBC	R9,R17
     3C7 0AA2      SBC	R10,R18
     3C8 0AB3      SBC	R11,R19
     3C9 2D08      MOV	R16,R8
     3CA 2D19      MOV	R17,R9
     3CB 2D2A      MOV	R18,R10
     3CC 2D3B      MOV	R19,R11
     3CD 2333      TST	R19
     3CE F41A      BPL	0x03D2
     3CF 940E 0375 CALL	neg32
     3D1 E860      LDI	R22,0x80
     3D2 940E 054E CALL	normalize_and_pack
     3D4 C002      RJMP	0x03D7
     3D5 940E 057C CALL	pack
     3D7 940E 05A2 CALL	restoreR8toR25
     3D9 9508      RET
     3DA 8100      LDD	R16,Z+0
     3DB 8111      LDD	R17,Z+1
     3DC 8122      LDD	R18,Z+2
     3DD 8133      LDD	R19,Z+3
     3DE F7C6      BRTC	0x03D7
     3DF 940E 0531 CALL	tstR16_R19
     3E1 F3A9      BEQ	0x03D7
     3E2 E840      LDI	R20,0x80
     3E3 2734      EOR	R19,R20
     3E4 CFF2      RJMP	0x03D7
     3E5 2D08      MOV	R16,R8
     3E6 2D19      MOV	R17,R9
     3E7 2D2A      MOV	R18,R10
     3E8 2D3B      MOV	R19,R11
     3E9 2D4C      MOV	R20,R12
     3EA 2D5D      MOV	R21,R13
     3EB 2D6E      MOV	R22,R14
     3EC 2333      TST	R19
     3ED F73A      BPL	0x03D5
     3EE 940E 0375 CALL	neg32
     3F0 E860      LDI	R22,0x80
     3F1 CFE3      RJMP	0x03D5
fpadd1:
     3F2 93FA      ST	R31,-Y
     3F3 93EA      ST	R30,-Y
     3F4 81EA      LDD	R30,Y+2
     3F5 81FB      LDD	R31,Y+3
     3F6 940E 038C CALL	fpadd
     3F8 91E9      LD	R30,Y+
     3F9 91F9      LD	R31,Y+
     3FA 9622      ADIW	R28,2
     3FB 9508      RET
fpadd1x:
     3FC 93FA      ST	R31,-Y
     3FD 93EA      ST	R30,-Y
     3FE 81EA      LDD	R30,Y+2

⌨️ 快捷键说明

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