📄 gps20080503icc.lst
字号:
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 + -