STC89C51单片机通讯协议
来源:互联网 发布:淘宝账号暂时被冻结 编辑:程序博客网 时间:2024/05/22 03:15
目录(?)[+]
说明:
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单片机串口通讯程序代码
- linux-0.00源代码
- 项目计划管理在软件研发中的应用研究
- hdu 1728 BFS
- 程序有误,为什么Keil却没有报错
- wxPython Dialog点两次关闭才关了的原因
- STC89C51单片机通讯协议
- NS2中无线trace分析(第3课)
- JavaScript继承详解(四)
- 冒泡排序算法原理与实现
- 面向程序员的数据库访问性能优化法则
- 鄙人java面试题库
- Poj_1008--Maya Calendar
- mysql基础回顾
- 设计模式之适配器模式