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

📄 gps.lss

📁 手持式GPS导航系统-源码
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     76e:	0b 2d       	mov	r16, r11
     770:	10 e0       	ldi	r17, 0x00	; 0
     772:	0c 5d       	subi	r16, 0xDC	; 220
     774:	1e 4f       	sbci	r17, 0xFE	; 254
     776:	24 e6       	ldi	r18, 0x64	; 100
     778:	30 e0       	ldi	r19, 0x00	; 0
     77a:	40 e0       	ldi	r20, 0x00	; 0
     77c:	50 e0       	ldi	r21, 0x00	; 0
     77e:	b2 d6       	rcall	.+3428   	; 0x14e4 <__udivmodsi4>
     780:	20 5d       	subi	r18, 0xD0	; 208
     782:	f8 01       	movw	r30, r16
     784:	20 83       	st	Z, r18
     786:	b3 94       	inc	r11
					speed_angle_kph_temp%=100;
     788:	6f 2d       	mov	r22, r15
     78a:	7e 2d       	mov	r23, r14
     78c:	8d 2d       	mov	r24, r13
     78e:	9c 2d       	mov	r25, r12
     790:	24 e6       	ldi	r18, 0x64	; 100
     792:	30 e0       	ldi	r19, 0x00	; 0
     794:	40 e0       	ldi	r20, 0x00	; 0
     796:	50 e0       	ldi	r21, 0x00	; 0
     798:	a5 d6       	rcall	.+3402   	; 0x14e4 <__udivmodsi4>
     79a:	f6 2e       	mov	r15, r22
     79c:	e7 2e       	mov	r14, r23
     79e:	d8 2e       	mov	r13, r24
     7a0:	c9 2e       	mov	r12, r25

					speed[i++] =  speed_angle_kph_temp/10 + '0';
     7a2:	0b 2d       	mov	r16, r11
     7a4:	10 e0       	ldi	r17, 0x00	; 0
     7a6:	0c 5d       	subi	r16, 0xDC	; 220
     7a8:	1e 4f       	sbci	r17, 0xFE	; 254
     7aa:	2a e0       	ldi	r18, 0x0A	; 10
     7ac:	30 e0       	ldi	r19, 0x00	; 0
     7ae:	40 e0       	ldi	r20, 0x00	; 0
     7b0:	50 e0       	ldi	r21, 0x00	; 0
     7b2:	98 d6       	rcall	.+3376   	; 0x14e4 <__udivmodsi4>
     7b4:	20 5d       	subi	r18, 0xD0	; 208
     7b6:	f8 01       	movw	r30, r16
     7b8:	20 83       	st	Z, r18
     7ba:	b3 94       	inc	r11
					speed[i++] =  speed_angle_kph_temp%10 + '0';
     7bc:	0b 2d       	mov	r16, r11
     7be:	10 e0       	ldi	r17, 0x00	; 0
     7c0:	0c 5d       	subi	r16, 0xDC	; 220
     7c2:	1e 4f       	sbci	r17, 0xFE	; 254
     7c4:	6f 2d       	mov	r22, r15
     7c6:	7e 2d       	mov	r23, r14
     7c8:	8d 2d       	mov	r24, r13
     7ca:	9c 2d       	mov	r25, r12
     7cc:	2a e0       	ldi	r18, 0x0A	; 10
     7ce:	30 e0       	ldi	r19, 0x00	; 0
     7d0:	40 e0       	ldi	r20, 0x00	; 0
     7d2:	50 e0       	ldi	r21, 0x00	; 0
     7d4:	87 d6       	rcall	.+3342   	; 0x14e4 <__udivmodsi4>
     7d6:	60 5d       	subi	r22, 0xD0	; 208
     7d8:	f8 01       	movw	r30, r16
     7da:	60 83       	st	Z, r22
     7dc:	0b 2d       	mov	r16, r11
     7de:	0f 5f       	subi	r16, 0xFF	; 255
					speed[i++] = ' ';
     7e0:	e0 2f       	mov	r30, r16
     7e2:	f0 e0       	ldi	r31, 0x00	; 0
     7e4:	ec 5d       	subi	r30, 0xDC	; 220
     7e6:	fe 4f       	sbci	r31, 0xFE	; 254
     7e8:	80 e2       	ldi	r24, 0x20	; 32
     7ea:	80 83       	st	Z, r24
     7ec:	0f 5f       	subi	r16, 0xFF	; 255
					speed[i++] = 'K';
     7ee:	e0 2f       	mov	r30, r16
     7f0:	f0 e0       	ldi	r31, 0x00	; 0
     7f2:	ec 5d       	subi	r30, 0xDC	; 220
     7f4:	fe 4f       	sbci	r31, 0xFE	; 254
     7f6:	8b e4       	ldi	r24, 0x4B	; 75
     7f8:	80 83       	st	Z, r24
     7fa:	0f 5f       	subi	r16, 0xFF	; 255
					speed[i++] = 'P';
     7fc:	e0 2f       	mov	r30, r16
     7fe:	f0 e0       	ldi	r31, 0x00	; 0
     800:	ec 5d       	subi	r30, 0xDC	; 220
     802:	fe 4f       	sbci	r31, 0xFE	; 254
     804:	80 e5       	ldi	r24, 0x50	; 80
     806:	80 83       	st	Z, r24
     808:	0f 5f       	subi	r16, 0xFF	; 255
					speed[i++] = 'H';
     80a:	e0 2f       	mov	r30, r16
     80c:	f0 e0       	ldi	r31, 0x00	; 0
     80e:	ec 5d       	subi	r30, 0xDC	; 220
     810:	fe 4f       	sbci	r31, 0xFE	; 254
     812:	88 e4       	ldi	r24, 0x48	; 72
     814:	80 83       	st	Z, r24
					speed[i++] = '\0';
     816:	0f 5f       	subi	r16, 0xFF	; 255
     818:	e0 2f       	mov	r30, r16
     81a:	f0 e0       	ldi	r31, 0x00	; 0
     81c:	ec 5d       	subi	r30, 0xDC	; 220
     81e:	fe 4f       	sbci	r31, 0xFE	; 254
     820:	10 82       	st	Z, r1
				}
			
					LCD_print12(0,0,speed);	/*速度,单位MPH*/
     822:	44 e2       	ldi	r20, 0x24	; 36
     824:	51 e0       	ldi	r21, 0x01	; 1
     826:	60 e0       	ldi	r22, 0x00	; 0
     828:	70 e0       	ldi	r23, 0x00	; 0
     82a:	80 e0       	ldi	r24, 0x00	; 0
     82c:	90 e0       	ldi	r25, 0x00	; 0
     82e:	41 d3       	rcall	.+1666   	; 0xeb2 <LCD_print12>

			#if ANGLE_DIRECTION	
			
				LCD_print12(0,12,angle);/*方位角*/
     830:	43 e3       	ldi	r20, 0x33	; 51
     832:	51 e0       	ldi	r21, 0x01	; 1
     834:	6c e0       	ldi	r22, 0x0C	; 12
     836:	70 e0       	ldi	r23, 0x00	; 0
     838:	80 e0       	ldi	r24, 0x00	; 0
     83a:	90 e0       	ldi	r25, 0x00	; 0
     83c:	3a d3       	rcall	.+1652   	; 0xeb2 <LCD_print12>
     83e:	e7 e0       	ldi	r30, 0x07	; 7
				speed_angle_kph_temp = 0;	/*清零*/
				for(i=7;;i++)			/*找到小数点前有几位数*/
				{
					if(angle[i] == '.')break;
     840:	ae 2f       	mov	r26, r30
     842:	b0 e0       	ldi	r27, 0x00	; 0
     844:	ad 5c       	subi	r26, 0xCD	; 205
     846:	be 4f       	sbci	r27, 0xFE	; 254
     848:	8c 91       	ld	r24, X
     84a:	8e 32       	cpi	r24, 0x2E	; 46
     84c:	11 f0       	breq	.+4      	; 0x852 <main+0x380>

			#if ANGLE_DIRECTION	
			
				LCD_print12(0,12,angle);/*方位角*/
				speed_angle_kph_temp = 0;	/*清零*/
				for(i=7;;i++)			/*找到小数点前有几位数*/
     84e:	ef 5f       	subi	r30, 0xFF	; 255
     850:	f7 cf       	rjmp	.-18     	; 0x840 <main+0x36e>
				{
					if(angle[i] == '.')break;
				}
				speed_angle_kph_temp += angle[i+1]-'0';	/*小数点后一位*/
     852:	11 96       	adiw	r26, 0x01	; 1
     854:	8c 91       	ld	r24, X
     856:	90 e0       	ldi	r25, 0x00	; 0
     858:	c0 97       	sbiw	r24, 0x30	; 48
     85a:	6c 01       	movw	r12, r24
     85c:	ee 24       	eor	r14, r14
     85e:	d7 fc       	sbrc	r13, 7
     860:	e0 94       	com	r14
     862:	fe 2c       	mov	r15, r14
				
				for(j=10,i--;i>=7;i--,j*=10)		/*小数点前的数放大10倍*/
     864:	0e 2f       	mov	r16, r30
     866:	01 50       	subi	r16, 0x01	; 1
     868:	9a e0       	ldi	r25, 0x0A	; 10
     86a:	89 2e       	mov	r8, r25
     86c:	91 2c       	mov	r9, r1
     86e:	a1 2c       	mov	r10, r1
     870:	b1 2c       	mov	r11, r1
     872:	1d c0       	rjmp	.+58     	; 0x8ae <main+0x3dc>
				{
					speed_angle_kph_temp += (angle[i]-'0')*j;
     874:	e0 2f       	mov	r30, r16
     876:	f0 e0       	ldi	r31, 0x00	; 0
     878:	ed 5c       	subi	r30, 0xCD	; 205
     87a:	fe 4f       	sbci	r31, 0xFE	; 254
     87c:	60 81       	ld	r22, Z
     87e:	70 e0       	ldi	r23, 0x00	; 0
     880:	60 53       	subi	r22, 0x30	; 48
     882:	70 40       	sbci	r23, 0x00	; 0
     884:	88 27       	eor	r24, r24
     886:	77 fd       	sbrc	r23, 7
     888:	80 95       	com	r24
     88a:	98 2f       	mov	r25, r24
     88c:	a5 01       	movw	r20, r10
     88e:	94 01       	movw	r18, r8
     890:	fe d5       	rcall	.+3068   	; 0x148e <__mulsi3>
     892:	c6 0e       	add	r12, r22
     894:	d7 1e       	adc	r13, r23
     896:	e8 1e       	adc	r14, r24
     898:	f9 1e       	adc	r15, r25
				{
					if(angle[i] == '.')break;
				}
				speed_angle_kph_temp += angle[i+1]-'0';	/*小数点后一位*/
				
				for(j=10,i--;i>=7;i--,j*=10)		/*小数点前的数放大10倍*/
     89a:	01 50       	subi	r16, 0x01	; 1
     89c:	c5 01       	movw	r24, r10
     89e:	b4 01       	movw	r22, r8
     8a0:	2a e0       	ldi	r18, 0x0A	; 10
     8a2:	30 e0       	ldi	r19, 0x00	; 0
     8a4:	40 e0       	ldi	r20, 0x00	; 0
     8a6:	50 e0       	ldi	r21, 0x00	; 0
     8a8:	f2 d5       	rcall	.+3044   	; 0x148e <__mulsi3>
     8aa:	4b 01       	movw	r8, r22
     8ac:	5c 01       	movw	r10, r24
     8ae:	07 30       	cpi	r16, 0x07	; 7
     8b0:	08 f7       	brcc	.-62     	; 0x874 <main+0x3a2>
				{
					speed_angle_kph_temp += (angle[i]-'0')*j;

				}	
				/*根据值确定方向*/
				if(speed_angle_kph_temp>3375 || speed_angle_kph_temp < 226)
     8b2:	d7 01       	movw	r26, r14
     8b4:	c6 01       	movw	r24, r12
     8b6:	82 5e       	subi	r24, 0xE2	; 226
     8b8:	90 40       	sbci	r25, 0x00	; 0
     8ba:	a0 40       	sbci	r26, 0x00	; 0
     8bc:	b0 40       	sbci	r27, 0x00	; 0
     8be:	8e 54       	subi	r24, 0x4E	; 78
     8c0:	9c 40       	sbci	r25, 0x0C	; 12
     8c2:	a0 40       	sbci	r26, 0x00	; 0
     8c4:	b0 40       	sbci	r27, 0x00	; 0
     8c6:	18 f0       	brcs	.+6      	; 0x8ce <main+0x3fc>
					LCD_print12(0,24,"--> North");
     8c8:	4a e7       	ldi	r20, 0x7A	; 122
     8ca:	50 e0       	ldi	r21, 0x00	; 0
     8cc:	50 c0       	rjmp	.+160    	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>2925)
     8ce:	2e e6       	ldi	r18, 0x6E	; 110
     8d0:	c2 16       	cp	r12, r18
     8d2:	2b e0       	ldi	r18, 0x0B	; 11
     8d4:	d2 06       	cpc	r13, r18
     8d6:	20 e0       	ldi	r18, 0x00	; 0
     8d8:	e2 06       	cpc	r14, r18
     8da:	20 e0       	ldi	r18, 0x00	; 0
     8dc:	f2 06       	cpc	r15, r18
     8de:	18 f0       	brcs	.+6      	; 0x8e6 <main+0x414>
					LCD_print12(0,24,"--> North West");
     8e0:	44 e8       	ldi	r20, 0x84	; 132
     8e2:	50 e0       	ldi	r21, 0x00	; 0
     8e4:	44 c0       	rjmp	.+136    	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>2475)
     8e6:	8c ea       	ldi	r24, 0xAC	; 172
     8e8:	c8 16       	cp	r12, r24
     8ea:	89 e0       	ldi	r24, 0x09	; 9
     8ec:	d8 06       	cpc	r13, r24
     8ee:	80 e0       	ldi	r24, 0x00	; 0
     8f0:	e8 06       	cpc	r14, r24
     8f2:	80 e0       	ldi	r24, 0x00	; 0
     8f4:	f8 06       	cpc	r15, r24
     8f6:	18 f0       	brcs	.+6      	; 0x8fe <main+0x42c>
					LCD_print12(0,24,"--> West");
     8f8:	43 e9       	ldi	r20, 0x93	; 147
     8fa:	50 e0       	ldi	r21, 0x00	; 0
     8fc:	38 c0       	rjmp	.+112    	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>2025)
     8fe:	ea ee       	ldi	r30, 0xEA	; 234
     900:	ce 16       	cp	r12, r30
     902:	e7 e0       	ldi	r30, 0x07	; 7
     904:	de 06       	cpc	r13, r30
     906:	e0 e0       	ldi	r30, 0x00	; 0
     908:	ee 06       	cpc	r14, r30
     90a:	e0 e0       	ldi	r30, 0x00	; 0
     90c:	fe 06       	cpc	r15, r30
     90e:	18 f0       	brcs	.+6      	; 0x916 <main+0x444>
					LCD_print12(0,24,"--> South West");
     910:	4c e9       	ldi	r20, 0x9C	; 156
     912:	50 e0       	ldi	r21, 0x00	; 0
     914:	2c c0       	rjmp	.+88     	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>1575)
     916:	f8 e2       	ldi	r31, 0x28	; 40
     918:	cf 16       	cp	r12, r31
     91a:	f6 e0       	ldi	r31, 0x06	; 6
     91c:	df 06       	cpc	r13, r31
     91e:	f0 e0       	ldi	r31, 0x00	; 0
     920:	ef 06       	cpc	r14, r31
     922:	f0 e0       	ldi	r31, 0x00	; 0
     924:	ff 06       	cpc	r15, r31
     926:	18 f0       	brcs	.+6      	; 0x92e <main+0x45c>
					LCD_print12(0,24,"--> South");
     928:	4b ea       	ldi	r20, 0xAB	; 171
     92a:	50 e0       	ldi	r21, 0x00	; 0
     92c:	20 c0       	rjmp	.+64     	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>1125)
     92e:	26 e6       	ldi	r18, 0x66	; 102
     930:	c2 16       	cp	r12, r18
     932:	24 e0       	ldi	r18, 0x04	; 4
     934:	d2 06       	cpc	r13, r18
     936:	20 e0       	ldi	r18, 0x00	; 0
     938:	e2 06       	cpc	r14, r18
     93a:	20 e0       	ldi	r18, 0x00	; 0
     93c:	f2 06       	cpc	r15, r18
     93e:	18 f0       	brcs	.+6      	; 0x946 <main+0x474>
					LCD_print12(0,24,"--> South East");
     940:	45 eb       	ldi	r20, 0xB5	; 181
     942:	50 e0       	ldi	r21, 0x00	; 0
     944:	14 c0       	rjmp	.+40     	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>675)
     946:	84 ea       	ldi	r24, 0xA4	; 164
     948:	c8 16       	cp	r12, r24
     94a:	82 e0       	ldi	r24, 0x02	; 2
     94c:	d8 06       	cpc	r13, r24
     94e:	80 e0       	ldi	r24, 0x00	; 0
     950:	e8 06       	cpc	r14, r24
     952:	80 e0       	ldi	r24, 0x00	; 0
     954:	f8 06       	cpc	r15, r24
     956:	18 f0       	brcs	.+6      	; 0x95e <main+0x48c>
					LCD_print12(0,24,"--> East");
     958:	44 ec       	ldi	r20, 0xC4	; 196
     95a:	50 e0       	ldi	r21, 0x00	; 0
     95c:	08 c0       	rjmp	.+16     	; 0x96e <main+0x49c>
				else if(speed_angle_kph_temp>225)
     95e:	e2 ee       	ldi	r30, 0xE2	; 226
     960:	ce 16       	cp	r12, r30
     962:	d1 04       	cpc	r13, r1
     964:	e1 04       	cpc	r14, r1
     966:	f1 04       	cpc	r15, r1
     968:	38 f0       	brcs	.+14     	; 0x978 <main+0x4a6>
					LCD_print12(0,24,"--> North East");
     96a:	4d ec       	ldi	r20, 0xCD	; 205
     96c:	50 e0       	ldi	r21, 0x00	; 0
     96e:	68 e1       	ldi	r22, 0x18	; 24
     970:	70 e0       	ldi	r23, 0x00	; 0
     972:	80 e0       	ldi	r24, 0x00	; 0
     974:	90 e0       	ldi	r25, 0x00	; 0

⌨️ 快捷键说明

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