- 1、本文档共131页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 图6-33 PC机与多台单片机构成小型的分布式测控系统 * 仪表(从机)既能独立地完成数据处理和控制任务,又可将数据传送给PC机(主机)。PC机将这些数据进行处理,或显示,或打印,同时将各种控制命令传送给各个子机,以实现集中管理和最优控制。显然,要组成一个这样的分布式测控系统系统,首先要解决的是PC机与单片机之间的串行通信接口问题。 下面以RS-485串行多机通信为例,说明PC机与数台单片机进行多机通信的接口电路设计方案。PC机配有RS-232C串行标准接口,可通过转换电路转换成RS-485串行接口,单片机本身具有一个全双工的串行口,该串行口加上驱动电 * * 路后就可实现RS-485串行通信。PC机与数台单片机进行多机通信的RS-485串行通信接口电路如图6-34所示。 在图6-34中,单片机的串行口通过75176芯片驱动后就可转换成RS-485标准接口,根据RS-485标准接口的电气特性,从机数量不多于32个。PC机与AT89S51间的通信采用主从方式,PC机为主机,单片机为从机,由PC机确定与哪个单片机进行通信。 * * 图6-34 PC机与多片单片机串行通信接口电路 * 2. 软件设计思想 为了充分发挥高级语言(如C,BASIC)编程简单,调试容易,制图作表能力强的优点和汇编语言执行速度快的特点, PC机软件可采用C、BASIC等语言编写的主程序调用汇编子程序的方法,即PC机的主程序由C语言编写,通信子程序由PC机汇编语言编制。这涉及到C语言与汇编语言混合编程技术。高、低级语言混合编程技术的详细内容请参阅有关参考书目。 * 6.6.4 20mA电流环串行接口 是目前串行通讯中广泛使用的一种接口电路,但未形成正式标准。 这种接口要比RS-232C接口简单的多,它只有4根线:发送正、发送负、接收正和接收负四根线组成一个输入电流回路、一个输出电流回路。当发送数据时,根据数据的逻辑1、0,有规律的使回路形成通、断状态,即环路中无电流表示逻辑“0”,有20mA电流表示逻辑“1”。20mA电流环工作原理如 图6-29所示。 * 图6-29 20mA电流环原理图 * 图6-30是一由集成芯片构成的20mA电流环接口线路图。 图6-30 集成芯片构成的20mA电流环接口电路 * 6.6.5 各种串行接口性能比较 现将RS-232C、RS-422A、RS-485、20mA电流环各种串行接口性能列在表6-3中,便于读者比较。 * 续 表6-3 * 6.7 串行口的应用设计举例 利用AT89S52的串行口可以实现AT89S52之间的点对点串行通信、多机通信以及单片机与PC机间的单机或多机通信。本节仅介绍单片机之间的双机串行通信的硬件接口和软件设计。 6.7.1 串行通信设计需要考虑的问题 串行通信接口设计时,需考虑如下问题。 (1)首先确定通信双方的数据传输速率。 (2)由数据传输速率确定采用的串行通信接口标准。 (3)在通信接口标准允许的范围内确定通信的波特率。为减小波特率的误差,通常选用11.0592MHz的晶振频率。 * (4)根据任务需要,确定收发双方使用的通信协议。 (5)通信线的选择,这是要考虑的一个很重要的因素。通信线一般选用双绞线较好,并根据传输的距离选择纤芯的直径。如果空间的干扰较多,还要选择带有屏蔽层的双绞线。 (6)通信协议确定后,进行通信软件编程,请见下面介绍。 6.7.2 双机串行通信软件编程 串行口的方式1~3是用于串行通信的,下面介绍双机串行通信软件编程。 应当说明的是,下面介绍的双机串行通信的编程实际上与上面介绍的各种串行标准的硬件接口电路无关,因为采用不同 * * 的标准串行通信接口仅仅是由双机串行通信距离、传输速率以及抗干扰性能来决定的。 1.串行口方式1应用编程 【例6-?5】 本例采用方式1进行双机串行通信,收、发双方均采用11.0592MHz晶振,波特率为2?400bit/s,一帧信息为10位,第0位为起始位,第1~8位为数据位,最后1位为停止位。发送方(甲机)把以78H、77H单元的内容为首地址,以76H、75H单元内容减1为末地址的数据块通过串行口发送给接收方(乙机)。下面介绍收发双方串行发送、接收程序的设计。 * (1)甲机发送程序 甲机要发送的数据块的地址为片外RAM的2000H~201FH。发送时先发数据块的首末地址,然后再发送数据块。甲机先采用查询方式发4个字节的首末地址,然后再采用中断方式发送数据块,并采用比较末地址的方法,判断数据块是否发送结束。程序中用到了一个数据块发送完毕标志位F0,数据块如发送完毕,则标志位
文档评论(0)