MAX485硬件自动收发电路设计

合集下载

自动收发转换的RS485接口电路及测试电路

自动收发转换的RS485接口电路及测试电路

自动收发转换的RS485接口电路及测试电路
图l所示的虚线框中为接口电路,通过对真值表进行分析,其发送和接收过程为:
 当发送端DI=O时,DE/RE=1发送O电平,接收端RO=O;当发送端DI=1时,DE/RE=0,VA=VB=2.5V,接收端由于上拉电阻的作用RO=1。

 在此接口电路的TXo端加入1kHz的TTL方波对电路进行测试。

未加入120Ω端电阻时,接口芯片的485-A和485-B脚都有约50μs的电压变化过程,如图2所示。

接收端Ro波形的上升沿有明显的延迟约30~40μs(和数据发送端DI比较),造成很大的传输误差;加入120Ω端电阻时,延迟明显缩小,约
3μs。

 此电路在发送高电平时,发送器处于高阻状态,总线上所有接口处于接收状态,总线是空闲的,允许其他接口发送数据,因此容易引入总线冲突。

特别是连续发送高电平比特时,发送器处于高阻状态的时间越长,引入总线冲突的几率就越大。

 tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

MAX485典型电路讲解

MAX485典型电路讲解

管脚的功能如下:
RO:接收器输出端。若A比B大200mV,RO为高;反之为低电平。
RE:接收器输出使能端。RE为低时,RO有效;为高时,RO呈高阻
状态。
DE:驱动器输出使能端。若DE=1,驱动器输
出A和B有效;若DE=0,则它们呈高阻态。若
驱动器输出有效,器件作为线驱动器用,反之
作为线接收器用。
DI:驱动器输入端。DI=0,有A=0,B=1;
WR1: SETB SDA ;此位为 1,发送1
SETB SCL ;时钟脉冲变高电
NOP NOP CLR SCL
;时钟脉冲变低电
CLR SDA DJNZ R7,WLP
RET
(5)字节数据接收子程序
该子程序的功能是在时钟的高电平时数据已稳定,读入一位,经过8 个时钟从SDA线上读入一个字节数据,并将所读字节存于A和R6
当DI=1,则A=1,B=0。
GND:接地。
A:同相接收器输入和同相驱动器输出。
B:反相接收器输入和反相驱动器输出。
图9.1 MAX485芯片的
VCC:电源端,一般接+5V。
DIP封装管脚图
MAX485典型的工作电路如图9.2所示,其中平衡电阻Rp 通常取100~300欧姆。MAX485的收发功能见表9.3。
单片机原理、接口及应用
内容提要
★ RS-485总线扩展 ★ IIC总线扩展接口及应用 ★ SPI总线扩展接口及应用
9.1 RS-485总线扩展
RS-485标准接口是单片机系统种常用的一种串行总线之 一。与RS-232C比较,其性能有许多改进,细节请见表9.1所示。
表9.1 RS-232C与RS-485性能比较
该子程序的入口条件是待发送的字节位于累加器ACC中。

RS485收发的3种典型电路-重点-自动收发电路

RS485收发的3种典型电路-重点-自动收发电路

RS485收发的3种典型电路-重点-自动收发电路三种常用电路如下:1、基本的RS485电路上图是最基本的RS485电路,R/D为低电平时,发送禁止,接收有效,R/D 为高电平时,则发送有效,接收截止。

上拉电阻R7和下拉电阻R8,用于保证无连接的SP485R芯片处于空闲状态,提供网络失效保护,提高RS485节点与网络的可靠性,R7,R8,R9这三个电阻,需要根据实际应用改变大小,特别是使用120欧或更小的终端电阻时,R9就不需要了,此时R7,R8使用680欧电阻。

正常情况下,一般R7=R8=4.7K,R9不要。

图中钳位于6.8V的管V4,V5,V6,都是为了保护RS485总线的,避免受外界干扰,也可以选择集成的总线保护原件。

另外图中的L1,L2,C1,C2为可选安装原件,用于提高电路的EMI性能.2、带隔离的RS485电路根本原理与基本电路的原理相似。

使用DC-DC器件可以产生1组与微处理器电路完全隔离的电源输出,用于向RS485收发器提供+5V电源。

电路中的光耦器件速率会影响RS485电路的通信速率。

上图中选用了NEC 的光耦PS2501,受其影响,该电路的通讯速率控制在19200bps下。

3、自动切换电路上图中,TX,RX引脚均需要上拉电阻,这一点特别重要。

接收:默认没有数据时,TX为高电平,三极管导通,RE为低电平使能,RO收数据有效,MAX485为接收态。

发送:发送数据1时,TX为高电平时,三极管导通,DE为低电平,此时收发器处于接收状态,驱动器就变成了高阻态,也就是发送端与A\B 断开了,此时A\B之间的电压就取决于A\B的上下拉电阻了,A为高电平、B为低电平,也就成为了逻辑1了。

发送数据0时,TX为低电平,三极管截止,DE为高电平,驱动器使能,此时正好DI是接地的,也就是低电平,驱动器也就会驱动输出B 为1,A为0,也就是所谓的逻辑0了。

理解自收发的作用,关键是要理解RE和DE的作用,尤其是DE为0时,驱动器与A\B之间就是高阻态,也就是断开状态,而且A\B都要有上下拉电阻。

分享一个RS485收发自动切换的电路,直接用TXD信号通过NPN

分享一个RS485收发自动切换的电路,直接用TXD信号通过NPN

分享一个RS485收发自动切换的电路,直接用TXD信号通过
NPN
分享一个RS485收发自动切换的电路,直接用TXD信号通过NPN三极管反向控制485芯片的收发信号脚。

这个电路可以节省一个端口,编程也可以省很多事情。

网上很多老铁们说这个电路会降低通讯波特率,我实测效果很好,115200速率下工作很稳定,很多485芯片支持最高的速率也就这个水平。

下面看看这个电路是如何做到收发自动切换的。

首先看接收数据的控制。

串口空闲的时候,TXD是1,经过三极管反向后为0,因此485芯片处于接收状态,也就是说不发送数据时,485芯片总是处于接收状态,解决了接收的问题。

再看看发送是如何控制的。

当发送0时,TXD为0,经过三极管取反后为1,485芯片为发送状态,可以将0发送出去。

当发送1时,TXD为1,经过三极管取反后为0,485芯片处于接收状态,分析到这里的时候,昨天我们在办公室里面,有小伙伴就说发送不了1,但是实际是可以的,大家认为呢。

一种rs485串口自动收发控制及指示电路的制作方法

一种rs485串口自动收发控制及指示电路的制作方法

一种rs485串口自动收发控制及指示电路的制作方法RS485串口是一种常用的通信协议,常用于远距离通信和多节点通信。

为了实现对RS485串口的自动收发控制及指示,可以设计一个电路来实现。

下面将介绍一种制作RS485串口自动收发控制及指示电路的方法。

首先,我们需要准备以下材料和工具:1. RS485模块2. Arduino开发板3. MAX485芯片4.逻辑门电路芯片5. LED灯6.电阻、电容等相关元件7.连接线、焊锡工具等制作步骤如下:1.首先,我们将RS485模块和Arduino开发板连接起来。

将RS485模块的A、B线分别连接到Arduino开发板的串口引脚,如A线连接到TX引脚,B线连接到RX引脚。

同时,还需要将RS485模块的GND引脚和Arduino开发板的GND引脚连接起来,以确保电路的接地。

2.接下来,我们需要添加MAX485芯片。

将MAX485芯片的VCC和GND引脚连接到电源上,确保其正常工作。

然后,将MAX485芯片的A、B线分别连接到RS485模块的A、B线上。

此时,RS485模块的A、B线通过MAX485芯片和Arduino开发板相连接。

3.然后,我们需要添加逻辑门电路芯片。

逻辑门电路芯片的作用是控制RS485模块的发送和接收功能。

我们将逻辑门电路芯片的引脚与Arduino开发板的引脚相连接。

具体连接方式可以根据所使用的逻辑门电路芯片而定,通常需要将逻辑门电路芯片的控制引脚连接到Arduino开发板的某个数字引脚上,以实现对RS485模块的控制。

4.接下来,我们需要添加LED灯来指示RS485模块的发送和接收状态。

我们将LED灯的阳极(长脚)连接到逻辑门电路芯片的输出引脚上,将LED灯的阴极(短脚)连接到电源的负极上,以实现对LED 灯的控制和指示。

5.最后,我们需要添加一些电阻、电容等相关元件来保护电路和改善信号质量。

具体的元件数值和连接方式可以根据实际需求而定,在这里不作详细介绍。

485自动收发原理

485自动收发原理

485自动收发原理485自动收发原理一、485总线概述485总线是一种串行通信协议,它是以RS-232为基础的一种通信协议。

它采用差分信号传输方式,可以在长距离、高噪声环境下进行可靠的数据传输。

因此,485总线广泛应用于工业自动化、楼宇自控等领域。

二、485自动收发原理1. 串行通信基础知识在介绍485自动收发原理之前,我们需要了解一些串行通信的基础知识。

串行通信是指将数据位逐个传输,每个数据位之间通过一个时钟信号进行同步。

在串行通信中,有两种常见的传输方式:同步传输和异步传输。

2. 485总线物理层在物理层上,485总线采用差分信号传输方式。

差分信号是指将两个相反的电平作为一个逻辑电平进行传输。

这样可以有效地抵消环境中的干扰信号。

3. 485总线数据链路层在数据链路层上,485总线采用了半双工通信方式。

这意味着同一时间内只能有一个设备发送数据,并且接收方必须等待发送方发送完毕后才能发送数据。

为了保证数据的可靠传输,485总线采用了差错检测和纠正技术。

4. 485自动收发原理485自动收发原理是指通过硬件电路实现自动切换发送和接收状态。

在发送数据时,控制器将数据写入发送缓冲器,并将控制信号置为发送状态。

此时,驱动电路会将缓冲器中的数据转换成差分信号进行传输。

在接收数据时,控制器将控制信号置为接收状态,并等待驱动电路传输的差分信号到达接收缓冲器。

此时,接收缓冲器会将差分信号转换成数字信号,并传递给控制器。

5. 485自动收发原理实现在实现485自动收发原理时,需要使用一些特殊的芯片或模块。

常见的有MAX485、ADM2483、SN75176等芯片或模块。

这些芯片或模块具有自动切换发送和接收状态的功能,并且支持半双工通信方式。

6. 485总线应用场景由于485总线具有长距离、高噪声环境下可靠传输的特点,因此广泛应用于工业自动化、楼宇自控、智能家居等领域。

例如,在工业自动化中,485总线可以用于PLC控制器与传感器、执行器之间的通信;在楼宇自控中,485总线可以用于空调、照明等设备的控制和监测;在智能家居中,485总线可以用于家庭安防、照明等场景的控制。

MAX485自动收发电路

MAX485自动收发电路

来源:;(2010/02/02)摘要:本文提出的容抗匹配法是将待测电容接入容抗匹配电路,待测电容在高品质的交流激励下,呈现固定的容抗。

通过容抗-电压转换电路,即可得与电容成比例的电压值。

经ADC采样后,可计算电容值。

实验结果表明,该方法测电容可以保证测量精度,同时抗干扰能力强。

0引言电容传感器广泛应用于工业、军事等领域。

因而对电容特别是对微小电容的精确测量始终是一个很重要的内容。

目前大部分测量方法大部分集成化水平低,有的精度不高。

电桥法利用电桥平衡原理测量电容,测量结果受桥臂电容性能影响较大。

振荡法电路结构简单,但对于待测电容在100PF以下时,板间的内电容常会污染测量结果;另外,振荡法测电容的抗干扰能力差。

1 微电容测量模块基本原理微电容测量模块原理框图如图1所示,外观如图2所示。

该模块包含引线电容抑制电路、容抗电压变换电路、一片集成的RISC-SOC混合信号处理器以及485接口、LCD显示等。

模块的工作原理如下:RISC-SOC混合信号处理器芯片按CPU指令,用DDS直接数字频率合成方式,通过12位D/AC产生稳定度优于1/1000,失真度小于1/1000的稳定正弦波,作为测量的激励源。

待测电容在该交流激励源作用下,呈现固定的容抗Z。

由式(1)可见1/Z的大小正比于电容值的大小。

通过一个1/Z-电压变换电路即可得与电容值成正比的电压信号,据此可计算出电容值。

正弦波表ROM内存有64点的正弦波表,保持DDS频率不变,将波表峰值提高10倍,量程可缩小10倍;改变正弦波表的点数为640点,即可得到频率为1OOHZ的正弦波,量程则扩大10倍。

因此无需硬件开关,可以通过纯软件的方法切换量程。

485接口电路主要按照Modbus-RTU协议进行数据的传输;LCD进行实时在线的显示工作。

引线电容抑制电路用来消除引线本身电容对测量产生的影响,且屏蔽外部干扰。

2 微电容测量模块电路设计微电容测量设计图如图3所示。

MAX485典型电路ppt课件

MAX485典型电路ppt课件

由于是SDA接在并行口线,无移位寄存 器,因此数据通过指令完成移位再从SDA串行 输出。遵循时序要求,数据在时钟低电平时变 化,高电平时稳定,每一个时钟脉冲传送一位,

(5)字节数据接收子程序
该子程序的功能是在时钟的高电平时数据已 稳定,读入一位,经过8个时钟从SDA线上读入一 个字节数据,并将所读字节存于A和R6
CACK: SETB SDA ;SDA

SETB SCL
NOP
;第9个时钟脉冲


(4)字节数据发送子程序

WRB: MOV R7,#8 WR1: SETB SDA ;此位为 WLP: RLC A ;欲发送位移入C 1,发送1 JC WR1 ;此位为1,转WR1 SETB SCL ;时钟脉冲变高电 CLR SDA 该子程序的入口条件是待发送的字节位 ;此位为0,发送0 SETB SCL NOP 于累加器ACC中。 NOP NOP NOP CLR SCL ;时钟脉冲变低电 CLR SCL DJNZ R7,WLP ;未发完8位,转WLP CLR SDA DJNZ R7,WLP RET RET ;8位已发完,返回
②发送非应答位ACK MNACK: SETB SDA SETB SCL NOP NOP CLR SCL CLR SDA RET
①发送应答位ACK MACK: CLR SDA SETB SCL NOP NOP CLR SCL SETB SDA RET

(3)应答位检查子程序
在I2C总线数据传送中,接收器收到发 送器传送来的一个字节后,必须向SDA线上返 送一个应答位ACK,表明此字节已经收妥。本 子程序使单片机产生一个额外的时钟(第九个 时钟脉冲,在脉冲的高电平期间读ACK应答位, 并将它的状态被复制到F0标志中以供检查。若 有正常ACK,则F0标志为0,否则为1。

MAX485

MAX485

⊙,MAX485简介MAX485是一个8个引脚的芯片,它是一个标准的RS485收发器,只能进行半双工的通讯,内含一个输出驱动器和一个信号接收器。

MAX485具有低功耗设计,静态电流仅为300uA。

MAX485具有三态输出特性,在使用MAX485时,总线最多可以同时连接32个MAX485芯片。

通讯波特率可以达到2.。

5M图 1是MAX485的俯视图和逻辑图。

图 1 MAX485逻辑图下面是MAX485的引脚定义:RO(引脚1):接收信号的输出引脚。

可以把来自A和B引脚的总线信号,输出给单片机。

是COMS电平,可以直接连接到单片机。

RE(引脚2):接收信号的控制引脚。

当这个引脚低电平时,RO引脚有效,MAX485通过RO把来自总线的信号输出到单片机;当这个引脚高电平时,RO引脚处于高阻状态。

DE(引脚3):输出信号的控制引脚.当这个引脚低电平时,输出驱动器无效;当这个引脚高电平时,输出驱动器有效,来自DI引脚的输出信号通过A和B引脚被加载到总线上。

是COMS电平,可以直接连接到单片机。

DI(引脚4):输出驱动器的输入引脚。

是COMS电平,可以直接连接到单片机。

当DE是高电平时,这个引脚的信号通过A和B脚被加载给总线.GND(引脚5):电源地线.A(引脚6):连接到RS485总线的A端。

B(引脚7):连接到RS485总线的B端。

Vcc(引脚8):电源线引脚。

电源4.≤Vcc≤5。

25V75V⊙,MAX485和单片机的连接在一般情况下,可以直接把MAX485和单片机连接在一起。

连接方法如图 2所示.图 2 单片机和MAX485连接MAX485的控制引脚2和引脚3可以分别控制,也可以共同控制如图 2所示,在图 2中当P1.为高电平时,MAX485作为输出驱动器使用,来自单片机TXD的输出信号通过A和B引脚加载到RS485总线上;当P1。

为低电平时,MAX485作为信号接收器使用,来自RS485总线的信号通过RO(1号引脚)被读到单片机的RXD。

MAX485硬件自动收发电路设计

MAX485硬件自动收发电路设计

MAX485硬件自动收发电路设计
MAX485硬件自动收发电路设计
因为MAX485工作在半双工状态,在单片机发送完数据(最短时间是发送完一个字符)后,单片机必须令TXD为高电平(经三极管反相后就会令RE为低电平),才能开始转为接收状态。

这个属于设计上的小技巧,不属于技术上的创新;
而实际上一个工程上应用的单片机,管脚功能使用得如此紧凑是很少见的;
追问:
工程上应用该如何设计呢
追答:
你上面的电路图也是可用的,如果有空余的PIO,就将其直接连接到DE、RE管脚上,输出高低电平来控制切换就是了,这样可省去三极管电阻等元件,电路也显得简洁;
当不发送数据时,TTL电平的Tx信号为高电平,经三极管反向为低电平,RS-485芯片处于接收状态。

当发送数据时,①若Tx为低电平,经三极管反向后,DE/为高电平,发送允许。

此时由于DI 接地,所以RS-485芯片的输出端A、B产生表示低电平的差分信号,低电平的Tx被送出。

②若Tx为高电平,经三极管反向后,DE/为低电平,RS-485芯片的A、B端处于高阻态。

此时靠电阻R1和R2的下拉和上拉作用,使总线上产生正的差分信号,从而将Tx 的高电平信号送出。

由以上分析看出,在使用这个电路时,只要程序能保证不同时进行接收和发送的操作,即保证是半双工传送数据,程序不必用指令控制DE/进行接收和发送的转换。

转换由硬件本身完成。

发送高电平的过程
中,由于RS-485芯片处于接收状态,。

使用C8051F的串口对MAX485进行自发自收

使用C8051F的串口对MAX485进行自发自收

使用C8051F的串口对MAX485进行自发自收一、系统功能使用C8051F的串口对MAX485进行自发自收二、硬件设计三、软件设计下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!USART详细程序请查看C8051F USART程序。

//目标系统: 基于C8051F单片机//应用软件: Silicon IDE / Keil/*01010101010101010101010101010101010101010101010101010101010101010101 ----------------------------------------------------------------------实验内容:在8位LED灯上查看MAX485芯片自发自收的数据。

----------------------------------------------------------------------硬件连接:P2口连接8位LED指示灯DVK501(MAX485PrlPort) F320 EXVCC --------- VCCGND --------- GNDRO --------- P0.5DI --------- P0.4----------------------------------------------------------------------注意事项:(1)若有加载库程序,请将光盘根目录下的“library”下的“C8051F”文件夹拷到D盘(2)请详细阅读:光盘根目录下的“说明书首页.htm”里的相应产品说明---------------------------------------------------------------------- 10101010101010101010101010101010101010101010101010101010101010101010*/#define _DVK501_F320_EX_#include <c8051f320.h>#include <../../../../library/C8051F/ws_clock.h>#include <../../../../library/C8051F/ws_delay.h>#include <../../../../library/C8051F/ws_usart_port.h>void main(void){uchar tmp = 0,a = 0;PCA0MD &= ~0x40;XBR1 = 0x40;clock_external();usartInit();while(1){putUsart0(tmp);delay_ms(100);a = getUsart0();P2 = a;tmp++;delay_ms(1000);}}系统调试连接P2与8位LED指示灯,把RO与DI用跳线短接,查看现象。

MAX485中文资料

MAX485中文资料

MAX485中文资料硬件知识2007-11-03 22:44:06 阅读260 评论0 字号:大中小订阅MAX485中文资料,MAX485 PDF,DATASHEET,电路图,通讯程序内容介绍:MAX481、MAX483、MAX485、MAX487-MAX491以及MAX1487是用于RS-485与RS-422通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器。

MAX483、MAX487、MAX488以及MAX489具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最高250kbps 的无差错数据传输。

MAX481、MAX485、MAX490、MAX491、MAX1487的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。

这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120(A 至500(A 之间。

另外,MAX481、MAX483与MAX487具有低电流关断模式,仅消耗0.1µA。

所有器件都工作在5V单电源下。

驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。

接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。

MAX481,MAX483,MAX485,MAX487,MAX1487引脚(管脚)图及工作电路MAX485通讯程序与MAX232通讯程序在本质上是一样的,只是MAX485通讯程序需要加上通讯方向控制。

下面是基于mega128 16AU的485通信中断接收的程序,调试通过,晶振为外部16M,MAX485的DE和RE短接连PC0口,程序如下:#define SEND_485 PORTC|=0x01#define READ_485 PORTC&=0xfevoid Usart1_init(void) //16Mhz频率,设置波特率9.6k,8位数据位,无校验,接收发送使能,1位停止位{UBRR1H=0;UBRR1L=103;UCSR1B=(1<<RXCIE1)|(1<<RXEN1)|(1<<TXEN1); //发送接收使能,使用中断方式,UCSR1C=(1<<UCSZ10)|(1<<UCSZ11); //0x06 8位数据,1位停止位,无校验}void Usart1_transmit(unsigned char c) //查询方式发送接收字符函数{SEND_485;DelayBus();DelayBus();DelayBus();while( !(UCSR1A&(1<<UDRE1)));//等待发送缓冲区为空UDR1=c;while(!(UCSR1A&(1<<TXC1)));// UDCR0=c;UCSR1A |= _BV(TXC1);//将发送结束标志位清零// SET_BIT(UCSR1A,);READ_485;direction++;}SIGNAL(SIG_UART1_RECV)//serial port 1 {if(UCSR1A&(1<<RXC1)){rec1buff=UDR1;rec1_flag=1;}}。

采用MAx487,光耦TLP521组成的RS485中继器电路

采用MAx487,光耦TLP521组成的RS485中继器电路

采用MAx487,光耦TLP521组成的RS485中继器电路本文设计的RS-485中继器电路非常简单,仅用2片MAX487、2片光耦TLP521、2个三极管2N5551以及几个电阻就能完成。

电路如图所示。

一对RS-485收发器MAX487背一背相接传送双向的数据。

平时当中继器两侧RS- 485总线的通信均为空闲状态时,两片MAX487的RO输出均为高电平,通过光耦T1、T2隔离及V1、V2反相后使对面MAX487的RE有效、DE无效,两片MAX487均处于只收不发状态。

当左侧的总线进行通信时,U1收到每一位0信号时其输出RO将变为低电平,通过光耦T1隔离后使U2的DI输入为低电平,同时该信号经V2反相后使U2的RE无效、DE有效,U2处于只发不收状态,从而在右侧总线上输出0信号。

这时由于RE无效,U2的RO输出为高阻,经T2隔离和V1反相后使U1的RE有效、DE无效,U1仍保持接收状态不变。

同样,当右侧的总线进行通信时,U2收到每一位0信号也可经T2隔离由U1输出到左侧总线。

在通信过程中,本电路RS-485收发器的发送和接收使能控制信号是由通信数据本身自动产生,不需另外的控制电路,从而实现了两个通信方向的自动切换控制。

本文的RS-485总线中继器可以使RS-485总线的通信距离和连接设备数都增加一倍,并且由于采用光电隔离技术,能有效防止设备、总线之间由于地不平衡引起的损坏。

该中继器电路制作比较简单,焊接完毕后检查无误一般无须调试即可使用。

在应用中需要注意以以下几点:(1)光耦两侧必须分别供电。

(2)R1、R2为通信电缆阻抗匹配电阻,可根据通信电缆的特征阻抗选择适当的阻值。

(3)MAX487可以用其他兼容芯片如MAX1487、SN75176代替。

如果采用TI公司的SN75LBC184还可具备抗雷击功能。

(4)图1中元件型号及参数值可适应2400以下通信波特率的要求。

光耦TLP521可以用其他芯片如4N35代替。

我的51单片机之 MAX485的 C语言与汇编的编程

我的51单片机之 MAX485的 C语言与汇编的编程

//与自制软件 ComTest 通信,设好通信口,按下软件中相应按钮,数码管显示相应值
//made by luqichao
//************************************************************************
#include <reg51.h>
;
{ 0 , 1, 2 , 3 , 4 , 5, 6, 7, 8, 9 }
MAIN:
MOV SCON,#50H; 串口工作于方式 1,充许接收
MOV PCON,#0H;
波特率不倍增
MOV TMOD,#20H; 定时器计数器 1 工作于方式 2;
MOV TH1,#0FDH;
MOV TL1,#0FDH; 波特率为 9600;
LEDCODE EQU P1 ComData EQU 40H; LED1 EQU P0.6; LED2 EQU P0.7; M485 EQU P0.5;
//作为收发数据的使能短,1 为发数据 0 为收数据
;字形码:0--f 及小数点
AscLed:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;
四、汇编程序: ;************************************************************************** ;与自制软件 ComTest 通信,设好通信口,按下软件中相应按钮,数码管显示相应值 ;made by luqichao ;************************************************************************** ORG 0000H AJMP MAIN ORG 001BH AJMP T1P ORG 0023H AJMP COMM ORG 0030H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MAX485硬件自动收发电路设计
因为MAX485工作在半双工状态,在单片机发送完数据(最短时间是发送完一个字符)后,单片机必须令TXD为高电平(经三极管反相后就会令RE为低电平),才能开始转为接收状态。

这个属于设计上的小技巧,不属于技术上的创新;
而实际上一个工程上应用的单片机,管脚功能使用得如此紧凑是很少见的;
追问:
工程上应用该如何设计呢
追答:
你上面的电路图也是可用的,如果有空余的PIO,就将其直接连接到DE、RE管脚上,输出高低电平来控制切换就是了,这样可省去三极管电阻等元件,电路也显得简洁;
当不发送数据时,TTL电平的Tx信号为高电平,经三极管反向为低电平,RS-485芯片处于接收状态。

当发送数据时,①若Tx为低电平,经三极管反向后,DE/为高电平,发送允许。

此时由于DI 接地,所以RS-485芯片的输出端A、B产生表示低电平的差分信号,低电平的Tx被送出。

②若Tx为高电平,经三极管反向后,DE/为低电平,RS-485芯片的A、B端处于高阻态。

此时靠电阻R1和R2的下拉和上拉作用,使总线上产生正的差分信号,从而将Tx 的高电平信号送出。

由以上分析看出,在使用这个电路时,只要程序能保证不同时进行接收和发送的操作,即保证是半双工传送数据,程序不必用指令控制DE/进行接收和发送的转换。

转换由硬件本身完成。

发送高电平的过程中,由于RS-485芯片处于接收状态,。

相关文档
最新文档