?? gps.asm
字號(hào):
CONVEGPS5:
MOV DPH,R1
MOV DPL,R0
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOV R1,DPH
MOV R0,DPL
LCALL DASCTOBCD
MOV A,R5
MOV DPH,R3
MOV DPL,R2
MOVX @DPTR,A
INC DPTR
MOV R3,DPH
MOV R2,DPL
DJNZ R4,CONVEGPS5
RET
;***************************************************************
;功能說(shuō)明:提取有關(guān)GPS數(shù)據(jù)到FC201發(fā)送緩沖區(qū); *
;函數(shù)名: PAKGPS *
;所用的寄存器:R0,R1,R2,R3,R4,DPTR *
;入口參數(shù): DGPSLAT,DGPSLON,DGPSSPD,DGPSDEG,DGPSHGH,DGPSTIME*
; TAXISTATUS,PEOPLECOUNT,ICSTATUS,STATUSVALUE *
;中間參數(shù): ENCRYPT,ENCPN,ENCTEMP1,ENCRADIX1,ENCRADIX2 *
;出口參數(shù): TXFCBUFF *
;子程序編號(hào): *
;***************************************************************
ENCRYPT:DB 89H,76H,38H,30H,15H,0FAH,0E9H,7CH,68H,50H
PAKGPS:
MOV DPTR,#ENCRYPT
MOV A,ENCPN
MOVC A,@A+DPTR
MOV ENCVALUE,A
INC ENCPN
MOV A,ENCPN
XRL A,#10
JNZ PAKGPS0
MOV ENCPN,#0
PAKGPS0:LCALL WDOG
MOV A,ENCVALUE
ANL A,#0F0H
MOV ENCTEMP1,A
MOV DPTR,#(DGPSTIME+4) ;取分鐘的高字節(jié)ddmmyyhh[mm]ss
MOVX A,@DPTR
ANL A,#0F0H
SWAP A
ORL A,ENCTEMP1
MOV ENCRADIX1,A ;加密基數(shù)1
MOV A,ENCVALUE
ANL A,#0FH
SWAP A
MOV ENCTEMP1,A
MOV DPTR,#(DGPSTIME+4)
MOVX A,@DPTR
ANL A,#0FH
ORL A,ENCTEMP1
MOV ENCRADIX2,A ;加密基數(shù)二
;----------------------------------加密狀態(tài)
MOV DPTR,#TAXISTATUS
MOVX A,@DPTR
XRL A,ENCVALUE
MOV DPTR,#TXFCBUFF
MOVX @DPTR,A
;----------------------------------;送緯度
MOV DPTR,#DGPSLAT
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+1)
MOV R4,#4
ENCLAT: LCALL WDOG
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCRADIX1
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCLAT
;------------------------------------;送經(jīng)度
MOV DPTR,#DGPSLON
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+5)
MOV R4,#4
ENCLON:
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCRADIX2
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCLON
;-------------------------------------;送海拔高度
MOV DPTR,#DGPSHGH
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+13)
MOV R4,#4
ENCHGH: LCALL WDOG
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCRADIX2
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCHGH
;-------------------------------------;送速度
MOV DPTR,#DGPSSPD
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+9)
MOV R4,#2
ENCSPD:
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCVALUE
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCSPD
;-------------------------------------;送方位角
MOV DPTR,#DGPSDEG
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+11)
MOV R4,#2
ENCDEG: LCALL WDOG
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCVALUE
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCDEG
;------------------------------------;送時(shí)間日期[DDMMYYHHMMSS]->[DDMMHHMMSS]
MOV DPTR,#DGPSTIME
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+17)
MOV R4,#2
ENCTIME0: ;取出DDMM
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCVALUE
XRL A,#47H
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCTIME0
MOV DPTR,#(DGPSTIME+3)
MOV R2,DPL
MOV R3,DPH
MOV DPTR,#(TXFCBUFF+19)
MOV R4,#3
ENCTIME1: ;取了HHMMSS
MOV R0,DPL
MOV R1,DPH
MOV DPL,R2
MOV DPH,R3
MOVX A,@DPTR
XRL A,ENCVALUE
XRL A,#47H
INC DPTR
MOV R2,DPL
MOV R3,DPH
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC DPTR
DJNZ R4,ENCTIME1
;---------------------------------------;送人數(shù)
MOV DPTR,#PEOPLECOUNT
MOVX A,@DPTR
MOVX @DPTR,A
;---------------------------------------;送加密基數(shù)
INC DPTR
MOV A,ENCVALUE
XRL A,#55H
XRL A,#36H
MOVX @DPTR,A
;---------------------------------------;送IC狀態(tài)
LCALL WDOG
INC DPTR
MOV R0,DPL
MOV R1,DPH
MOV DPTR,#ICSTATUS
MOVX A,@DPTR
MOV B,A
MOV A,ENCVALUE
XRL A,B
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
;--------------------------------------;送IC狀態(tài)2
INC DPTR
MOV R0,DPL
MOV R1,DPH
MOV DPTR,#STATUSVALUE
MOVX A,@DPTR
MOV B,A
MOV A,ENCVALUE
XRL A,B
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
;--------------------------------------;送待定值
LCALL WDOG
INC DPTR
MOV R0,DPL
MOV R1,DPH
MOV DPTR,#DGPSLAT
MOVX A,@DPTR
XRL A,#25H
MOV R3,A
INC DPTR
MOVX A,@DPTR
XRL 3H,A
INC DPTR
MOVX A,@DPTR
XRL 3H,A
INC DPTR
MOVX A,@DPTR
XRL 3H,A
MOV DPTR,#DGPSLON
MOVX A,@DPTR
XRL A,#25H
MOV R3,A
INC DPTR
MOVX A,@DPTR
XRL 3H,A
INC DPTR
MOVX A,@DPTR
XRL 3H,A
INC DPTR
MOVX A,@DPTR
XRL 3H,A
MOV DPH,R0
MOV DPL,R1
MOVX @DPTR,A
LCALL FCENCCODE
RET
;*********************************************
;功能說(shuō)明:替換發(fā)送到中心數(shù)據(jù)中的某些數(shù)據(jù) *
;函數(shù)名:FCENCCODE *
;替換值:00H|0DH|11H|13H| *
;調(diào)用方法:LCALL FCENCCODE *
;入口參數(shù):TXFCBUFF[27]|TXFCBUFF[28] *
; TXFCBUFF[29]|TXFCBUFF[30] *
;*********************************************
FCENCCODE:
;--------------------------------------替換00H
MOV R0,#80H
MOV A,#31
MOV R1,#40 ;在80H-A8H賦值31-70
CHG00: MOV @R0,A
INC R0
INC A
DJNZ R1,CHG00
;-------------------------------
MOV R0,#80H
MOV R1,#26
MOV DPTR,#TXFCBUFF
CHG01: MOVX A,@DPTR
MOV B,A
CLR C
SUBB A,#31
JC CHG02
MOV A,B
CLR C
SUBB A,#70
JNC CHG02
MOV A,B
SUBB A,#30
ADD A,#80H
MOV R0,A
MOV @R0,#0
CHG02: INC DPTR
DJNZ R1,CHG01
LCALL WDOG
CHG03: MOV R0,#80H
MOV R1,#40
CHG04: MOV A,@R0
MOV B,A
INC R0
XRL A,#00
JNZ CHG05
DJNZ R1,CHG04
CHG05: MOV DPTR,#TXFCBUFF
MOV R1,#26
CHG06: MOVX A,@DPTR
XRL A,#00
JNZ CHG07
MOV A,B
MOVX @DPTR,A
CHG07: INC DPTR
DJNZ R1,CHG06
LCALL WDOG
MOV DPTR,#(TXFCBUFF+27) ;保存替代值
MOV A,B
MOVX @DPTR,A
;----------------------------------替換0DH
MOV R0,#80H
MOV A,#71
MOV R1,#40
CHG10: MOV @R0,A
INC R0
INC A
DJNZ R1,CHG10
;
MOV R0,#80H
MOV R1,#26
MOV DPTR,#TXFCBUFF
CHG11: MOVX A,@DPTR
MOV B,A
CLR C
SUBB A,#71
JC CHG12
MOV A,B
CLR C
SUBB A,#110
JNC CHG12
MOV A,B
SUBB A,#70
ADD A,#80H
MOV R0,A
MOV @R0,#0DH
CHG12: INC DPTR
DJNZ R1,CHG11
CHG13: MOV R0,#80H
MOV R1,#40
CHG14: MOV A,@R0
MOV B,A
INC R0
XRL A,#0DH
JNZ CHG15
DJNZ R1,CHG14
CHG15: MOV DPTR,#TXFCBUFF
MOV R1,#26
CHG16: MOVX A,@DPTR
XRL A,#0DH
JNZ CHG17
MOV A,B
MOVX @DPTR,A
CHG17: INC DPTR
D
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -