STC89C51单片机通讯协议
来源:互联网 发布:无网络免费单机斗地主 编辑:程序博客网 时间:2024/06/05 02:44
说明:
ISP,STC单片机的编程软件;
IAP,CTC单片机固化的烧写软件;
1、引导码
ISP:7F 7F 7F 7F 7F
ISP一直发送0x7F,直到收到IAP的回复帧;
IAP:68 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,
校验方式:从0x68到0xAC前面一个数加和,再加1,取低8位;
IAP的回复帧根据单片机的晶振不同,回复的也不同,上面的是11.0592的晶振;
2、设置通讯速率
ISP:46 B9 6A 00 0C 8F FF 7D 00 FE 78 80 77 16
IAP:46 B9 68 00 0C 8F FF 7D 00 FE 78 80 75 16
ISP:46 B9 6A 00 0B 8E FF 7D 00 FF 78 F6 16
IAP:46 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) 0x8F、0x8E 不同的数表示不同的操作
Data(x)
Checksum(1) 0x77 从head到checksum前一个字节的加和,再加1,取低8位;
Trail(1) 0x16
3、通讯同步
ISP:46 B9 6A 00 0C 80 02 00 36 01 F1 10 30 16
IAP:46 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)
Frame(1)0x80
4、擦出命令
ISP:46 B9 6A 00 0D 84 0B 33 33 33 33 33 33 38 16
IAP:46 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)
Frame(1)0x84 擦出命令
0x80
5、编程
ISP:46 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
IAP:46 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;
Lenght(2)0x00 0x80 每一帧的编程数据长度都是0x0080;
Programe(128) 编程数据内容
IAP帧中的data(1)0xD0 为ISP帧中data(x)数据的加和值,取低8位,不要加1;
把要编程的内容全部发完,如果发送的编程数据不够0x80个字节,则在后面填充0x00,不齐0x80个字节;
6、重启动
ISP:FE 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)
Frame(0x82) 重启命令
- STC89C51单片机通讯协议
- STC89C51单片机通讯协议
- stc89c51单片机
- STC89c51单片机的定时器2
- stc89c51单片机矩阵键盘扫描
- 如何用AltiumDesigner绘制STC89C51单片机原理图
- STC89C51单片机串口程序下载失败总结
- 单片机_I2C通讯协议_基础篇
- 基于Modbus协议实现单片机与PLC之间的通讯
- 基于STC89C51的单片机和TLC1543模数转换器的环境指标采集器
- 第七届 科技节 电子设计大赛 三等奖作品---基于STC89C51单片机的温控风扇
- 通讯协议
- 通讯协议
- 51单片机,串行口通讯
- 51单片机串口通讯
- 51单片机双机通讯
- SerialPort 串口通讯 通讯协议
- 51单片机串口通讯程序代码
- 转载:写了10年Javascript未必全了解的连续赋值运算 --> 说明了JS中变量是引用
- open-iscsi/scst 追踪三(scsi总线扫描)
- entrySet最高效的遍历hashmap
- 第十六周
- 总结axis 服务端 和客户端 Dynamic Proxy方式,WSDD方式
- STC89C51单片机通讯协议
- eclipse的String超长 copy
- 字符串的所有可能组合输出
- Android中调用ANE获取设备ID
- Robotium_易测云生成的自动化测试脚本(4)
- 双目视觉的摄像头选择问题
- JAVA上百实例源码以及开源项目
- View的setTag和getTag方法
- Spring中数据源和数据库连接池配置的几种方法