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

📄 main.lst

📁 一個使用PIC16F877解GPS訊號的範例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   228  0441  2DCC               	goto	l53
   229                           ;GPS.C: 69: if(GpsCmd[1]=='P'){
   230  0442  0833               	movf	(_GpsCmd+1)^(0+128),w
   231  0443  3A50               	xorlw	80
   232  0444  1D03               	btfss	3,2
   233  0445  2DCC               	goto	l53
   234                           ;GPS.C: 70: if(GpsCmd[2]=='G'){
   235  0446  0834               	movf	(_GpsCmd+2)^(0+128),w
   236  0447  3A47               	xorlw	71
   237  0448  1D03               	btfss	3,2
   238  0449  2C66               	goto	l41
   239                           ;GPS.C: 71: if(GpsCmd[3]=='G'){
   240  044A  0835               	movf	(_GpsCmd+3)^(0+128),w
   241  044B  3A47               	xorlw	71
   242  044C  1D03               	btfss	3,2
   243  044D  2C55               	goto	l42
   244                           ;GPS.C: 72: if(GpsCmd[4]=='A'){
   245  044E  0836               	movf	(_GpsCmd+4)^(0+128),w
   246  044F  3A41               	xorlw	65
   247  0450  1D03               	btfss	3,2
   248  0451  2DCC               	goto	l53
   249                           ;GPS.C: 73: GpsCmd_number=1;
   250  0452  01A3               	clrf	_GpsCmd_number^(0+128)
   251  0453  0AA3               	incf	_GpsCmd_number^(0+128)
   252  0454  2C74               	goto	L17
   253                           ;GPS.C: 74: GpsCmd_mode=2;
   254                           ;GPS.C: 75: GpsSeg_count=0;
   255                           ;GPS.C: 76: GpsByte_count=0;
   256                           ;GPS.C: 77: }
   257                           ;GPS.C: 79: else if(GpsCmd[3]=='S'){
   258  0455                     l42
   259  0455  0835               	movf	(_GpsCmd+3)^(0+128),w
   260  0456  3A53               	xorlw	83
   261  0457  1D03               	btfss	3,2
   262  0458  2DCC               	goto	l53
   263                           ;GPS.C: 80: if(GpsCmd[4]=='V'){
   264  0459  0836               	movf	(_GpsCmd+4)^(0+128),w
   265  045A  3A56               	xorlw	86
   266  045B  1D03               	btfss	3,2
   267  045C  2C60               	goto	l46
   268                           ;GPS.C: 81: GpsCmd_number=2;
   269  045D  3002               	movlw	2
   270  045E  00A3               	movwf	_GpsCmd_number^(0+128)
   271  045F  2C75               	goto	L4
   272                           ;GPS.C: 82: GpsCmd_mode=2;
   273                           ;GPS.C: 83: GpsSeg_count=0;
   274                           ;GPS.C: 84: GpsByte_count=0;
   275                           ;GPS.C: 85: }
   276  0460                     l46
   277  0460  0836               	movf	(_GpsCmd+4)^(0+128),w
   278  0461  3A41               	xorlw	65
   279  0462  1D03               	btfss	3,2
   280  0463  2DCC               	goto	l53
   281                           ;GPS.C: 87: GpsCmd_number=4;
   282  0464  3004               	movlw	4
   283  0465  2C73               	goto	L2
   284                           ;GPS.C: 88: GpsCmd_mode=2;
   285                           ;GPS.C: 89: GpsSeg_count=0;
   286                           ;GPS.C: 90: GpsByte_count=0;
   287                           ;GPS.C: 91: }
   288                           ;GPS.C: 93: }
   289                           ;GPS.C: 94: else if(GpsCmd[2]=='R'){
   290  0466                     l41
   291  0466  0834               	movf	(_GpsCmd+2)^(0+128),w
   292  0467  3A52               	xorlw	82
   293  0468  1D03               	btfss	3,2
   294  0469  2DCC               	goto	l53
   295                           ;GPS.C: 95: if(GpsCmd[3]=='M'){
   296  046A  0835               	movf	(_GpsCmd+3)^(0+128),w
   297  046B  3A4D               	xorlw	77
   298  046C  1D03               	btfss	3,2
   299  046D  2DCC               	goto	l53
   300                           ;GPS.C: 96: if(GpsCmd[4]=='C'){
   301  046E  0836               	movf	(_GpsCmd+4)^(0+128),w
   302  046F  3A43               	xorlw	67
   303  0470  1D03               	btfss	3,2
   304  0471  2DCC               	goto	l53
   305                           ;GPS.C: 97: GpsCmd_number=3;
   306  0472  3003               	movlw	3
   307  0473                     L2
   308  0473  00A3               	movwf	_GpsCmd_number^(0+128)
   309  0474                     L17
   310                           ;GPS.C: 98: GpsCmd_mode=2;
   311  0474  3002               	movlw	2
   312  0475                     L4
   313  0475  00A2               	movwf	_GpsCmd_mode^(0+128)
   314                           ;GPS.C: 99: GpsSeg_count=0;
   315  0476  01A5               	clrf	_GpsSeg_count^(0+128)
   316                           ;GPS.C: 100: GpsByte_count=0;
   317  0477  01A1               	clrf	_GpsByte_count^(0+128)
   318                           ;GPS.C: 101: }
   319                           ;GPS.C: 103: }
   320                           ;GPS.C: 104: }
   321                           ;GPS.C: 105: }
   322                           ;GPS.C: 106: }
   323                           ;GPS.C: 107: }
   324                           ;GPS.C: 108: else if(GpsCmd_mode==2){
   325  0478  2DCC               	goto	l53
   326  0479                     l37
   327  0479  0822               	movf	_GpsCmd_mode^(0+128),w
   328  047A  3A02               	xorlw	2
   329  047B  1903               	btfsc	3,2
   330  047C  2DBF               	goto	l56
   331  047D  2DCC               	goto	l53
   332                           ;GPS.C: 110: switch (GpsCmd_number){
   333                           ;GPS.C: 111: case 1:
   334                           ;GPS.C: 112: switch(GpsSeg_count){
   335  047E                     l60
   336                           ;GPS.C: 113: case 2:
   337                           ;GPS.C: 114: if(GpsByte_count<9)
   338  047E  3009               	movlw	9
   339  047F  0221               	subwf	_GpsByte_count^(0+128),w
   340  0480  1C03               	btfss	3,0
   341  0481  2CB1               	goto	l63
   342  0482  2DCC               	goto	l53
   343                           ;GPS.C: 115: {
   344  0483                     l64
   345                           ;GPS.C: 118: {
   346                           ;GPS.C: 120: IntWDValue=(tmp-0x30)*0x10;
   347  0483  1283               	bcf	3,5
   348  0484  0E2F               	swapf	?a_GPS_Decode,w
   349  0485  39F0               	andlw	240
   350  0486  1683               	bsf	3,5
   351  0487  00A6               	movwf	_IntWDValue^(0+128)
   352                           ;GPS.C: 121: break;
   353  0488  2DCC               	goto	l53
   354  0489                     l65
   355                           ;GPS.C: 122: case 1:
   356                           ;GPS.C: 123: IntWDValue+=(tmp-0x30);
   357  0489  1283               	bcf	3,5
   358  048A  082F               	movf	?a_GPS_Decode,w
   359  048B  3ED0               	addlw	-48
   360  048C  1683               	bsf	3,5
   361  048D  07A6               	addwf	_IntWDValue^(0+128)
   362                           ;GPS.C: 124: break;
   363  048E  2DCC               	goto	l53
   364  048F                     l66
   365                           ;GPS.C: 125: case 2:
   366                           ;GPS.C: 126: FloatWDValue[0]=(tmp-0x30)*0x10;
   367  048F  1283               	bcf	3,5
   368  0490  0E2F               	swapf	?a_GPS_Decode,w
   369  0491  39F0               	andlw	240
   370  0492  1683               	bsf	3,5
   371  0493  2C99               	goto	L5
   372                           ;GPS.C: 127: break;
   373  0494                     l67
   374                           ;GPS.C: 128: case 3:
   375                           ;GPS.C: 129: FloatWDValue[0]=FloatWDValue[0]+(t
      +                          mp-0x30);
   376  0494  1283               	bcf	3,5
   377  0495  082F               	movf	?a_GPS_Decode,w
   378  0496  1683               	bsf	3,5
   379  0497  072F               	addwf	_FloatWDValue^(0+128),w
   380  0498  3ED0               	addlw	-48
   381  0499                     L5
   382  0499  00AF               	movwf	_FloatWDValue^(0+128)
   383                           ;GPS.C: 130: break;
   384  049A  2DCC               	goto	l53
   385  049B                     l68
   386                           ;GPS.C: 131: case 5:
   387                           ;GPS.C: 132: FloatWDValue[1]=(tmp-0x30)*0x10;
   388  049B  1283               	bcf	3,5
   389  049C  0E2F               	swapf	?a_GPS_Decode,w
   390  049D  39F0               	andlw	240
   391  049E  2CA3               	goto	L6
   392                           ;GPS.C: 133: break;
   393  049F                     l69
   394                           ;GPS.C: 134: case 6:
   395                           ;GPS.C: 135: FloatWDValue[1]=FloatWDValue[1]+(t
      +                          mp-0x30);
   396  049F  0830               	movf	(_FloatWDValue+1)^(0+128),w
   397  04A0  1283               	bcf	3,5
   398  04A1  072F               	addwf	?a_GPS_Decode,w
   399  04A2  3ED0               	addlw	-48
   400  04A3                     L6
   401  04A3  1683               	bsf	3,5
   402  04A4  00B0               	movwf	(_FloatWDValue+1)^(0+128)
   403                           ;GPS.C: 136: break;
   404  04A5  2DCC               	goto	l53
   405  04A6                     l70
   406                           ;GPS.C: 137: case 7:
   407                           ;GPS.C: 138: FloatWDValue[2]=(tmp-0x30)*0x10;
   408  04A6  1283               	bcf	3,5
   409  04A7  0E2F               	swapf	?a_GPS_Decode,w
   410  04A8  39F0               	andlw	240
   411  04A9  2CAE               	goto	L7
   412                           ;GPS.C: 139: break;
   413  04AA                     l71
   414                           ;GPS.C: 140: case 8:
   415                           ;GPS.C: 141: FloatWDValue[2]=FloatWDValue[2]+(t
      +                          mp-0x30);
   416  04AA  0831               	movf	(_FloatWDValue+2)^(0+128),w
   417  04AB  1283               	bcf	3,5
   418  04AC  072F               	addwf	?a_GPS_Decode,w
   419  04AD  3ED0               	addlw	-48
   420  04AE                     L7
   421  04AE  1683               	bsf	3,5
   422  04AF  00B1               	movwf	(_FloatWDValue+2)^(0+128)
   423                           ;GPS.C: 142: break;
   424  04B0  2DCC               	goto	l53
   425  04B1                     l63
   426  04B1  0821               	movf	_GpsByte_count^(0+128),w
   427  04B2  1903               	btfsc	3,2
   428  04B3  2C83               	goto	l64
   429  04B4  3A01               	xorlw	1
   430  04B5  1903               	btfsc	3,2
   431  04B6  2C89               	goto	l65
   432  04B7  3A03               	xorlw	3
   433  04B8  1903               	btfsc	3,2
   434  04B9  2C8F               	goto	l66
   435  04BA  3A01               	xorlw	1
   436  04BB  1903               	btfsc	3,2
   437  04BC  2C94               	goto	l67
   438  04BD  3A06               	xorlw	6
   439  04BE  1903               	btfsc	3,2
   440  04BF  2C9B               	goto	l68
   441  04C0  3A03               	xorlw	3
   442  04C1  1903               	btfsc	3,2
   443  04C2  2C9F               	goto	l69
   444  04C3  3A01               	xorlw	1
   445  04C4  1903               	btfsc	3,2
   446  04C5  2CA6               	goto	l70
   447  04C6  3A0F               	xorlw	15
   448  04C7  1903               	btfsc	3,2
   449  04C8  2CAA               	goto	l71
   450  04C9  2DCC               	goto	l53
   451                           ;GPS.C: 144: }
   452  04CA                     l72
   453                           ;GPS.C: 146: case 3:
   454                           ;GPS.C: 147: if(GpsByte_count<1)
   455  04CA  3001               	movlw	1
   456  04CB  0221               	subwf	_GpsByte_count^(0+128),w
   457  04CC  1803               	btfsc	3,0
   458  04CD  2DCC               	goto	l53
   459                           ;GPS.C: 148: {
   460  04CE  1283               	bcf	3,5
   461  04CF  1220               	bcf	_bWD_NS/(0+8),_bWD_NS& (0+7)
   462                           ;GPS.C: 150: if(tmp=='S') bWD_NS=1;
   463  04D0  082F               	movf	?a_GPS_Decode,w
   464  04D1  3A53               	xorlw	83
   465  04D2  1D03               	btfss	3,2
   466  04D3  2DCC               	goto	l53
   467  04D4  1620               	bsf	_bWD_NS/(0+8),_bWD_NS& (0+7)
   468                           ;GPS.C: 152: }
   469                           ;GPS.C: 153: break;
   470  04D5  2DCC               	goto	l53
   471  04D6                     l75
   472                           ;GPS.C: 154: case 4:

⌨️ 快捷键说明

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