基于单片机的多机通信系统内容摘要:
,当访问外部程序存储器, ALE 会跳过一个脉冲。 如果单片机是 EPROM,在编程其间, 将用于输入编程脉冲。 Pin29: 当访问外部程序存储器时,此脚输出负脉冲选通信号, PC 的 16位地址数据将出现在 P0 和 P2 口上,外部程序存储器则把指令数据放到 P0 口上,由 CPU读入并执行。 Pin31:EA/Vpp 程序存储器的 内外部选通线, 8051 和 8751 单片机,内置有 4kB的程序存储器,当 EA 为高电平并且程序地址小于 4kb 时,读取内部程序存储器指令数据,而超过 4kB 地址则读取外部指令数据。 如 EA 为低电平,则不管地址大小,一律读取外部程序存储器指令。 显然,对内部无程序存储器的 8031,EA 端必须接地。 RS232 与 RS485 通讯芯片 RS232 接口标准出现较早,难免有不足之处,主要有以下四点: 第一点, 接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL 电平不兼容故需使用电平转换电路方能与 TTL电路连接。 第二点, 传输速率较低,在异步传输时,波特率为 20Kbps。 第三点, 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性 8 弱。 第四点, 传输距离有限,最大传输距离标准值为 50 英尺,实际上也只能 用在 50 米左右。 针对 RS232 的不足,于是就不断出现了一些新的接口标准, RS485 就是其中之一,它具有以下特点: 第一点, RS485 的电气特性:逻辑 “1”以两线间的电压差为 +( 2~6) V 表示;逻辑 “0”以两线间的电压差为 ( 2~6) V表示。 接口信号电平 比 RS232C 降低了,就不易损坏接口电路的芯片, 且该电平与 TTL电平兼容,可方便与 TTL 电路连接。 第二点, RS485 的数据最高传输速率为 10Mbps。 第三点, RS485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。 第四点, RS485 接口的最大传输距离标准值为 4000 英尺,实际上可达 3000米,另外 RS232C 接口在总线上只允许连接 1 个收发器, 即单站能力。 而 RS485接口在总线上是允许连接多达 128 个收发器。 即具有多站能力 ,这样用户可以利用单一的 RS485 接口方便地建立起设备网络。 综合的来说, 因 RS485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 因为 RS485 接口组成的半双工网络,一般只需二根连线,所以 RS485 接口均采用屏蔽双绞线传输。 RS485 接口连接器采用 DB9 的 9 芯插头座,与智能终端 RS485 接口采用 DB9(孔),与键盘连接的键盘接口 RS485 采用 DB9(针)。 9 3 单片机 RS- 485多机通讯 简介 编写完程序后即可使用汇编软件对程序进行 编译了,本设计所使用的编译软件是 Keil51,其步骤如下: RS- 485 串行总线接口标准以差分平衡方式传输信号,具有很强的抗共模干扰的能力,允许一对双绞线上一个发送器驱动多个负载设备。 工业现场控制系统中一般都采用该总线标准进行数据传输,利用单片机本身所提供的简单串行接口,加上总线驱动器如 SN75176 等组合成简单的 RS- 485 通讯网络。 本文所述的方法已成功地应用于工程项目,一台主机与 60 台从机通讯,通讯波特率达64KBPS。 总线驱动器芯片 SN75176, 常用的 RS- 485 总线驱动芯片有 SN75174,SN75175, SN75176。 SN75176 芯片有一个发送器和一个接收器,非常适合作为RS- 485 总线驱动芯片。 SN75176 及其逻辑如图 (31)所示。 图 SN75176 芯片及其逻辑关系 RS- 485 方式构成的多机通信原理 在由单片机构成的多机串行通信系统中,一般采用主从式结构:从机不主动发送命令或数据,一切都由主机控制。 并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。 采用 RS- 485 构成的多机通讯原理框图,如图 所示。 10 图 采用 RS- 485 构成的多机通讯原理框图 在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。 匹配电阻的取值应该与总线的特性阻抗相当。 当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。 将总线上差分信号的正端 A+和 +5 电源间接一个 10K 的电阻;正端 A+和负端 B间接一个 10K 的电阻;负端 B和地间接一个 10K 的电阻,形成一个电阻网络。 当总线上没有信号传输时,正端 A+的电平大约为 ,负端 B的电平大约为 ,即使有干扰信号,却很难产生串行通信的 起始信号 0,从而增加了总线抗干扰的能力。 通信规则 由于 RS- 485 通讯是一种半双工通讯,发送和接收共用同一物理信道。 在任意时刻只允许一台单机处于发送状态。 因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。 半双工通讯对主机和从机的发送和接收时序有严格的要求。 如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。 要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则: ( 1) 复位时,主从机都应该处于接收状态。 11 SN75176芯片的发送和接收功能转换是由芯片的 RE* , DE端控制的。 RE*=1,DE=1 时, SN75176 发送状态; RE*=0, DE=0 时, SN75176 处于接收状态。 一般使用单片机的一根口线连接 RE*, DE 端。 在上电复位时,由于硬件电路稳定需要一定的时间,并且单片机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息。 因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入 SN75176 的控制端,使上电时 SN75176 处于接收状态。 另外,在 主从机软件上也应附加若干处理措施,如:上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令。 ( 2) 控制端 RE*, DE 的信号的有效脉宽应该大于发送或接收一帧信号的宽度。 在 RS- 232, RS- 422 等全双工通讯过程中,发送和接收信号分别在不同的物理链路上传输,发送端始终为发送端,接收端始终为接收端,不存在发送、接收控制信号切换问题。 在 RS- 485 半双工通讯中,由于 SN75176 的发送和接收都由同一器件完成,并且发送和接收使用同一物理链路,必须对控制信号进行切换。 控制信号何时为高电平,何时为 低电平,一般以单片机的 TI, RI 信号作参考。 发送时,检测 TI 是否建立起来,当 TI 为高电平后关闭发送功能转为接收功能;接收时,检测 RI 是否建立起来,当 RI 为高电平后,接收完毕,又可以转为发送。 在理论上虽然行得通,但在实际联调中却出现传输数据时对时错的现象。 根据查证有关资料,并在联调中借助存储示波器反复测试,才发现一个值得注意的问题,我们可以查看单片机的时序: 12 图 串行口模式 3 时序图 单片机在串行口发送数据时,只要将 8 位数据位传送完毕, TI标志即建立,但此时应发送的第九位数据位(若发 送地址帧时)和停止位尚未发出。 如果在这是关闭发送控制,势必造成发送帧数据不完整。 如果单片机多机通讯采用较高的波特率,几条操作指令的延时就可能超过 2 位(或 1 位)数据的发送时间,问题或许不会出现。 但是如果采用较低波特率,如 9600,发送一位数据需 100μ s 左右,单靠几条操作指令的延时远远不够,问题就明显地暴露出来。 接收数据时也同样如此,单片机在接收完 8 个数据位后就建立起 RI 信号,但此时还未接收到第九位数据位(若接收地址帧时)和停止位。 所以,接收端必须延时大于 2 位数据位的时间( 1 位数据位时间 =1/波特率),再作应 答,否则会发生总线冲突。 ( 3)总线上所连接的各单机的发送控制信号在时序上完全隔开。 为了保证发送和接收信号的完整和正确,避免总线上信号的碰撞,对总线的使用权必须进行分配才能避免竞争,连接到总线上的单机,其发送控制信号在时间上要完全隔离。 总之,发送和接收控制信号应该足够宽,以保证完整地接收一帧数据,任意两个单机的发送控制信号。基于单片机的多机通信系统
相关推荐
、心得 作为一名 电气 自动化专业的大三学生,我觉得做 单片机 课程设计是十分有意义的,而且是十分必要的。 在已度过的大学时间里,我们大多数接触 的是专业课。 单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。 在完成单片机课程设计后 ,我们发现我们还有许多不足
..................................................................23 致 谢 ................................................................................................................24 附 录 .......
电阻减小,入射光弱,电阻增大。 光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。 光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达 1~10M 欧 ,在强光条件( 100LX)下,它阻值(亮阻)仅有几百至数千欧姆。 光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光( ~) μm的响应很接近 ,只要人眼可感受的光
12346578RST(VPD)9(RXD)10(TXD)11(INT0)12(INT1)13(T0)14(T1)15(WR)16(RD)17XTAL218XTAL119GND20VCC403938373635343332EA/VDD31ALE/PROG30PSEN292827262524232221U1STC89C52GND1VCC2VO3RS4R/W5E6DB07DB18DB29DB310DB
单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于 CAN总线的汽车发动机智能电子控制器, GPS导航系统, abs防抱死系统,制动系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 11 第 2 章 系统的方案设计 控制系统的模型 被控过程数学模型的作用与要求 模型的作用 被控过程动态
在初始化后只进行按 键扫描,利用定时器 T0 定时 5S 启动 AD 转化,即采样周期是 5S。 当 AD 转换完成后进入外部中断 INT0 服务程序,进行 数据的处理,刷新显示的压力值;当采用两位量程时,若检测到压力值大于等于 100,提示超过量程“ OVER。 ”,需要转换量程。 系统程序整体流程图 系统的整体程序流程图如下所示: 主程序在完成开机 LOGO 显示、压力值初始化显示、 TO