单片机多机通信(课程设计).doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业设计课程设计毕业论文详细资料联系QQ号;1620812008此设计有相应的资料和CAD图纸,充值下载或购买者将免费赠送。联系QQ号;1620812008.

南京人口学院 课程设计报告 课 程 单片机微型计算机原理与接口技术 论文题目 单片机多机通信 学生姓名 徐良飞 学 号 指导教师 李维维 2011年 1月 单片机多机通信 一﹑数据通信协议 1.帧格式: 总字节数 + 命令 + 地址 + 内容 + 校验 2.帧格式说明: 总字节数:4 位 命令:4 位 地址:1 字节 校验:1 字节 内容:实际传送的数据,最大为13字节 3.总字节数说明:总字节数4位,一帧数据最大16个字节,最小3个字节 4.命令格式说明: 0000:寻址命令,此时地址表示从机的ID 0001:应答寻址命令 0010:主机向从机写数据命令 0011:主机向从机读数据命令 0100:从机应答主机的读/写命令 此时是片内寻址命令。地址表示从机内存的起始地址,主机读/写数据的起始地址,地址的增长方向由主机决定,寻址范围:0 ~ 255 0101:从机向主机写数据命令 0110:从机向主机读数据命令 0111:主机响应从机读/写 此时是片内寻址命令。地址表示主机内存的起始地址,从机读/写数的起始地址,地址的增长方向由从机决定,寻址范围:0 ~ 255 1000: 1001: 1010: 1011: 1100: 1101: 此时是片外寻址命令,地址增为2个字节,寻址范围:0 ~ 64K 此命令是未开发命令 1110:帧错误 1111:通信结束命令 5.地址格式说明: 当片内寻址命令时,地址是一个字节,寻址片内范围:0 ~ 255 当片外寻址命令时,地址是两个字节,寻址范围:0 ~ 64K 6.内容格式说明: 是传输的数据,总大小有帧大小以及命令格式决定 7.校验格式说明: 校验是存储帧中数字1的个数 二、主机通信程序流程图 三、从机通信程序流程图 四、主机通信功能模块 1、主机初始化模块 设置缓冲区16个字节(既是发送,又是接收缓冲区) 设置计数值M 设置堆栈指针 2、帧设置模块 设置帧的通信方式(总字节数、命令、地址、内容、校验) 计算校验方式即设置校验字节 3、接受帧模块 送数据到指定的缓冲区 4、发送帧模块 设置发送缓冲区 5、解析帧模块 解析帧大小 解析帧命令 解析地址 五、从机通信功能模块 1、主机初始化模块 设置缓冲区16个字节(既是发送,又是接收缓冲区) 设置计数值M 设置堆栈指针 2、帧设置模块 设置帧的通信方式(总字节数、命令、地址、内容、校验) 计算校验方式即设置校验字节 3、接受帧模块 设置接收缓冲区 4、发送帧模块 根据解析格式发送数据 5、解析帧模块 解析帧大小 解析帧命令 解析地址 /* 多机通信中的主机通信程序 将以地址04H开始的数据发送到从机缓冲区中 */ org 0000h ljmp start org 0024h ;0014h~0023h,16字节为数据缓冲区 start: mov sp,#03h ;0004h~0013h为堆栈区 mov r2,#6 ;计数值N mov 07h,#255 clr es ;关闭串口中断 sloop1:call set_frame mov a,r2 jz error call send_frame dec r2 call receive_frame mov a,07h jz sloop1 ;没有收到应答帧 call analy_frame ;有收到应答帧 cjne r6,#01h,sloop1 ;没有收到从机地址应答帧 mov r2,#6 ;重设N的值 sloop2:call send_frame ;发送数据帧 mov a,r2 jz error dec r2 call

文档评论(0)

设计库-红红 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档