STC89C51单片机通讯协议

2019-04-15 15:30发布


分类: 单片机 29人阅读 评论(0) 收藏 举报 stc89c51单片机通讯协议 目录(?)[+]

说明:

         ISPSTC单片机的编程软件;          IAPCTC单片机固化的烧写软件;

1、引导码

ISP7F 7F 7F 7F 7F  ISP一直发送0x7F,直到收到IAP的回复帧; IAP68 00 39 00 09 7A 09 7A 09 7A       09 76 09 7A 09 76 09 7A 09 7A       38 43 FD F1 10 82 00 00 00 00       00 00 00 00 00 00 00 00 00 00       00 00 00 00 00 00 00 00 00 00       00 00 00 00 00 AC 16  IAP回复帧:没有帧头,有帧尾0x16,校验0xAC, 校验方式:从0x680xAC前面一个数加和,再加1,取低8位; IAP的回复帧根据单片机的晶振不同,回复的也不同,上面的是11.0592的晶振;

2、设置通讯速率

ISP46 B9 6A 00 0C 8F FF 7D 00 FE 78 80 77 16 IAP46 B9 68 00 0C 8F FF 7D 00 FE 78 80 75 16  ISP46 B9 6A 00 0B 8E FF 7D 00 FF 78 F6 16 IAP46 B9 68 00 0B 8E FF 7D 00 FF 78 F4 16 结构:Head(2) sign(1) reserve(1) length(1) frame(1) data(x) checksum(1) trail(1) Head(2) 0x46 0xb9 Sign (1) 0x6a  pc->mcu        0x68  mcu->pc Reserve (1) 0x00 Length(1) 0x0c = head + sign + reserve + length + frame + data Frame(1) 0x8F0x8E 不同的数表示不同的操作 Data(x)  Checksum(1) 0x77 headchecksum前一个字节的加和,再加1,取低8位; Trail1) 0x16

3、通讯同步

ISP46 B9 6A 00 0C 80 02 00 36 01 F1 10 30 16 IAP46 B9 68 00 06 80 EE 16 收发同步5 ISP结构:Head(2) sign(1) reserve(1) length(1) frame(1) data(x) checksum(1) trail(1) IAP结构:Head(2) sign(1) reserve(1) length(1) frame(1) checksum(1) trail(1) Frame10x80 

4、擦出命令

ISP46 B9 6A 00 0D 84 0B 33 33 33 33 33 33 38 16 IAP46 B9 68 00 06 80 EE 16 ISP结构:Head(2) sign(1) reserve(1) length(1) frame(1) data(x) checksum(1) trail(1) IAP结构:Head(2) sign(1) reserve(1) length(1) frame(1) checksum(1) trail(1) Frame10x84 擦出命令           0x80  

5、编程

ISP46 B9 6A 00 8C 00 00 00 00 00 00 80 02 0D 2F 12 13 AD 02 15 22 FF FF 02 12 B9 FF E4 33 FE E4 2F F5 82 74 F0 3E F5 83 E0 FA 12 14 55 AF 02 22 02 08 48 E4 90 00 B7 F0 90 00 B7 E0 C3 94 04 40 03 02 02 39 E0 FF 75 F0 07 A4 24 05 F5 82 E4 34 00 F5 83 E0 FE EF 75 F0 07 A4 24 67 F5 82 E4 34 00 F5 83 E0 FF 6E 60 1F EF 24 C6 90 00 B8 F0 C3 94 00 40 10 E0 FD 94 20 50 0A 90 00 B7 E0 FF 12 13 65 80 03 7F 01 22 90 00 B7 E0 FF 75 46 16 IAP46 B9 68 00 07 80 D0 BF 16 结构:Head(2) sign(1) reserve(1) length(1) frame(1) data(x) checksum(1) trail(1) Frame(1) 0x00 编程命令 ISP帧中data结构:addr(4) lenght(2)programe(128) Addr(4) 0x00 0x00 0x00 0x00 地址高位->低位,这个地址是写入单片机编程的起始地址,第1帧的地址是0x00000000,第2帧的地址是0x00000080,第3帧的地址是0x00000100,因为每一帧的编程数据长度是0x80,每发一帧地址+0x80 Lenght20x00 0x80 每一帧的编程数据长度都是0x0080 Programe128) 编程数据内容 IAP帧中的data10xD0  ISP帧中datax)数据的加和值,取低8位,不要加1 把要编程的内容全部发完,如果发送的编程数据不够0x80个字节,则在后面填充0x00,不齐0x80个字节;

6、重启动

ISPFE FE FE FE           46 B9 6A 00 06 82 F2 16 ISP发送上面的内容两次 IAP没有回复 结构:Head(2) sign(1) reserve(1) length(1) frame(1) checksum(1) trail(1) Frame0x82) 重启命令