实例如下。 @@Hb021C07D4092D280001121A000000000000 00000000000000000000000000000000000000016088 0000503035463039 转化成16进制的数是021C07D4092D280001,对应的时间是2.28.2004.9:45:40:0001。 对于模拟串口而言,首先应当明确采用哪一种执行方式。其次,就是选定通信波特率。最后就是确定具体的硬件结构。这里采用起始位为1bit,终止位为1bit,无奇偶校验位,波特率为9600,晶振频率为11.0592MHz。处理流程如图4所示。 MRXD代表一个1比特的位地址,它用于检测串口通信起始位,终止位的有效性;MTXD代表一个1比特的位地址,它用于发送串口通信所需的起始位,终止位;CONT代表一个计数器,用于控制所发比特的个数。 源代码。 PCON EQU 87H HEAD EQU 20H INT_OK BIT 08H ORG 0000H LJMP START ORG 0023h LJMP RECIEVE ORG 0100H START: MOV PSW,#00H MOV SP,#70H MOV TMOD,#20H MOV TH1,#0FAH MOV TL1,#0FAH MOV PCON.#80H SETB EA SETB TR1 SETB ES SETB P1.0 CLR INT_OK MOV SCON,#70H MOV DPTR,#TAB1 MOV R7,#11H SEND1: CLR A MOVC A,@A DPTR MOV SBUF,A SWAIT1: ;发送@@Gb数据帧,初始化时间偏移 JNB TI,SWAIT1 CLR TI INC DPTR DJNZ R7,SEND1 MOV DPTR,#TAB2 MOV R7,#08H SEND2: CLR A MOVC A ,@A DPTR MOV SBUF,A SWAIT2: ;发送@@Hb数据帧,启动GPS JNB TI,SWAIT2 CLR TI INC DPTR DJNZ R7,SEND2 MOV R5,#00H STOP_HERE: ;检测接收到的数据帧是否有效 JNB INT_OK,STOP_HERE MOV DPTR,#TAB3 MOV RO,#65H MOV R7,#03H TIME_1: ;与规定的时间相比较,相等时置中断标志位 CLR A ;不相等时重新接收 MOVC A ,@A DPTR MOV @RO,A INC RO INC DPTR DJNZ R7,TIME_1 MOV RO,#36H MOV R1,#65H MOV R7,#03H ACALL CMP CJNE A ,#00H,WAIT CPL P1.0 WAIT: CLR INT_OK AJMP STOP_HERE RECIEVE: ;接收程序,完成接收,校验,置中断标志位的功能 PUSH PSW PUSH ACC CLR ES CLR RI MOV PSW,#08H MOV A,SBUF CJNE A ,#40H,STOP RR1: JNB RI,RR1 CLR RI MOV A ,SBUF CJNE A ,#40H,STOP;前两个字节若为@@继续, 否则,跳出 MOV RO,#30H MOV R7,#34H RR2: JNB RI,RR2 CLR RI MOV A ,SBUF MOV @RO,A INC RO DJNZ R7,RR2 MOV RO,#30H MOV R7,#30H ACALL TEST MOV A,@RO CJNE A ,20H,STOP SETB INT_OK;置中断标志位 STOP: POP ACC POP PSW SETB ES RETI TEST: MOV A,@RO MOV 20H,A INC RO TT1: MOV A,@RO XRL 20H,A INC RO DJNZ R7,TT1 RET CMP: MOV A ,@RO MOV B,A MOV A,@R1 CJNE A ,B,CMP1 INC R0 INC R1 DJNZ R7,CMP MOV A,#00H LJMP CMP3 CMP1: JC CMP2 MOV A,#OFFH LJMP CMP3 CMP2: MOV A,#01H CMP3: RET TAB1: DB 40H,40H,47H,62H,01H,01H,07H,0D4H,0CH,00H,00H,00H,08H, 00H,0D9H,0DH.0AH TAB2: DB 40H,40H,48H,62H,01H,2BH.0DH,0AH TAB3: DB 0BH,10H,01H END总结 本文主要介绍了如何使用Motorola公司生产的M12 GPS接收器来完成继电保护检测装置的异地双端同步试验,该模块大大提高了继电保护测试水平和工作效率,并且有效减少了人为误差,防止了继电保护及其安全自动装置的不正确动作。
|