数据的字节数。Р数据…:为实际的数据转换为ASCII码,个数为字节数乘2。Р异或:异或从设备地址到异或字节前,异或值转换成2个ASCII码РCR:0x0d。Р----------------------------------------------------------Р有了这些资料,程序就不难编写了。Р先测试一下。Р到proteus中,全速运行,这就打开了串口窗口。Р在kingview中单击“读取”(见上一篇的最后一个图),可以看到如下字串:Р@02E000000176 Р这个数据字串与地址,数据类型等有关,解读如下:Р变量名Р类型Р字头Р设备地址Р标志Р数据地址Р数据字节Р异或РCRРX0РBYTEР@ Р02 РE0Р0000 Р01Р76РCRРX1РBYTEР@ Р02РE0Р0001Р01Р77РCRРXOРSHORTР@ Р02РA4Р0000Р02Р75 РCRРX1РSHORTР@ Р02РA4Р0001Р02Р74РCRРX0РFLOATР@ Р02РECР0000Р04Р00РCRРX1РFLOATР@ Р02РECР0001Р04Р01РCRР Р如果切换成HEX显示,则可以看到字头和字Р如:Р@02A400010274РHEX显示为:Р40 30 32 41 34 30 30 30 31 30 32 37 34 0DР其中取异或的,不包括字头40H,即从30H开始的10个字符,异或算出来后,转换成ASCII码成为其后的2个字符,即0D前的两个字符。以上面的数字为例,异或算出来为74H,转换成ASCII码为37H和34H。Р不多说啦,上一个写好的程序:Р#include "reg52.h"Р/*11.0592MР19200 bpsР*/Рtypedef unsigned char uchar;Рtypedef unsigned int uint;