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

📄 gps.lss

📁 手持式GPS导航系统-源码
💻 LSS
📖 第 1 页 / 共 5 页
字号:
		}

		/*更新显示内容*/
		if(need_update || need_update1)
     584:	22 23       	and	r18, r18
     586:	19 f4       	brne	.+6      	; 0x58e <main+0xbc>
     588:	77 20       	and	r7, r7
     58a:	09 f4       	brne	.+2      	; 0x58e <main+0xbc>
     58c:	33 c2       	rjmp	.+1126   	; 0x9f4 <main+0x522>
		{
			need_update = 0;
			lcdClrDisBuf();			/*清显存*/
     58e:	bb d3       	rcall	.+1910   	; 0xd06 <lcdClrDisBuf>
			
			if(mode == 0)	/*坐标模式*/
     590:	55 20       	and	r5, r5
     592:	89 f4       	brne	.+34     	; 0x5b6 <main+0xe4>
			{
				LCD_print12(0,0,latitude);	/*纬度*/
     594:	43 ef       	ldi	r20, 0xF3	; 243
     596:	50 e0       	ldi	r21, 0x00	; 0
     598:	60 e0       	ldi	r22, 0x00	; 0
     59a:	70 e0       	ldi	r23, 0x00	; 0
     59c:	80 e0       	ldi	r24, 0x00	; 0
     59e:	90 e0       	ldi	r25, 0x00	; 0
     5a0:	88 d4       	rcall	.+2320   	; 0xeb2 <LCD_print12>
				LCD_print12(0,12,longitude);/*经度*/
     5a2:	41 e0       	ldi	r20, 0x01	; 1
     5a4:	51 e0       	ldi	r21, 0x01	; 1
     5a6:	6c e0       	ldi	r22, 0x0C	; 12
     5a8:	70 e0       	ldi	r23, 0x00	; 0
     5aa:	80 e0       	ldi	r24, 0x00	; 0
     5ac:	90 e0       	ldi	r25, 0x00	; 0
     5ae:	81 d4       	rcall	.+2306   	; 0xeb2 <LCD_print12>
				LCD_print12(0,24,altitude);	/*海拔*/
     5b0:	4f e0       	ldi	r20, 0x0F	; 15
     5b2:	51 e0       	ldi	r21, 0x01	; 1
     5b4:	dc c1       	rjmp	.+952    	; 0x96e <main+0x49c>
					angle[i++] = '4';
					angle[i++] = ' ';
					angle[i++] = '\0';
				#endif

				if(mile_or_km == 0)
     5b6:	66 20       	and	r6, r6
     5b8:	09 f0       	breq	.+2      	; 0x5bc <main+0xea>
     5ba:	33 c1       	rjmp	.+614    	; 0x822 <main+0x350>
     5bc:	13 e0       	ldi	r17, 0x03	; 3
				{
					speed_angle_kph_temp = 0;	/*清零*/
					for(i=3;;i++)			/*找到小数点前有几位数*/
					{
						if(speed[i] == '.')break;
     5be:	e1 2f       	mov	r30, r17
     5c0:	f0 e0       	ldi	r31, 0x00	; 0
     5c2:	ec 5d       	subi	r30, 0xDC	; 220
     5c4:	fe 4f       	sbci	r31, 0xFE	; 254
     5c6:	80 81       	ld	r24, Z
     5c8:	e1 2f       	mov	r30, r17
     5ca:	ef 5f       	subi	r30, 0xFF	; 255
     5cc:	8e 32       	cpi	r24, 0x2E	; 46
     5ce:	11 f0       	breq	.+4      	; 0x5d4 <main+0x102>
				#endif

				if(mile_or_km == 0)
				{
					speed_angle_kph_temp = 0;	/*清零*/
					for(i=3;;i++)			/*找到小数点前有几位数*/
     5d0:	1e 2f       	mov	r17, r30
     5d2:	f5 cf       	rjmp	.-22     	; 0x5be <main+0xec>
					{
						if(speed[i] == '.')break;
					}
					for(k=i+1,j=100;j!=0;k++,j/=10)	/*把小数点后的数放大1000倍*/
     5d4:	0e 2f       	mov	r16, r30
     5d6:	54 e6       	ldi	r21, 0x64	; 100
     5d8:	c5 2e       	mov	r12, r21
     5da:	d1 2c       	mov	r13, r1
     5dc:	e1 2c       	mov	r14, r1
     5de:	f1 2c       	mov	r15, r1
     5e0:	88 24       	eor	r8, r8
     5e2:	99 24       	eor	r9, r9
     5e4:	54 01       	movw	r10, r8
     5e6:	c2 e0       	ldi	r28, 0x02	; 2
     5e8:	d0 e0       	ldi	r29, 0x00	; 0
					{
						if(speed[k] == ' ')break;
     5ea:	e0 2f       	mov	r30, r16
     5ec:	f0 e0       	ldi	r31, 0x00	; 0
     5ee:	ec 5d       	subi	r30, 0xDC	; 220
     5f0:	fe 4f       	sbci	r31, 0xFE	; 254
     5f2:	60 81       	ld	r22, Z
     5f4:	60 32       	cpi	r22, 0x20	; 32
     5f6:	f1 f0       	breq	.+60     	; 0x634 <main+0x162>
						speed_angle_kph_temp += (speed[k]-'0')*j;
     5f8:	70 e0       	ldi	r23, 0x00	; 0
     5fa:	60 53       	subi	r22, 0x30	; 48
     5fc:	70 40       	sbci	r23, 0x00	; 0
     5fe:	88 27       	eor	r24, r24
     600:	77 fd       	sbrc	r23, 7
     602:	80 95       	com	r24
     604:	98 2f       	mov	r25, r24
     606:	a7 01       	movw	r20, r14
     608:	96 01       	movw	r18, r12
     60a:	41 d7       	rcall	.+3714   	; 0x148e <__mulsi3>
     60c:	86 0e       	add	r8, r22
     60e:	97 1e       	adc	r9, r23
     610:	a8 1e       	adc	r10, r24
     612:	b9 1e       	adc	r11, r25
					speed_angle_kph_temp = 0;	/*清零*/
					for(i=3;;i++)			/*找到小数点前有几位数*/
					{
						if(speed[i] == '.')break;
					}
					for(k=i+1,j=100;j!=0;k++,j/=10)	/*把小数点后的数放大1000倍*/
     614:	c7 01       	movw	r24, r14
     616:	b6 01       	movw	r22, r12
     618:	2a e0       	ldi	r18, 0x0A	; 10
     61a:	30 e0       	ldi	r19, 0x00	; 0
     61c:	40 e0       	ldi	r20, 0x00	; 0
     61e:	50 e0       	ldi	r21, 0x00	; 0
     620:	61 d7       	rcall	.+3778   	; 0x14e4 <__udivmodsi4>
     622:	c9 01       	movw	r24, r18
     624:	da 01       	movw	r26, r20
     626:	6c 01       	movw	r12, r24
     628:	7d 01       	movw	r14, r26
     62a:	20 97       	sbiw	r28, 0x00	; 0
     62c:	19 f0       	breq	.+6      	; 0x634 <main+0x162>
     62e:	0f 5f       	subi	r16, 0xFF	; 255
     630:	21 97       	sbiw	r28, 0x01	; 1
     632:	db cf       	rjmp	.-74     	; 0x5ea <main+0x118>
					{
						if(speed[k] == ' ')break;
						speed_angle_kph_temp += (speed[k]-'0')*j;
					}	

					for(j=1000,k=i-1;k>=3;k--,j*=10)		/*小数点前的数放大1000倍*/
     634:	01 2f       	mov	r16, r17
     636:	01 50       	subi	r16, 0x01	; 1
     638:	48 ee       	ldi	r20, 0xE8	; 232
     63a:	c4 2e       	mov	r12, r20
     63c:	43 e0       	ldi	r20, 0x03	; 3
     63e:	d4 2e       	mov	r13, r20
     640:	e1 2c       	mov	r14, r1
     642:	f1 2c       	mov	r15, r1
     644:	1d c0       	rjmp	.+58     	; 0x680 <main+0x1ae>
					{
						speed_angle_kph_temp += (speed[k]-'0')*j;
     646:	e0 2f       	mov	r30, r16
     648:	f0 e0       	ldi	r31, 0x00	; 0
     64a:	ec 5d       	subi	r30, 0xDC	; 220
     64c:	fe 4f       	sbci	r31, 0xFE	; 254
     64e:	60 81       	ld	r22, Z
     650:	70 e0       	ldi	r23, 0x00	; 0
     652:	60 53       	subi	r22, 0x30	; 48
     654:	70 40       	sbci	r23, 0x00	; 0
     656:	88 27       	eor	r24, r24
     658:	77 fd       	sbrc	r23, 7
     65a:	80 95       	com	r24
     65c:	98 2f       	mov	r25, r24
     65e:	a7 01       	movw	r20, r14
     660:	96 01       	movw	r18, r12
     662:	15 d7       	rcall	.+3626   	; 0x148e <__mulsi3>
     664:	86 0e       	add	r8, r22
     666:	97 1e       	adc	r9, r23
     668:	a8 1e       	adc	r10, r24
     66a:	b9 1e       	adc	r11, r25
					{
						if(speed[k] == ' ')break;
						speed_angle_kph_temp += (speed[k]-'0')*j;
					}	

					for(j=1000,k=i-1;k>=3;k--,j*=10)		/*小数点前的数放大1000倍*/
     66c:	01 50       	subi	r16, 0x01	; 1
     66e:	c7 01       	movw	r24, r14
     670:	b6 01       	movw	r22, r12
     672:	2a e0       	ldi	r18, 0x0A	; 10
     674:	30 e0       	ldi	r19, 0x00	; 0
     676:	40 e0       	ldi	r20, 0x00	; 0
     678:	50 e0       	ldi	r21, 0x00	; 0
     67a:	09 d7       	rcall	.+3602   	; 0x148e <__mulsi3>
     67c:	6b 01       	movw	r12, r22
     67e:	7c 01       	movw	r14, r24
     680:	03 30       	cpi	r16, 0x03	; 3
     682:	08 f7       	brcc	.-62     	; 0x646 <main+0x174>
					{
						speed_angle_kph_temp += (speed[k]-'0')*j;
					}
			
					speed_angle_kph_temp *= 16093;		/*转成公里*/
     684:	c5 01       	movw	r24, r10
     686:	b4 01       	movw	r22, r8
     688:	2d ed       	ldi	r18, 0xDD	; 221
     68a:	3e e3       	ldi	r19, 0x3E	; 62
     68c:	40 e0       	ldi	r20, 0x00	; 0
     68e:	50 e0       	ldi	r21, 0x00	; 0
     690:	fe d6       	rcall	.+3580   	; 0x148e <__mulsi3>
					speed_angle_kph_temp /= 10000;		/*缩小到放大1000倍的值*/	
     692:	20 e1       	ldi	r18, 0x10	; 16
     694:	37 e2       	ldi	r19, 0x27	; 39
     696:	40 e0       	ldi	r20, 0x00	; 0
     698:	50 e0       	ldi	r21, 0x00	; 0
     69a:	24 d7       	rcall	.+3656   	; 0x14e4 <__udivmodsi4>
     69c:	12 2f       	mov	r17, r18
     69e:	03 2f       	mov	r16, r19
     6a0:	f4 2e       	mov	r15, r20
     6a2:	e5 2e       	mov	r14, r21

					i = 3;
					if((j = speed_angle_kph_temp/100000)!=0)speed[i++] =  j + '0';
     6a4:	62 2f       	mov	r22, r18
     6a6:	73 2f       	mov	r23, r19
     6a8:	84 2f       	mov	r24, r20
     6aa:	95 2f       	mov	r25, r21
     6ac:	20 ea       	ldi	r18, 0xA0	; 160
     6ae:	36 e8       	ldi	r19, 0x86	; 134
     6b0:	41 e0       	ldi	r20, 0x01	; 1
     6b2:	50 e0       	ldi	r21, 0x00	; 0
     6b4:	17 d7       	rcall	.+3630   	; 0x14e4 <__udivmodsi4>
     6b6:	c9 01       	movw	r24, r18
     6b8:	da 01       	movw	r26, r20
     6ba:	00 97       	sbiw	r24, 0x00	; 0
     6bc:	a1 05       	cpc	r26, r1
     6be:	b1 05       	cpc	r27, r1
     6c0:	19 f4       	brne	.+6      	; 0x6c8 <main+0x1f6>
     6c2:	33 e0       	ldi	r19, 0x03	; 3
     6c4:	b3 2e       	mov	r11, r19
     6c6:	05 c0       	rjmp	.+10     	; 0x6d2 <main+0x200>
     6c8:	80 5d       	subi	r24, 0xD0	; 208
     6ca:	80 93 27 01 	sts	0x0127, r24
     6ce:	24 e0       	ldi	r18, 0x04	; 4
     6d0:	b2 2e       	mov	r11, r18
					speed_angle_kph_temp%=100000;	
     6d2:	61 2f       	mov	r22, r17
     6d4:	70 2f       	mov	r23, r16
     6d6:	8f 2d       	mov	r24, r15
     6d8:	9e 2d       	mov	r25, r14
     6da:	20 ea       	ldi	r18, 0xA0	; 160
     6dc:	36 e8       	ldi	r19, 0x86	; 134
     6de:	41 e0       	ldi	r20, 0x01	; 1
     6e0:	50 e0       	ldi	r21, 0x00	; 0
     6e2:	00 d7       	rcall	.+3584   	; 0x14e4 <__udivmodsi4>
     6e4:	16 2f       	mov	r17, r22
     6e6:	07 2f       	mov	r16, r23
     6e8:	f8 2e       	mov	r15, r24
     6ea:	e9 2e       	mov	r14, r25

					if((j = speed_angle_kph_temp/10000)!=0)speed[i++] =  j + '0';
     6ec:	20 e1       	ldi	r18, 0x10	; 16
     6ee:	37 e2       	ldi	r19, 0x27	; 39
     6f0:	40 e0       	ldi	r20, 0x00	; 0
     6f2:	50 e0       	ldi	r21, 0x00	; 0
     6f4:	f7 d6       	rcall	.+3566   	; 0x14e4 <__udivmodsi4>
     6f6:	c9 01       	movw	r24, r18
     6f8:	da 01       	movw	r26, r20
     6fa:	00 97       	sbiw	r24, 0x00	; 0
     6fc:	a1 05       	cpc	r26, r1
     6fe:	b1 05       	cpc	r27, r1
     700:	39 f0       	breq	.+14     	; 0x710 <main+0x23e>
     702:	eb 2d       	mov	r30, r11
     704:	f0 e0       	ldi	r31, 0x00	; 0
     706:	ec 5d       	subi	r30, 0xDC	; 220
     708:	fe 4f       	sbci	r31, 0xFE	; 254
     70a:	80 5d       	subi	r24, 0xD0	; 208
     70c:	80 83       	st	Z, r24
     70e:	b3 94       	inc	r11
					speed_angle_kph_temp%=10000;
     710:	61 2f       	mov	r22, r17
     712:	70 2f       	mov	r23, r16
     714:	8f 2d       	mov	r24, r15
     716:	9e 2d       	mov	r25, r14
     718:	20 e1       	ldi	r18, 0x10	; 16
     71a:	37 e2       	ldi	r19, 0x27	; 39
     71c:	40 e0       	ldi	r20, 0x00	; 0
     71e:	50 e0       	ldi	r21, 0x00	; 0
     720:	e1 d6       	rcall	.+3522   	; 0x14e4 <__udivmodsi4>
     722:	f6 2e       	mov	r15, r22
     724:	e7 2e       	mov	r14, r23
     726:	d8 2e       	mov	r13, r24
     728:	c9 2e       	mov	r12, r25

					speed[i++] =  speed_angle_kph_temp/1000 + '0';
     72a:	0b 2d       	mov	r16, r11
     72c:	10 e0       	ldi	r17, 0x00	; 0
     72e:	0c 5d       	subi	r16, 0xDC	; 220
     730:	1e 4f       	sbci	r17, 0xFE	; 254
     732:	28 ee       	ldi	r18, 0xE8	; 232
     734:	33 e0       	ldi	r19, 0x03	; 3
     736:	40 e0       	ldi	r20, 0x00	; 0
     738:	50 e0       	ldi	r21, 0x00	; 0
     73a:	d4 d6       	rcall	.+3496   	; 0x14e4 <__udivmodsi4>
     73c:	20 5d       	subi	r18, 0xD0	; 208
     73e:	f8 01       	movw	r30, r16
     740:	20 83       	st	Z, r18
     742:	0b 2d       	mov	r16, r11
     744:	0f 5f       	subi	r16, 0xFF	; 255
					speed_angle_kph_temp%=1000;
     746:	6f 2d       	mov	r22, r15
     748:	7e 2d       	mov	r23, r14
     74a:	8d 2d       	mov	r24, r13
     74c:	9c 2d       	mov	r25, r12
     74e:	28 ee       	ldi	r18, 0xE8	; 232
     750:	33 e0       	ldi	r19, 0x03	; 3
     752:	40 e0       	ldi	r20, 0x00	; 0
     754:	50 e0       	ldi	r21, 0x00	; 0
     756:	c6 d6       	rcall	.+3468   	; 0x14e4 <__udivmodsi4>
     758:	f6 2e       	mov	r15, r22
     75a:	e7 2e       	mov	r14, r23
     75c:	d8 2e       	mov	r13, r24
     75e:	c9 2e       	mov	r12, r25

					speed[i++] = '.';
     760:	e0 2f       	mov	r30, r16
     762:	f0 e0       	ldi	r31, 0x00	; 0
     764:	ec 5d       	subi	r30, 0xDC	; 220
     766:	fe 4f       	sbci	r31, 0xFE	; 254
     768:	30 82       	st	Z, r3
     76a:	b0 2e       	mov	r11, r16
     76c:	b3 94       	inc	r11

					speed[i++] =  speed_angle_kph_temp/100 + '0';

⌨️ 快捷键说明

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