导航:首页 > 电器电路 > 串口通信电路

串口通信电路

发布时间:2021-11-08 17:54:07

『壹』 请问RS232和RS485串口电路一样吗 ,怎么接线的啊

都是 串口通信,应用场合不同:
RS232 -3线全双工,点对点通信,传输距离 25米以内。
RS485 -2线半双工,点对多主从通信,传输距离可达 1200米以上
RS485 -4线全双工,主从通信,传输距离可达 1200米以上
由于工业现场通信节点多,位置分散,通信距离远,要求使用最少的线材完成相应的通信任务。根据相关的要求,人们开发出利用两根导线实现多节点互联的EIA RS-485总线标准。RS-485总线采用差分平衡电路,即一条导线上的电压是另外一条导线的电压的取反值,接收器输入电压为两根导线电压的差值。由于其在两条线路上传递的是大小相同,方向相反的电流,而噪声电压对于线路的影响都是同时出现,两条线路的噪声电压相互抵消,极大的削弱噪声的影响。差分平衡电路不受节点之间的地平电压差的影响,EIA 485没有规定引脚定义,信号功能,只需保持两根信号线相邻,在同一个双绞线中,引脚A,B不能互换就可以了,所以在工业现场使用过程中,RS-485接口没有标准的规范,有可能是DB9,也有可能是RJ45/RJ11,但是用的最多的还是工业接线端子。由于RS-485总线采用差分平衡电路,极大的抑制噪声干扰,有极强的抗共模干扰能力,输入电压检测灵敏度为200毫伏(电压信号可以在极远距离进行恢复),使得RS-485的传输距离可以达到1200米(传输速率在110Kbps情况下)。最大传输速率10Mbps(传输距离12米)。RS-485支持多点通信,多个驱动器和接收器共享一条信号通道,在半双工连接模式下,只能有一个驱动器工作,多个驱动器同时启用,会产生线竞争(导致通信失败),同时容易产生大电流,可能导致芯片烧毁。一般485芯片建议使用限流和过热关闭功能保护芯片。
RS-485看:
http://ke..com/view/542681.htm
RS-232接口有DB25接口和DB9接口两种,现在普通使用的基本上都是DB9接口,DB25接口基本上不再使用,DB9接口定义如下(1.载波检测,2.接收数据,3.发送数据,4.数据终端准备就绪,5.信号地,6.调制解调器就绪,7.请求发送,8.允许发送,9.振铃提示),RS-232串口相互连接分为通过Modem连接和无Modem连接,由于以太网,RS-485总线,CAN总线等总线的普及,通过Modem连接做较长距离通信已经基本上不再使用。无Modem连接即直接连接则分为握手连接和无握手连接,无握手连接直接使用2,3,5三个针脚就可以使用,而握手连接则是必须使用请求发送,允许发送,准备就绪等信号,握手连接又称全信号连接。由于RS-232使用单端非差分电路,多条线路共用一个接地线,长距离传输时,不同节点的接地线电平差异可能会达到几伏,有可能导致信号的误读,从而导致RS-232传输距离不能超过15米,传输速率不能超过110Kbps.
RS-232看:
http://ke..com/view/112004.ht

『贰』 串口监视硬件电路

个人觉得PC需要有两个串口分别来监视AB间的收和发.因为232是全双工,有两条数据线,要监视两条数据线便需要将两个串口RXD分别接入到这两条线.

具体操作方式:PC串口1的RXD接到A的TXD,PC串口2的RXD接到A的RXD,PC串口1和2的GND跟AB的GND短接。

以上只提供了一个思路,未经过测试,有条件的话可以测试一下

『叁』 什么是串口通信

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。

一般完成这种功能的电路,我们称为串行接口电路。

串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。

(3)串口通信电路扩展阅读:

串口通信的结构:

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。

这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。

串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;

很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

『肆』 51单片机和计算机之间实现串口通信的电路图

串口通讯参考程序如下:

来源:深入浅出AVR单片机

#include<reg51.h>

unsignedcharUART_RX;//定义串口接收数据变量

unsignedcharRX_flag;//定义穿行接收标记

/*********************************************************************************************

函数名:UART串口初始化函数

调用:UART_init();

参数:无

返回值:无

结果:启动UART串口接收中断,允许串口接收,启动T/C1产生波特率(占用)

备注:振荡晶体为12MHz,PC串口端设置[4800,8,无,1,无]

/**********************************************************************************************/

voidUART_init(void){

EA=1;//允许总中断(如不使用中断,可用//屏蔽)

ES=1;//允许UART串口的中断

TMOD=0x20;//定时器T/C1工作方式2

SCON=0x50;//串口工作方式1,允许串口接收(SCON=0x40时禁止串口接收)

TH1=0xF3;//定时器初值高8位设置

TL1=0xF3;//定时器初值低8位设置

PCON=0x80;//波特率倍频(屏蔽本句波特率为2400)

TR1=1;//定时器启动

}

/**********************************************************************************************/

/*********************************************************************************************

函数名:UART串口接收中断处理函数

调用:[SBUF收到数据后中断处理]

参数:无

返回值:无

结果:UART串口接收到数据时产生中断,用户对数据进行处理(并发送回去)

备注:过长的处理程序会影响后面数据的接收

/**********************************************************************************************/

voidUART_R(void)interrupt4using1{//切换寄存器组到1

RI=0;//令接收中断标志位为0(软件清零)

UART_RX=SBUF;//将接收到的数据送入变量UART_data

RX_flag=1;//标记接收

//用户函数内容(用户可使用UART_data做数据处理)

//SBUF=UART_data;//将接收的数据发送回去(删除//即生效)

//while(TI==0);//检查发送中断标志位

//TI=0;//令发送中断标志位为0(软件清零)

}

/**********************************************************************************************/

/*********************************************************************************************

函数名:UART串口发送函数

调用:UART_T(?);

参数:需要UART串口发送的数据(8位/1字节)

返回值:无

结果:将参数中的数据发送给UART串口,确认发送完成后退出,采用非中断方式

备注:

/**********************************************************************************************/

voidUART_T(unsignedcharUART_data){//定义串口发送数据变量

ES=0;//禁止穿行中断

SBUF=UART_data;//将接收的数据发送回去

while(TI==0);//检查发送中断标志位

TI=0;//令发送中断标志位为0(软件清零)

ES=1;//打开穿行中断

}

/*********************************************************************************************

函数名:UART串口发送字符串函数

调用:UART_S(?);

参数:需要UART串口发送的数据(8位/1字节)

返回值:无

结果:将参数中的数据发送给UART串口,确认发送完成后退出,采用非中断方式

备注:

/**********************************************************************************************/

voidUART_S(unsignedchar*str)

{

while(1)

{

if(*str=='')break;

UART_T(*str++);

}

}

/*********************************************************************************************

函数名:主函数

调用:main();

参数:

返回值:无

结果:

备注:

/**********************************************************************************************/

voidmain()

{

unsignedcharBuf_data[]={"welcometoMCUworld. "};

UART_init();

UART_S(Buf_data);

while(1){

if(RX_flag==1)

{

UART_T(UART_RX);

RX_flag=0;

}

}

}

祝愿楼主马到功成

『伍』 关于串口通信的电路问题

这是一个 TTL 和 RS232 电平互换的电路。 完美而实用。

但是,当 MAX232 芯片的价格,可以和白菜相比的时候,这个电路就显得比较复杂了。

『陆』 帮忙看个单片机串口通信的电路图。 89c2051 max485

从电路看没问题,你做通讯的时候,485的使能端是如何控制的?

『柒』 单片机串口多机通信电路如何接!

网络文库 里 有
单片机C语言程序设计实训100例 的pdf 文档

有 仿真图、源码

『捌』 我想问下关于单片机与单片机之间串口通信的电路图

1、最简单的话,如果距离不是太远,直接两个单片机的RXD和TXD交叉相连就行了。

2、如果距离远一点,用串口也行,你可以查一下RS232电路,TTL转RS232电平。

『玖』 STM32F103单片机的串行口通信电路和GPRS通信电路怎么实现

实现单片机模块与设备模块之间的串口通讯,首先需要将双方正确地连接起来。异步串行通讯是很常用的一种模块间互连方式,一般会使同三条连接线,分别标记为Tx(或TxD)、Rx(或RxD),以及GND。其中Tx用于数据发送,是输出信号; Rx用于数据接收,是输入信亐,GND为公共地线。
题目图1中的USART1_Rx表示单片机的数据接收端,应该与图2中的GSM_TxD相连接,而图1中的∪SART1_Tx表示单片机的数据犮送端,应与图2中的GSM_RxD相连,单片机的GND与GSM模块的GND共在一起。然后就是软件工作,双方要约定一致的通讯参数(如波特率,数据位,校验位,停止位等),在单片机一端编写串口设置程序,并根据GSM模块的命令集和命令格式编写控制程序。
需要注意一点,常用的异步串行通讯接口的电平标准有RS232和TTL,RS232用于远距离长线连接,而TTL用于短距离连接。这两者是不可以直接互联的。如果需要连接,必须先转换成相同的电平标准。单片机引脚:信号是TTL标准的,而外购模块串口电平与模块制造厂家,模块型号等有关,需要查看模块的技术说明文件。

阅读全文

与串口通信电路相关的资料

热点内容
真皮车套怎么翻新 浏览:817
三亚华硕电脑维修点 浏览:694
下雨用什么材料防水 浏览:261
噪音检测电路 浏览:169
光感电路图 浏览:593
武威松下照相机维修点 浏览:298
医疗设备维修需要哪些资质 浏览:696
长沙市丽星维修电话 浏览:308
顶楼怎么处理防水最好 浏览:714
瑞安政府家电维修电话 浏览:229
电路算法 浏览:759
祁东家具厂在哪里 浏览:72
家具拆装打包 浏览:350
武汉二手家具市场地址 浏览:709
哪里可以买到猫咪家具 浏览:525
电路维修技巧 浏览:395
房屋内墙翻新怎么做 浏览:640
竹和橡胶木家具哪个好 浏览:534
泸州美的空调售后维修 浏览:433
摩托车铝合金cnc件怎么翻新 浏览:1000