- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下面以RS-485串行多机通信为例,说明PC机与数台AT89S51单片机进行多机通信的接口电路设计方案。 PC机配有RS-232C串行标准接口,可通过转换电路转换成RS-485串行接口,AT89S51单片机本身具有一个全双工的串行口,该串行口加上驱动电路后就可实现RS-485串行通信。 PC机与数台AT89S51单片机进行多机通信的RS-485串行通信接口电路如图7-24所示。 * * 图7-24 PC机与AT89C51单片机串行通信接口电路 在图7-24中,单片机的串行口通过75176芯片驱动后就可转换成RS-485标准接口,根据RS-485标准接口的电气特性,从机数量不多于32个。PC机与AT89S51间的通信采用主从方式,PC机为主机,AT89S51为从机,由PC机确定与哪个单片机进行通信。 2. 软件设计思想 串行通信软件的编写,涉及两部分内容:一是单片机的串行口收发程序,可采用汇编语言或C语言编写;二是PC机的串行通信和程序界面的编制,可采用VB、C或VC语言来编写。具体软件设计请参阅有关参考资料。 * 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 PPT研究院 POWERPOINT ACADEMY * * * 图7-20 RS-485双机通信接口电路 通信线路要采用平衡双绞线。平衡双绞线的长度与传输速率成反比,在100kbit/s速率以下,才可能使用规定的最长电缆。 只有在很短的距离下才能获得最大传输速率。一般100m长双绞线最大传输速率仅为1Mbit/s。 图7-20,RS-485以双向、半双工的方式来实现双机通信。在AT89S51单片机系统发送或接收数据前,应先将SN75176的发送门或接收门打开,当P1.0=1时,发送门打开,接收门关闭;当P1.0=0时,接收门打开,发送门关闭。 图7-20中的SN75176芯片内集成了一个差分驱动器和一个差分接收器,且兼有TTL电平到RS-485电平、RS-485电平到TTL电平的转换功能。 此外常用的RS-485接口芯片还有MAX485。 7.5.2 串行通信设计需要考虑的问题 单片机的串行通信接口设计时,需考虑如下问题。 (1)首先确定通信双方的数据传输速率。 (2)由数据传输速率确定采用的串行通信接口标准。 * (3)在通信接口标准允许的范围内确定通信的波特率。为减小波特率的误差,通常选用11.0592MHz的晶振频率。 (4)根据任务需要,确定收发双方使用的通信协议。 (5)通信线的选择,这是要考虑的一个很重要的因素。通信线一般选用双绞线较好,并根据传输的距离选择纤芯的直径。如果空间的干扰较多,还要选择带有屏蔽层的双绞线。 (6)通信协议确定后,进行通信软件编程,请见下面介绍。 * 7.5.3 双机串行通信软件编程 串行口的方式1~3是用于串行通信的,下面介绍双机串行通信软件编程。 应当说明的是,下面介绍的双机串行通信的编程实际上与上面介绍的各种串行标准的硬件接口电路无关,因为采用不同的标准串行通信接口仅仅是由双机串行通信距离、传输速率以及抗干扰性能来决定的。 * 1.串行口方式1应用编程 【例7-?4】 采用方式1进行双机串行通信,收、发双方均采用6MHz晶振,波特率为2?400bit/s,一帧信息为10位,发送方把以78H、77H单元的内容为首地址,以76H、75H单元内容减1为末地址的数据块通过串口发送给收方。 发送方要发送的数据块的地址为2000H~201FH。先发地址帧,再发数据帧;接收方在接收时使用一个标志位来区分接收的是地址还是数据,然后将其分别存放到指定的单元 中。发送方可采用查询方式或中断方式发送数据,接收方可采用中断或查询方式接收。 (1)甲机发送程序 中断方式的发送程序如下: ORG 0000H ;程序初始入口 LJMP MAIN ORG 0023H ;串行中断入口 LJMP COM_INT ORG 1000H MAIN: MOV SP,#53H ;设置堆栈指针 MOV 78H,#20H ;设发送的数据块首、末地址 MOV 77H,#00H MOV 76H,#20H MOV 75H,#40H ACALL TRANS ;调用发送子程序 HERE: SJMP HERE TRANS:MOV TMOD,#20H ;设置定时器/计数器工作方式 MOV TH1,#0F3H ;设置计数器初值 MOV TL1,#0F3H MOV
文档评论(0)