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

📄 gps-1280.lst

📁 u-blox的GPS模块LEA-5x,三本例子为ATMEGA1280对他的操作的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
     1B1 DF7A      RCALL	_dtoc
     1B2 2EE0      MOV	R14,R16
     1B3 01CE      MOVW	R24,R28
     1B4 01FB      MOVW	R30,R22
     1B5 0FE8      ADD	R30,R24
     1B6 1FF9      ADC	R31,R25
     1B7 82E0      STD	Z+0,R14
(0137)   cBuf=(lBuf%1000)/100;
     1B8 EE28      LDI	R18,0xE8
     1B9 E033      LDI	R19,3
     1BA 0186      MOVW	R16,R12
     1BB 940E 05BF CALL	mod16u
     1BD E624      LDI	R18,0x64
     1BE E030      LDI	R19,0
     1BF 940E 05C1 CALL	div16u
(0138)   debug_string[i++]=dtoc(cBuf);
     1C1 01BA      MOVW	R22,R20
     1C2 5F4F      SUBI	R20,0xFF
     1C3 4F5F      SBCI	R21,0xFF
     1C4 DF67      RCALL	_dtoc
     1C5 2EE0      MOV	R14,R16
     1C6 01CE      MOVW	R24,R28
     1C7 01FB      MOVW	R30,R22
     1C8 0FE8      ADD	R30,R24
     1C9 1FF9      ADC	R31,R25
     1CA 82E0      STD	Z+0,R14
(0139)   cBuf=(lBuf%100)/10;
     1CB E624      LDI	R18,0x64
     1CC E030      LDI	R19,0
     1CD 0186      MOVW	R16,R12
     1CE 940E 05BF CALL	mod16u
     1D0 E02A      LDI	R18,0xA
     1D1 E030      LDI	R19,0
     1D2 940E 05C1 CALL	div16u
(0140)   debug_string[i++]=dtoc(cBuf);
     1D4 01BA      MOVW	R22,R20
     1D5 5F4F      SUBI	R20,0xFF
     1D6 4F5F      SBCI	R21,0xFF
     1D7 DF54      RCALL	_dtoc
     1D8 2EE0      MOV	R14,R16
     1D9 01CE      MOVW	R24,R28
     1DA 01FB      MOVW	R30,R22
     1DB 0FE8      ADD	R30,R24
     1DC 1FF9      ADC	R31,R25
     1DD 82E0      STD	Z+0,R14
(0141)   cBuf=lBuf%10;
     1DE E02A      LDI	R18,0xA
     1DF E030      LDI	R19,0
     1E0 0186      MOVW	R16,R12
     1E1 940E 05BF CALL	mod16u
(0142)   debug_string[i++]=dtoc(cBuf);
     1E3 01BA      MOVW	R22,R20
     1E4 5F4F      SUBI	R20,0xFF
     1E5 4F5F      SBCI	R21,0xFF
     1E6 DF45      RCALL	_dtoc
     1E7 2EA0      MOV	R10,R16
     1E8 01CE      MOVW	R24,R28
     1E9 01FB      MOVW	R30,R22
     1EA 0FE8      ADD	R30,R24
     1EB 1FF9      ADC	R31,R25
     1EC 82A0      STD	Z+0,R10
(0143) 
(0144)   debug_send_chars(debug_string,i);
     1ED 019A      MOVW	R18,R20
     1EE 018E      MOVW	R16,R28
     1EF DEEA      RCALL	_debug_send_chars
(0145)   debug_send_string("\n",1);
     1F0 E021      LDI	R18,1
     1F1 E030      LDI	R19,0
     1F2 E000      LDI	R16,0
     1F3 E012      LDI	R17,2
     1F4 DEF9      RCALL	_debug_send_string
     1F5 962A      ADIW	R28,0xA
     1F6 940C 0662 JMP	pop_xgsetF0FC
_debug_num_ulong:
  debug_string         --> Y,+0
  i                    --> R20
  cBuf                 --> R10
  lBuf                 --> Y,+18
     1F8 940E 059C CALL	push_arg4
     1FA 940E 0690 CALL	push_xgsetF03C
     1FC 972A      SBIW	R28,0xA
(0146) #else
(0147)     lBuf=0;
(0148) #endif
(0149) }
(0150) /*************************************************
(0151) 
(0152) *************************************************/
(0153) void debug_num_ulong(unsigned long lBuf)
(0154) {
(0155) #ifdef DEBUG
(0156)   unsigned char debug_string[10];
(0157)   unsigned char cBuf;
(0158)   unsigned int i=0;
     1FD 2744      CLR	R20
     1FE 2755      CLR	R21
(0159) 
(0160)   cBuf=(lBuf%1000000)/100000;
     1FF E480      LDI	R24,0x40
     200 E492      LDI	R25,0x42
     201 E0AF      LDI	R26,0xF
     202 E0B0      LDI	R27,0
     203 890A      LDD	R16,Y+18
     204 891B      LDD	R17,Y+19
     205 892C      LDD	R18,Y+20
     206 893D      LDD	R19,Y+21
     207 93BA      ST	R27,-Y
     208 93AA      ST	R26,-Y
     209 939A      ST	R25,-Y
     20A 938A      ST	R24,-Y
     20B 940E 05DD CALL	mod32u
     20D EA80      LDI	R24,0xA0
     20E E896      LDI	R25,0x86
     20F E0A1      LDI	R26,1
     210 E0B0      LDI	R27,0
     211 93BA      ST	R27,-Y
     212 93AA      ST	R26,-Y
     213 939A      ST	R25,-Y
     214 938A      ST	R24,-Y
     215 940E 05DB CALL	div32u
(0161)   debug_string[i++]=dtoc(cBuf);
     217 011A      MOVW	R2,R20
     218 5F4F      SUBI	R20,0xFF
     219 4F5F      SBCI	R21,0xFF
     21A 922F      PUSH	R2
     21B 923F      PUSH	R3
     21C DF0F      RCALL	_dtoc
     21D 903F      POP	R3
     21E 902F      POP	R2
     21F 01CE      MOVW	R24,R28
     220 01F1      MOVW	R30,R2
     221 0FE8      ADD	R30,R24
     222 1FF9      ADC	R31,R25
     223 8300      STD	Z+0,R16
(0162)   cBuf=(lBuf%100000)/10000;
     224 EA80      LDI	R24,0xA0
     225 E896      LDI	R25,0x86
     226 E0A1      LDI	R26,1
     227 E0B0      LDI	R27,0
     228 890A      LDD	R16,Y+18
     229 891B      LDD	R17,Y+19
     22A 892C      LDD	R18,Y+20
     22B 893D      LDD	R19,Y+21
     22C 93BA      ST	R27,-Y
     22D 93AA      ST	R26,-Y
     22E 939A      ST	R25,-Y
     22F 938A      ST	R24,-Y
     230 940E 05DD CALL	mod32u
     232 E180      LDI	R24,0x10
     233 E297      LDI	R25,0x27
     234 E0A0      LDI	R26,0
     235 E0B0      LDI	R27,0
     236 93BA      ST	R27,-Y
     237 93AA      ST	R26,-Y
     238 939A      ST	R25,-Y
     239 938A      ST	R24,-Y
     23A 940E 05DB CALL	div32u
(0163)   debug_string[i++]=dtoc(cBuf);
     23C 01BA      MOVW	R22,R20
     23D 5F4F      SUBI	R20,0xFF
     23E 4F5F      SBCI	R21,0xFF
     23F DEEC      RCALL	_dtoc
     240 2EC0      MOV	R12,R16
     241 01CE      MOVW	R24,R28
     242 01FB      MOVW	R30,R22
     243 0FE8      ADD	R30,R24
     244 1FF9      ADC	R31,R25
     245 82C0      STD	Z+0,R12
(0164)   cBuf=(lBuf%10000)/1000;
     246 E180      LDI	R24,0x10
     247 E297      LDI	R25,0x27
     248 E0A0      LDI	R26,0
     249 E0B0      LDI	R27,0
     24A 890A      LDD	R16,Y+18
     24B 891B      LDD	R17,Y+19
     24C 892C      LDD	R18,Y+20
     24D 893D      LDD	R19,Y+21
     24E 93BA      ST	R27,-Y
     24F 93AA      ST	R26,-Y
     250 939A      ST	R25,-Y
     251 938A      ST	R24,-Y
     252 940E 05DD CALL	mod32u
     254 EE88      LDI	R24,0xE8
     255 E093      LDI	R25,3
     256 E0A0      LDI	R26,0
     257 E0B0      LDI	R27,0
     258 93BA      ST	R27,-Y
     259 93AA      ST	R26,-Y
     25A 939A      ST	R25,-Y
     25B 938A      ST	R24,-Y
     25C 940E 05DB CALL	div32u
(0165)   debug_string[i++]=dtoc(cBuf);
     25E 01BA      MOVW	R22,R20
     25F 5F4F      SUBI	R20,0xFF
     260 4F5F      SBCI	R21,0xFF
     261 DECA      RCALL	_dtoc
     262 2EC0      MOV	R12,R16
     263 01CE      MOVW	R24,R28
     264 01FB      MOVW	R30,R22
     265 0FE8      ADD	R30,R24
     266 1FF9      ADC	R31,R25
     267 82C0      STD	Z+0,R12
(0166)   cBuf=(lBuf%1000)/100;
     268 EE88      LDI	R24,0xE8
     269 E093      LDI	R25,3
     26A E0A0      LDI	R26,0
     26B E0B0      LDI	R27,0
     26C 890A      LDD	R16,Y+18
     26D 891B      LDD	R17,Y+19
     26E 892C      LDD	R18,Y+20
     26F 893D      LDD	R19,Y+21
     270 93BA      ST	R27,-Y
     271 93AA      ST	R26,-Y
     272 939A      ST	R25,-Y
     273 938A      ST	R24,-Y
     274 940E 05DD CALL	mod32u
     276 E684      LDI	R24,0x64
     277 E090      LDI	R25,0
     278 E0A0      LDI	R26,0
     279 E0B0      LDI	R27,0
     27A 93BA      ST	R27,-Y
     27B 93AA      ST	R26,-Y
     27C 939A      ST	R25,-Y
     27D 938A      ST	R24,-Y
     27E 940E 05DB CALL	div32u
(0167)   debug_string[i++]=dtoc(cBuf);
     280 01BA      MOVW	R22,R20
     281 5F4F      SUBI	R20,0xFF
     282 4F5F      SBCI	R21,0xFF
     283 DEA8      RCALL	_dtoc
     284 2EC0      MOV	R12,R16
     285 01CE      MOVW	R24,R28
     286 01FB      MOVW	R30,R22
     287 0FE8      ADD	R30,R24
     288 1FF9      ADC	R31,R25
     289 82C0      STD	Z+0,R12
(0168)   cBuf=(lBuf%100)/10;
     28A E684      LDI	R24,0x64
     28B E090      LDI	R25,0
     28C E0A0      LDI	R26,0
     28D E0B0      LDI	R27,0
     28E 890A      LDD	R16,Y+18
     28F 891B      LDD	R17,Y+19
     290 892C      LDD	R18,Y+20
     291 893D      LDD	R19,Y+21
     292 93BA      ST	R27,-Y
     293 93AA      ST	R26,-Y
     294 939A      ST	R25,-Y
     295 938A      ST	R24,-Y
     296 940E 05DD CALL	mod32u
     298 E08A      LDI	R24,0xA
     299 E090      LDI	R25,0
     29A E0A0      LDI	R26,0
     29B E0B0      LDI	R27,0
     29C 93BA      ST	R27,-Y
     29D 93AA      ST	R26,-Y
     29E 939A      ST	R25,-Y
     29F 938A      ST	R24,-Y
     2A0 940E 05DB CALL	div32u
(0169)   debug_string[i++]=dtoc(cBuf);
     2A2 01BA      MOVW	R22,R20
     2A3 5F4F      SUBI	R20,0xFF
     2A4 4F5F      SBCI	R21,0xFF
     2A5 DE86      RCALL	_dtoc
     2A6 2EC0      MOV	R12,R16
     2A7 01CE      MOVW	R24,R28
     2A8 01FB      MOVW	R30,R22
     2A9 0FE8      ADD	R30,R24
     2AA 1FF9      ADC	R31,R25
     2AB 82C0      STD	Z+0,R12
(0170)   cBuf=lBuf%10;
     2AC E08A      LDI	R24,0xA
     2AD E090      LDI	R25,0
     2AE E0A0      LDI	R26,0
     2AF E0B0      LDI	R27,0
     2B0 890A      LDD	R16,Y+18
     2B1 891B      LDD	R17,Y+19
     2B2 892C      LDD	R18,Y+20
     2B3 893D      LDD	R19,Y+21
     2B4 93BA      ST	R27,-Y
     2B5 93AA      ST	R26,-Y
     2B6 939A      ST	R25,-Y
     2B7 938A      ST	R24,-Y
     2B8 940E 05DD CALL	mod32u
(0171)   debug_string[i++]=dtoc(cBuf);
     2BA 01BA      MOVW	R22,R20
     2BB 5F4F      SUBI	R20,0xFF
     2BC 4F5F      SBCI	R21,0xFF
     2BD DE6E      RCALL	_dtoc
     2BE 2EA0      MOV	R10,R16
     2BF 01CE      MOVW	R24,R28
     2C0 01FB      MOVW	R30,R22
     2C1 0FE8      ADD	R30,R24
     2C2 1FF9      ADC	R31,R25
     2C3 82A0      STD	Z+0,R10
(0172) 
(0173)   debug_send_chars(debug_string,i);
     2C4 019A      MOVW	R18,R20
     2C5 018E      MOVW	R16,R28
     2C6 DE13      RCALL	_debug_send_chars
(0174)   debug_send_string("\n",1);
     2C7 E021      LDI	R18,1
     2C8 E030      LDI	R19,0
     2C9 E000      LDI	R16,0
     2CA E012      LDI	R17,2
     2CB DE22      RCALL	_debug_send_string
     2CC 962A      ADIW	R28,0xA
     2CD 940E 0699 CALL	pop_xgsetF03C
     2CF 9624      ADIW	R28,4
     2D0 9508      RET
_debug_uchar_original_shape:
  accii_L              --> R10
  accii_H              --> R12
  ucData               --> R10
     2D1 92AA      ST	R10,-Y
     2D2 92CA      ST	R12,-Y
     2D3 2EA0      MOV	R10,R16
(0175) #else
(0176)     lBuf=0;
(0177) #endif
(0178) }
(0179) /*************************************************
(0180) 
(0181) *************************************************/
(0182) void debug_uchar_original_shape(unsigned char ucData)
(0183) {
(0184)   unsigned char accii_H=char_buf[ucData/16];
     2D4 E120      LDI	R18,0x10
     2D5 E030      LDI	R19,0
     2D6 2D0A      MOV	R16,R10
     2D7 2711      CLR	R17
     2D8 940E 05A5 CALL	div16s
     2DA 01F8      MOVW	R30,R16
     2DB EE84      LDI	R24,0xE4
     2DC E090      LDI	R25,0
     2DD 0FE8      ADD	R30,R24
     2DE 1FF9      ADC	R31,R25
     2DF 90C6      ELPM	R12,0(Z)
(0185)   unsigned char accii_L=char_buf[ucData-(ucData/16)*16];
     2E0 2D8A      MOV	R24,R10
     2E1 9582      SWAP	R24
     2E2 708F      ANDI	R24,0xF
     2E3 E190      LDI	R25,0x10
     2E4 9F98      MUL	R25,R24
     2E5 2DEA      MOV	R30,R10
     2E6 27FF      CLR	R31
     2E7 19E0      SUB	R30,R0
     2E8 09F1      SBC	R31,R1
     2E9 EE84      LDI	R24,0xE4
     2EA E090      LDI	R25,0
     2EB 0FE8      ADD	R30,R24
     2EC 1FF9      ADC	R31,R25
     2ED 90A6      ELPM	R10,0(Z)
(0186)   //debug_send_char('0');
(0187)   //debug_send_char('x');
(0188)   debug_send_char(accii_H);
     2EE 2D0C      MOV	R16,R12
     2EF DDE3      RCALL	_debug_send_char
(0189)   debug_send_char(accii_L);
     2F0 2D0A      MOV	R16,R10
     2F1 DDE1      RCALL	_debug_send_char
(0190)   debug_send_char(' ');
     2F2 E200      LDI	R16,0x20
     2F3 DDDF      RCALL	_debug_send_char
     2F4 90C9      LD	R12,Y+
     2F5 90A9      LD	R10,Y+
     2F6 9508      RET
_debug_uchars_original_shape:
  i                    --> R20
  len                  --> R10
  ucData               --> R12
     2F7 940E 0682 CALL	push_xgset303C
     2F9 0159      MOVW	R10,R18
     2FA 0168      MOVW	R12,R16
(0191) }
(0192) /*************************************************
(0193) 
(0194) *************************************************/
(0195) void debug_uchars_original_shape(unsigned char *ucData,unsigned int len)
(0196) {
(0197)   unsigned int i;
(0198) 
(0199)   for(i=0;i<len;i++)
     2FB 2744      CLR	R20
     2FC 2755      CLR	R21
     2FD C007      RJMP	0x0305
(0200)   {
(0201)     debug_uchar_original_shape(ucData[i]);
     2FE 01FA      MOVW	R30,R20
     2FF 0DEC      ADD	R30,R12
     300 1DFD      ADC	R31,R13
     301 8100      LDD	R16,Z+0
     302 DFCE      RCALL	_debug_uchar_original_shape
     303 5F4F      SUBI	R20,0xFF
     304 4F5F      SBCI	R21,0xFF
     305 154A      CP	R20,R10
     306 055B      CPC	R21,R11
     307 F3B0      BCS	0x02FE
(0202)   }
(0203)   debug_send_string("\n",1);
     308 E021      LDI	R18,1
     309 E030      LDI	R19,0
     30A E000      LDI	R16,0
     30B E012      LDI	R17,2

⌨️ 快捷键说明

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