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