STC89C51单片机通讯协议

来源:互联网 发布:淘宝账号暂时被冻结 编辑:程序博客网 时间:2024/05/22 03:15

分类: 单片机 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) 重启命令

原创粉丝点击