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

📄 gps20080503icc.lst

📁 ATmega128的GPS例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
     595 E010      LDI	R17,0
     596 DB86      RCALL	_Delay_Ms
(0142) 			while((KEY_PIN & BIT(KEY_FINISH)) == 0)
     597 9BCB      SBIS	0x19,3
     598 CFFE      RJMP	0x0597
(0143) 				;
(0144) 			key = 2;
     599 E082      LDI	R24,2
     59A 9380 007D STS	key,R24
(0145) 		}
     59C 9508      RET
_Get_GPRMC_data:
  f                    --> R14
  m                    --> R12
  n                    --> R10
     59D 940E 0995 CALL	push_xgsetF0FC
(0146) }
(0147) 
(0148) void Get_GPRMC_data(void)//提取GPRMC数据
(0149) {
(0150) 	unsigned char n=0,m=0,f=0;
     59F 24AA      CLR	R10
     5A0 24CC      CLR	R12
     5A1 24EE      CLR	R14
(0151) 	if((sink0_buf[1] == 'G')
     5A2 9180 0081 LDS	R24,sink0_buf+1
     5A4 3487      CPI	R24,0x47
     5A5 F009      BEQ	0x05A7
     5A6 C304      RJMP	0x08AB
     5A7 9180 0082 LDS	R24,sink0_buf+2
     5A9 3580      CPI	R24,0x50
     5AA F009      BEQ	0x05AC
     5AB C2FF      RJMP	0x08AB
     5AC 9180 0083 LDS	R24,sink0_buf+3
     5AE 3582      CPI	R24,0x52
     5AF F009      BEQ	0x05B1
     5B0 C2FA      RJMP	0x08AB
     5B1 9180 0084 LDS	R24,0x0084
     5B3 348D      CPI	R24,0x4D
     5B4 F009      BEQ	0x05B6
     5B5 C2F5      RJMP	0x08AB
     5B6 9180 0085 LDS	R24,0x0085
     5B8 3483      CPI	R24,0x43
     5B9 F009      BEQ	0x05BB
     5BA C2F0      RJMP	0x08AB
(0152) 	  &&(sink0_buf[2] == 'P')
(0153) 	  &&(sink0_buf[3] == 'R')
(0154) 	  &&(sink0_buf[4] == 'M')
(0155) 	  &&(sink0_buf[5] == 'C'))//GPRMC
(0156) 	{
(0157) 		LED_PORT ^= BIT(LED);
     5BB E280      LDI	R24,0x20
     5BC B228      IN	R2,0x18
     5BD 2628      EOR	R2,R24
     5BE BA28      OUT	0x18,R2
(0158) 		for(n=0;n<100;n++)
     5BF C2E7      RJMP	0x08A7
(0159) 		{	
(0160) 			if(sink0_buf[n] == ',')
     5C0 E880      LDI	R24,0x80
     5C1 E090      LDI	R25,0
     5C2 2DEA      MOV	R30,R10
     5C3 27FF      CLR	R31
     5C4 0FE8      ADD	R30,R24
     5C5 1FF9      ADC	R31,R25
     5C6 8180      LDD	R24,Z+0
     5C7 328C      CPI	R24,0x2C
     5C8 F009      BEQ	0x05CA
     5C9 C2DC      RJMP	0x08A6
(0161) 			{
(0162) 				m ++;//m表示低级个","
     5CA 94C3      INC	R12
(0163) 				if(m == 1)//第一个","后面为时间数据
     5CB 2D8C      MOV	R24,R12
     5CC 3081      CPI	R24,1
     5CD F401      BNE	0x05CE
(0164) 				{
(0165) 					//Hzk_Dis_Char(1,1,&sink0_buf[n+1],9);
(0166) 				}
(0167) 				if(m == 2)//第二个","后面为定位信息状态
     5CE 2D8C      MOV	R24,R12
     5CF 3082      CPI	R24,2
     5D0 F449      BNE	0x05DA
(0168) 				{
(0169) 					gps_status = sink0_buf[n+1]; 
     5D1 E881      LDI	R24,0x81
     5D2 E090      LDI	R25,0
     5D3 2DEA      MOV	R30,R10
     5D4 27FF      CLR	R31
     5D5 0FE8      ADD	R30,R24
     5D6 1FF9      ADC	R31,R25
     5D7 8020      LDD	R2,Z+0
     5D8 9220 0185 STS	gps_status,R2
(0170) 					//Hzk_Dis_Char(1,6,&gps_status,1);					
(0171) 				}
(0172) 				if(m == 3)//第三个","后面为纬度数据
     5DA 2D8C      MOV	R24,R12
     5DB 3083      CPI	R24,3
     5DC F009      BEQ	0x05DE
     5DD C13C      RJMP	0x071A
(0173) 				{
(0174) 					if(gps_status == 'A')
     5DE 9180 0185 LDS	R24,gps_status
     5E0 3481      CPI	R24,0x41
     5E1 F009      BEQ	0x05E3
     5E2 C137      RJMP	0x071A
(0175) 					{
(0176) 						//Hzk_Dis_Char(1,1,&sink0_buf[n+1],11);
(0177) 						latitude = (unsigned long)(sink0_buf[n+1]-0x30)*10000000
     5E3 E884      LDI	R24,0x84
     5E4 E090      LDI	R25,0
     5E5 2DEA      MOV	R30,R10
     5E6 27FF      CLR	R31
     5E7 0FE8      ADD	R30,R24
     5E8 1FF9      ADC	R31,R25
     5E9 8180      LDD	R24,Z+0
     5EA 2799      CLR	R25
     5EB 97C0      SBIW	R24,0x30
     5EC 011C      MOVW	R2,R24
     5ED 2444      CLR	R4
     5EE FC37      SBRC	R3,7
     5EF 9440      COM	R4
     5F0 2455      CLR	R5
     5F1 FC47      SBRC	R4,7
     5F2 9450      COM	R5
     5F3 EA40      LDI	R20,0xA0
     5F4 E856      LDI	R21,0x86
     5F5 E061      LDI	R22,1
     5F6 E070      LDI	R23,0
     5F7 925A      ST	R5,-Y
     5F8 924A      ST	R4,-Y
     5F9 923A      ST	R3,-Y
     5FA 922A      ST	R2,-Y
     5FB 018A      MOVW	R16,R20
     5FC 019B      MOVW	R18,R22
     5FD 940E 0956 CALL	empy32s
     5FF 0118      MOVW	R2,R16
     600 0129      MOVW	R4,R18
     601 E883      LDI	R24,0x83
     602 E090      LDI	R25,0
     603 2DEA      MOV	R30,R10
     604 27FF      CLR	R31
     605 0FE8      ADD	R30,R24
     606 1FF9      ADC	R31,R25
     607 8180      LDD	R24,Z+0
     608 2799      CLR	R25
     609 97C0      SBIW	R24,0x30
     60A 013C      MOVW	R6,R24
     60B 2488      CLR	R8
     60C FC77      SBRC	R7,7
     60D 9480      COM	R8
     60E 2499      CLR	R9
     60F FC87      SBRC	R8,7
     610 9490      COM	R9
     611 E440      LDI	R20,0x40
     612 E452      LDI	R21,0x42
     613 E06F      LDI	R22,0xF
     614 E070      LDI	R23,0
     615 929A      ST	R9,-Y
     616 928A      ST	R8,-Y
     617 927A      ST	R7,-Y
     618 926A      ST	R6,-Y
     619 018A      MOVW	R16,R20
     61A 019B      MOVW	R18,R22
     61B 940E 0956 CALL	empy32s
     61D 0138      MOVW	R6,R16
     61E 0149      MOVW	R8,R18
     61F 0C62      ADD	R6,R2
     620 1C73      ADC	R7,R3
     621 1C84      ADC	R8,R4
     622 1C95      ADC	R9,R5
     623 E886      LDI	R24,0x86
     624 E090      LDI	R25,0
     625 2DEA      MOV	R30,R10
     626 27FF      CLR	R31
     627 0FE8      ADD	R30,R24
     628 1FF9      ADC	R31,R25
     629 8180      LDD	R24,Z+0
     62A 2799      CLR	R25
     62B 97C0      SBIW	R24,0x30
     62C 011C      MOVW	R2,R24
     62D 2444      CLR	R4
     62E FC37      SBRC	R3,7
     62F 9440      COM	R4
     630 2455      CLR	R5
     631 FC47      SBRC	R4,7
     632 9450      COM	R5
     633 E140      LDI	R20,0x10
     634 E257      LDI	R21,0x27
     635 E060      LDI	R22,0
     636 E070      LDI	R23,0
     637 925A      ST	R5,-Y
     638 924A      ST	R4,-Y
     639 923A      ST	R3,-Y
     63A 922A      ST	R2,-Y
     63B 018A      MOVW	R16,R20
     63C 019B      MOVW	R18,R22
     63D 940E 0956 CALL	empy32s
     63F 0E60      ADD	R6,R16
     640 1E71      ADC	R7,R17
     641 1E82      ADC	R8,R18
     642 1E93      ADC	R9,R19
     643 E887      LDI	R24,0x87
     644 E090      LDI	R25,0
     645 2DEA      MOV	R30,R10
     646 27FF      CLR	R31
     647 0FE8      ADD	R30,R24
     648 1FF9      ADC	R31,R25
     649 8180      LDD	R24,Z+0
     64A 2799      CLR	R25
     64B 97C0      SBIW	R24,0x30
     64C 011C      MOVW	R2,R24
     64D 2444      CLR	R4
     64E FC37      SBRC	R3,7
     64F 9440      COM	R4
     650 2455      CLR	R5
     651 FC47      SBRC	R4,7
     652 9450      COM	R5
     653 EE48      LDI	R20,0xE8
     654 E053      LDI	R21,3
     655 E060      LDI	R22,0
     656 E070      LDI	R23,0
     657 925A      ST	R5,-Y
     658 924A      ST	R4,-Y
     659 923A      ST	R3,-Y
     65A 922A      ST	R2,-Y
     65B 018A      MOVW	R16,R20
     65C 019B      MOVW	R18,R22
     65D 940E 0956 CALL	empy32s
     65F 0E60      ADD	R6,R16
     660 1E71      ADC	R7,R17
     661 1E82      ADC	R8,R18
     662 1E93      ADC	R9,R19
     663 E888      LDI	R24,0x88
     664 E090      LDI	R25,0
     665 2DEA      MOV	R30,R10
     666 27FF      CLR	R31
     667 0FE8      ADD	R30,R24
     668 1FF9      ADC	R31,R25
     669 8180      LDD	R24,Z+0
     66A 2799      CLR	R25
     66B 97C0      SBIW	R24,0x30
     66C 011C      MOVW	R2,R24
     66D 2444      CLR	R4
     66E FC37      SBRC	R3,7
     66F 9440      COM	R4
     670 2455      CLR	R5
     671 FC47      SBRC	R4,7
     672 9450      COM	R5
     673 E644      LDI	R20,0x64
     674 E050      LDI	R21,0
     675 E060      LDI	R22,0
     676 E070      LDI	R23,0
     677 925A      ST	R5,-Y
     678 924A      ST	R4,-Y
     679 923A      ST	R3,-Y
     67A 922A      ST	R2,-Y
     67B 018A      MOVW	R16,R20
     67C 019B      MOVW	R18,R22
     67D 940E 0956 CALL	empy32s
     67F 0E60      ADD	R6,R16
     680 1E71      ADC	R7,R17
     681 1E82      ADC	R8,R18
     682 1E93      ADC	R9,R19
     683 E889      LDI	R24,0x89
     684 E090      LDI	R25,0
     685 2DEA      MOV	R30,R10
     686 27FF      CLR	R31
     687 0FE8      ADD	R30,R24
     688 1FF9      ADC	R31,R25
     689 8180      LDD	R24,Z+0
     68A 2799      CLR	R25
     68B 97C0      SBIW	R24,0x30
     68C 011C      MOVW	R2,R24
     68D 2444      CLR	R4
     68E FC37      SBRC	R3,7
     68F 9440      COM	R4
     690 2455      CLR	R5
     691 FC47      SBRC	R4,7
     692 9450      COM	R5
     693 E04A      LDI	R20,0xA
     694 E050      LDI	R21,0
     695 E060      LDI	R22,0
     696 E070      LDI	R23,0
     697 925A      ST	R5,-Y
     698 924A      ST	R4,-Y
     699 923A      ST	R3,-Y
     69A 922A      ST	R2,-Y
     69B 018A      MOVW	R16,R20
     69C 019B      MOVW	R18,R22
     69D 940E 0956 CALL	empy32s
     69F 0E60      ADD	R6,R16
     6A0 1E71      ADC	R7,R17
     6A1 1E82      ADC	R8,R18
     6A2 1E93      ADC	R9,R19
     6A3 E88A      LDI	R24,0x8A
     6A4 E090      LDI	R25,0
     6A5 2DEA      MOV	R30,R10
     6A6 27FF      CLR	R31
     6A7 0FE8      ADD	R30,R24
     6A8 1FF9      ADC	R31,R25
     6A9 8180      LDD	R24,Z+0
     6AA 2799      CLR	R25
     6AB 97C0      SBIW	R24,0x30
     6AC 011C      MOVW	R2,R24
     6AD 2444      CLR	R4
     6AE FC37      SBRC	R3,7
     6AF 9440      COM	R4
     6B0 2455      CLR	R5
     6B1 FC47      SBRC	R4,7
     6B2 9450      COM	R5
     6B3 0C62      ADD	R6,R2
     6B4 1C73      ADC	R7,R3
     6B5 1C84      ADC	R8,R4
     6B6 1C95      ADC	R9,R5
     6B7 E04A      LDI	R20,0xA
     6B8 E050      LDI	R21,0
     6B9 E060      LDI	R22,0
     6BA E070      LDI	R23,0
     6BB 929A      ST	R9,-Y
     6BC 928A      ST	R8,-Y
     6BD 927A      ST	R7,-Y
     6BE 926A      ST	R6,-Y
     6BF 018A      MOVW	R16,R20
     6C0 019B      MOVW	R18,R22
     6C1 940E 0956 CALL	empy32s
     6C3 E34C      LDI	R20,0x3C
     6C4 E050      LDI	R21,0
     6C5 E060      LDI	R22,0
     6C6 E070      LDI	R23,0
     6C7 937A      ST	R23,-Y
     6C8 936A      ST	R22,-Y
     6C9 935A      ST	R21,-Y
     6CA 934A      ST	R20,-Y
     6CB 940E 08EC CALL	div32u
     6CD 0118      MOVW	R2,R16
     6CE 0129      MOVW	R4,R18
     6CF E882      LDI	R24,0x82
     6D0 E090      LDI	R25,0
     6D1 2DEA      MOV	R30,R10
     6D2 27FF      CLR	R31
     6D3 0FE8      ADD	R30,R24
     6D4 1FF9      ADC	R31,R25
     6D5 8180      LDD	R24,Z+0
     6D6 2799      CLR	R25
     6D7 97C0      SBIW	R24,0x30
     6D8 013C      MOVW	R6,R24
     6D9 2488      CLR	R8
     6DA FC77      SBRC	R7,7
     6DB 9480      COM	R8
     6DC 2499      CLR	R9
     6DD FC87      SBRC	R8,7
     6DE 9490      COM	R9
     6DF E440      LDI	R20,0x40
     6E0 E452      LDI	R21,0x42
     6E1 E06F      LDI	R22,0xF
     6E2 E070      LDI	R23,0
     6E3 929A      ST	R9,-Y
     6E4 928A      ST	R8,-Y
     6E5 927A      ST	R7,-Y
     6E6 926A      ST	R6,-Y
     6E7 018A      MOVW	R16,R20
     6E8 019B      MOVW	R18,R22
     6E9 940E 0956 CALL	empy32s
     6EB 0138      MOVW	R6,R16
     6EC 0149      MOVW	R8,R18
     6ED E881      LDI	R24,0x81
     6EE E090      LDI	R25,0
     6EF 2DEA      MOV	R30,R10
     6F0 27FF      CLR	R31
     6F1 0FE8      ADD	R30,R24
     6F2 1FF9      ADC	R31,R25
     6F3 8180      LDD	R24,Z+0
     6F4 2799      CLR	R25
     6F5 97C0      SBIW	R24,0x30
     6F6 27AA      CLR	R26
     6F7 FD97      SBRC	R25,7
     6F8 95A0      COM	R26
     6F9 27BB      CLR	R27
     6FA FDA7      SBRC	R26,7
     6FB 95B0      COM	R27
     6FC E840      LDI	R20,0x80
     6FD E956      LDI	R21,0x96
     6FE E968      LDI	R22,0x98
     6FF E070      LDI	R23,0
     700 93BA      ST	R27,-Y
     701 93AA      ST	R26,-Y
     702 939A      ST	R25,-Y
     703 938A      ST	R24,-Y
     704 018A      MOVW	R16,R20
     705 019B      MOVW	R18,R22
     706 940E 0956 CALL	empy32s
     708 01A8      MOVW	R20,R16
     709 01B9      MOVW	R22,R18
     70A 0D46      ADD	R20,R6
     70B 1D57      ADC	R21,R7
     70C 1D68      ADC	R22,R8
     70D 1D79      ADC	R23,R9
     70E 0D42      ADD	R20,R2
     70F 1D53      ADC	R21,R3
     710 1D64      ADC	R22,R4
     711 1D75      ADC	R23,R5
     712 9350 018B STS	latitude+1,R21
     714 9340 018A STS	latitude,R20
     716 9370 018D STS	latitude+3,R23
     718 9360 018C STS	latitude+2,R22
(0178) 						          +(unsigned long)(sink0_buf[n+2]-0x30)*1000000
(0179) 						          +						          
(0180) 						          ((unsigned long)(sink0_buf[n+3]-0x30)*1000000//minuter
(0181) 						          +(unsigned long)(sink0_buf[n+4]-0x30)*100000
(0182) 						          +(unsigned long)(sink0_buf[n+6]-0x30)*10000
(0183) 						          +(unsigned long)(sink0_buf[n+7]-0x30)*1000
(0184) 						          +(unsigned long)(sink0_buf[n+8]-0x

⌨️ 快捷键说明

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