多机通信举例文档.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多机通信举例文档

多机通信举例: 例8—4 现有1台主机与10台从机进行双向通信。从机地址为:00H——09H 。设主、从机以方式3进行串行通信,波特率为1200,F晶振为6MHZ。下面以主机发送数据,从机接收数据为例说明。 主机设定有关寄存器的内容如下: R1——存放主机发送的数据块首地址 R2——存放寻址的从机地址 R3——存放主机发送数据块的长度 通信命令约定: “01H”:表示主机发送数据,从机接收数据; “02H”:表示主机接收数据,从机发送数据。 主机通信程序流程图如图8—8所示: 开始 开始 定时器T1 初始化 串行口初始化 串行口初始化 向从机发送地址 向从机发送地址 接收从机返回的地址 接收从机返回的地址 发送无效地址FFH 发送无效地址FFH 从机地址相符? N 从机地址相符? Y 向从机发送命令 向从机发送命令 延 时 延 时 发 送 数 据 块 发 送 数 据 块 结束 结束 图8—8 主机通信程序流程图 由图8—8流程图可得主机通信程序清单如下: MAIN:MOV TMOD, #20H ;定时器T1设置工作方式2。 MOV TL1, #0F3H ;T1置初值。 MOV TH1, #0F3H SETB TR1 ;启动T1。 MOV PCON, #00H ;波特率不倍增。 MOV SCON, #0D8H ;串行口设置工作方式3,TB8置1,表示发送地址。 SADDR:MOV A, R2 ;取出从机地址。 MOV SBUF, A ;发送从机地址。 JNB RI, $ ;等待从机应答。 CLR RI ;接收到从机应答,RI清零。 MOV A, SBUF ;取出从机应答数据(从机地址)。 XRL A, R2 ;核对应答地址。 JZ MSEND ;若地址相符转发送命令。 SETB TB8 ;地址不相符,置地址标志,以便重发地址。 CLR TI MOV SBUF, #0FFH ;发送无效地址,使所有从机SM2置1。 SJMP SADDR ;重发地址。 MSEND:CLR TB8 ;地址相符,准备发送命令、数据等。 MOV SBUF, #01H ;发送命令,要求从机接收数据。 LCALL DELAY10 ;延迟10MS。 MAGAIN: MOV SBUF, @R1      ;主机发送数据。 JNB TI, $ ;等待一个字符发送完。 CLR TI ;本字符发送完毕,准备发送下一个字符。 INC R1         ;发送数据区地址指针加一,指向下一单元。 DJNZ R3, MAGAIN    ;数据快未发送完,继续发送。 RET ;发送完毕,返回。 以#08H号从机接收为例,设定: R1:存放从机接收数据块首地址; R2:存放从机接收数据块长度。 从机通信程序流程图如图8—9所示: 定时器T1 初始化 串行口初始化 接收 数 据 块 开始 接收主机发送的地址 本机SM2位清零 接收主机命令 命令识别 主机发送,从机接收? 主机接收,从机发送? 发送数据块(略) 结 束 是本机地址? 本机SM2置1

文档评论(0)

lau158 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档