RS232+RS485实现通讯实验板
实现RS232或RS485接口设备和CAN设备之间的通信
SCA-102应用案例
——实现RS232/RS485接口设备和CAN设备之间的通信
关键词:232转CAN,485转CAN,串口转CAN,现场总线系统要求:实现PC或者带有RS232/RS485接口设备和CAN设备之间的通信。
系统实现:
∙解决方案:SiboTech的网关SCA-102能够实现RS232/RS485与CAN总线之间透明传输,同时也可以满足从RS232/RS485到CAN的数据转换传输(RS232\RS485发送数据中带有CAN报文信息转换成相应的CAN报文发送)。
∙技术特性:SCA-102的CAN口支持CAN2.0A和CAN2.0B,波特率:5K~1000Kbps;
串口支持RS232/RS485,波特率:1200 ~115200bps;提供两种数据转换模式:透明转换、透明带标识转换;可设置断帧超时时间;CAN接口采用光电隔离,DC-DC电源隔离;串口接收缓存:4.5K字节,CAN接收缓存:1.6K字节。
∙配置方法:建立SCA-102串口(RS232)和电脑串口的连接,通过配置软件配置通讯相关参数:
系统连接:
如上图所示:RS232设备发送01 02 03 04数据,通过SCA-102,帧ID为06 27,所以只有节点2才能收到01 02 03 04四个数据,而节点2发送的数据01 02 03 04帧ID是06 43,因为SCA-102设置的接收ID范围为06 40~06 50,所以RS232设备能
接收到节点2发来的数据,从而实现RS232设备和CAN设备的数据通信。
如上图所示:通过SCA-102可以发送CANopen命令来控制各个CANopen从站,并接收CANopen从站节点的数据通过串口发送给PC机,然后PC机经过分析处理决定发送CANopen报文。
单片机对RS232-RS485相互通讯的硬件设计
70内蒙古石油化工2014年第4期单片机对R S232--R S485相互通讯的硬件设计雷兆钢(包头供电局,内蒙古包头014030)摘要:随着数据采集系统的广泛应用,通常由单片机构成的应用系统常需要与PC机之间交换数据,实现单片机与PC机之间的通讯功能,以充分发挥PC和单片机之间的功能互补,资源共享的优势。
但常用的R S一232协议在某些场合下不能满足设计的要求,如在长距离传输时,传输信号易受外界的干扰。
本文设计一种硬件电路。
利用R S一232争R S一485接口芯片,实现单片机与PC机之间的远程通讯。
关键词:长距离传输;R S一485接口;转换中图分类号:TP368.1文献标识码:A文章编号:1006--7981(2014)04—0070—03目前,在很多的分布式数据采集和控制系统中,为了克服单片机的功能不足,都引入了PC机。
并采用主从式结构模式,即以PC机为主机,分布在现场的各个单片机系统为从机而组成的系统结构进行串行通信。
大多数的电脑设备都具有R S一232接口,然而由于R S一232接口标准出现较早,难免有不足之处,R S一485即是其中一个性能优于R S--232的接口,较后者而言,R S一485的接口信号电平低,且与TTL电平兼容;传输速率高;传输距离长。
因此,在一定的场合中,需通过R S一485接口进行通讯,把R S一232接口转换为R S--485接口成为了实际通信中的一个必要环节。
l概述1.1串行通信的概念所谓“串行通信”是指外设和计算机问使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,同一时刻按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。
但单工目前已很少采用。
目前多数终端和串行接口都为半双工方式提供了换向能力,也为全双工方式提供了两条独立的引脚。
RS485通讯实验
RS485通讯实验与CAN 类似,RS-485 是一种工业控制环境中常用的通讯协议,它具有抗干扰能力强、传输距离远的特点。
RS-485 通讯协议由RS-232 协议改进而来,协议层不变,只是改进了物理层,因而保留了串口通讯协议应用简单的特点。
RS-485 协议主要是把RS-232 的信号改进成差分信号,从而大大提高了抗干扰特性。
对比CAN 通讯网络,可发现它们的网络结构组成是类似的,每个节点都是由一个通讯控制器和一个收发器组成,在RS-485 通讯网络中,节点中的串口控制器使用RX 与TX 信号线连接到收发器上,而收发器通过差分线连接到网络总线,串口控制器与收发器之间一般使用TTL 信号传输,收发器与总线则使用差分信号来传输。
发送数据时,串口控制器的TX 信号经过收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信号转化成TTL 信号通过RX引脚传输到串口控制器中。
RS-485 通讯网络的最大传输距离可达1200 米,总线上可挂载128 个通讯节点,而由于RS-485 网络只有一对差分信号线,它使用差分信号来表达逻辑,当AB 两线间的电压差为-6V~-2V 时表示逻辑1,当电压差为+2V~+6V 表示逻辑0,在同一时刻只能表达一个信号,所以它的通讯是半双工形式的。
RS-485 与RS-232 的差异只体现在物理层上,它们的协议层是相同的,也是使用串口数据包的形式传输数据。
由于RS-485 与RS-232 的协议层没有区别,进行通讯时,我们同样是使用STM32 的USART 外设作为通讯节点中的串口控制器,再外接一个RS-485 收发器芯片把USART 外设的TTL 电平信号转化成RS-485 的差分信号即可。
RS-485—双机通讯实验本小节演示如何使用STM32 的USART 控制器与MAX485 收发器,在两个设备之间使用RS-485协议进行通讯,本实验中使用了两个实验板,无法像CAN 实验那样使用回环测试(把STM32USART 外设的TXD 引脚使用杜邦线连接到RXD 引脚可进行自收发测试,不过这样的通讯不经过RS-485 收发器,跟普通TTL 串口实验没有区别),本教程主要以“USART—485 通讯”工程进行讲解。
RS485总线通信实验
if(m>=0 && m<='9') return m-'0';
else if(m>='A' && m<='Z') return m-'A'+10;
else if(m>='a' && m<='z') return m-'a'+10;
return 0;
}
uchar AscByte(uchar p) //ok
while(1)
{
if(RECV)
{
RECV=0;
if(ChkLRC()==0)
{
w=AscByte(0);
if(w==Addr) ModbusASC();
}
}
}
}
五、实验预习要求
学习单片机的串口设置的有关特殊寄存器的设置,学习ASCII码通信协议的有关知识。
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define tim0 -50000
#define BPS4800 -13
ByteAsc(n);
switch(cmd&0x0c)
{
case 0x00: //byteok
s=(uchar*)DatB+p;
for(i=0;i<n;i++)
ByteAsc(s[i]);
break;
case 0x04: //wordok
RS232串口通信实验
RS232串口通信实验一、认识RS232单片机的串行口是非常有用的,通过他我们可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作,在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口. 它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准.而工业控制的RS-232口一般只使用RXD,TXD,GND三条线.在讨论RS-232C接口标准的内容之前,先说明两点:首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。
因此这个标准的制定,并未考虑计算机系统的应用要求。
但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。
显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。
有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。
由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
(1)RS232(DB9)的接口说明1 DCD 载波检测2 RXD 接收数据3 TXD 发送数据4 DTR 数据终端准备好5 SG 信号地6 DSR 数据准备好7 RTS 请求发送8 CTS 允许发送9 RI 振铃提示(2)接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。
RS485实验一报告模板
实验一基于RS485和牛顿模块的A/D、D/A实验一、实验目的和要求(1)熟悉RS485总线与牛顿模块的结构组成,了解其工作过程,认识其结构形式。
(2)熟悉牛顿模块的基本工作原理。
(3)掌握应用RS485和牛顿模块进行电压输出和电压采集的方法。
二、主要仪器设备计算机、R-8017、R-8024、R-8043D、R-8053、RS232转RS485模块、24V稳压源三、实验内容和原理(1)RS485网络分析RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。
而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:1>.共模干扰问题:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。
但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。
当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
2>.EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:1>.通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌同时带隔离栅的产品。
RS232与RS485串行接口转换电路及其编程实现
第8卷第1期实验科学与技术・69・RS232与RS485串行接口转换电路及其编程实现胡玮,魏伟(华中科技大学电气学院.武汉430074)摘要:文章给出了一种通用RS232一RS485串口通信转换器的硬件结构和程序实现。
介绍了该转换器在电路测试技术课程电子实验报告中的应用实例。
关键词:电子实验报告;串口通信;转换器;MAX232芯片;MAX485芯片中图分类号:TP311:TM930文献标识码:B文章编号:1672—4550(2010)01—0069—03RS232toRS485SerialInterfaceConversionCircuitanditsProgrammeHUWei,WEIWei(CdlegeofElectrical&ElectronicEngineedng。
HuazhongUniversityofScieneandTechnology,Wuhan430074,China)Abstract:llfispaperpresentedaCOlllIgonusedRS232-RS485serialinterfaceconversioncircuitanditsprogrmme.Inaddition,thewholeconfigurationofelectronicalexperimentreportsforcircuitmeoryexperimentWaSalsogiveninthepaper.Keywords:ehctronicalexperimentreports;serialcommunication;conveyor;MAX232;MAX4851引言本文介绍的电路测试技术电子实验报告是电工实验台综合软件,该软件选用华中科技大学编著的电工基础实验讲义,制作了9个实验内容:2个直流实验,3个交流实验,4个动态实验。
每个实验相对于一个独立的实验界面,这个实验界面运用软件平台制作完成。
通过使用该软件,学生可以在课堂上完成实验的同时完成实验报告,并在网络打印机上打印出来。
RS232与RS485串行接口转换电路及编程实现
RS232与RS485串行接口转换电路及编程实现RS232和RS485都是串行通信接口,但它们在信号电平、传输距离和通信方式等方面有所不同。
RS232是一种单向通信的接口,常用于连接个人计算机和外部设备,如打印机、调制解调器等,信号电平为正负12V。
而RS485是一种半双工通信的接口,常用于远距离和多点通信,信号电平为正负2-6V。
为了实现RS232与RS485之间的转换,我们需要使用特定的电路和编程实现。
电路设计:1.信号电平转换:由于RS232和RS485的信号电平不同,所以我们需要使用电平转换电路将RS232的正负12V转换为RS485的正负2-6V。
这可以通过使用MAX202芯片来实现。
MAX202芯片是一个双向转换器,可以将RS232信号转换为RS485信号。
2.数据方向控制:RS485是一种半双工通信接口,需要通过数据方向控制线来实现发送和接收的切换。
可以使用一个双四极开关(如74HC4053)来控制数据方向。
其中A路和B路分别连接到RS485的A线和B线上,控制端连接到MCU的IO口。
3.电源供电:RS485通信线需要提供独立的5V供电,可以使用一个稳压芯片(如LM7805)来为RS485提供稳定的电源。
编程实现:1.初始化串口:在MCU上初始化串口,设置波特率、数据位、停止位等参数。
根据不同的MCU,具体的初始化方法会有所不同。
2.设置数据方向:根据发送或接收操作,通过控制IO口的电平来控制数据方向,将数据发送到RS485或从RS485接收数据。
3.发送数据:将要发送的数据写入串口缓冲区,并发送出去。
4.接收数据:通过轮询串口缓冲区检查是否有数据到达,若有数据则读取并进行相关处理。
总结:通过以上电路设计和编程实现,我们可以实现RS232与RS485之间的串行接口转换。
这样可以实现单向通信接口与远距离多点通信接口之间的互联。
在实际应用中,我们需要根据具体的系统需求和MCU的特性进行具体的电路和编程设计。
RS485实验指导书
实验一实验板点对点通信【实验目的】1. 建立双机通信的概念2. 掌握单片机串行口通信的编程和调试方法。
3. 掌握异步串行通信的数据格式及数据协议设定。
【实验环境】PC机一台,keil开发环境一套,RS232通信线【实验重点及难点】串行口通信的程序的设计,以及硬件的连接数据通信的协议等。
【实验原理介绍】1.1 程序下载方式介绍1.1.1 RS232与上位机通信下载程序由于要从上位机中下载程序到单片机中,所以需要建立他们之间的通信线路。
本实验采用MAX232芯片,max232是一种把电脑的串行口rs232信号电平(-10 ,+10v)转换为单片机所用到的TTL信号点平(0 ,+5)的芯片,下面介绍一下max232引脚图,看下面的图。
图3.1 max232引脚图本实验中采用11、12、13、14号管脚作输入输出,其中13、14与DB9连接,11、12与单片机连接。
1.1.2 485通信485通信的过程如下:从DB9接收数据,经过max485芯片实现电平转换,然后max485芯片经过高速光耦与单片机通信,将数据送入单片机中进行处理;处理完成后将数据返回至max485,再经DB9输出。
如此就可实现两单片机之间的通信或单片机与上位机间的通信。
下面介绍一下max485芯片接线方法,如下图示:图2 max485接线图其中1、4为输入输出管脚,经光耦与单片机连接,2、3为使能端,6、7为与外部通信接口。
1.2 MCU功能介绍本实验中选择stc12c5a60s2系列单片机,其管脚图如下:图3 tc12c5a60s2单片机管脚图stc12c5a60s2系列单片机是单时钟的单片机,增强型8051内核,速度比普通8051快8~12倍,宽电压:5.5~3.5V,2.2~3.8V,低功耗设计:空闲模式,掉电模式,工作频率:0~35MHz.时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。
全双工异步串行口,兼容8051的串口。
RS232、485、Can通讯测试_刘洋20150120
1 RS232通讯1.1 测试环境X20CP3586,自带RS232接口,接口地址IF1。
1.2 测试目标X20CP3586IF1接口发送数据,PC端通过串口调试助手接收数据,通讯正常。
PC端通过串口调试助手发送数据,X20CP3586IF1接口接收数据,通讯正常。
1.3 引脚说明与接线如图1-1:PC端RXD--->X20CP3586端TXPC端TXD--->X20CP3586端RXPC端SG----->X20CP3586端GND图1-11.4 软件配置图1-2图1-3如图1-2与1-3,CP3586IF1串口参数与串口调试助手设置一致,本次测试使用的波特率19200,偶校验,8位数据位,1位停止位。
1.5 添加代码添加dvframe库图1-4添加dvframe库的例子程序图1-5修改发送数据的结构,如图1-6,send_data修改为256长度的byte数组。
图1-6如图1-7,修改mode为 /PHY=RS232 /BD=19200 /DB=8 /PA=E /SB=1 含义是RS232通讯方式,19200波特率,8位数据位,偶校验,1位停止位。
与章节1.4中的图1-3一致。
Device为IF1,也就是CP3586对应的串口地址。
delem[0],delem[1]修改为13,10,表示换行。
图1-7图1-8修改Receiver接收端代码,如图1-9,跟发送端大同小异。
图1-91.6 测试结果图1-10如图1-10,串口调试助手显示接收到的数据,与图1-8中代码里写下发送数据一致。
图1-11如图1-11,以16进制发送1234567890,在监控里可以看到receive_data[0..4]收到对应的数据。
2 RS485通讯2.1 测试环境X20CP3586 + X20IF1030 + X20CS10302.2 测试目标X20IF1030与X20CS1030之间通过RS485相互通讯。
RS232串口通信实验
R S232串口通信实验(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验名称:RS-232串口通信实验实验目的:利用单片机的TXD、RXD口,学会单片机串行口的使用。
实验原理:1、51单片机内置全双工异步串行口,共有4种工作方式,电原理图如下:2、串行通信的编程:(1)串行口控制寄存器SCON(2)SM0、SM1—串行口工作方式选择位SM0 SM1 方式功能说明0 0 0 同步移位寄存器方式(用于扩展I/O口)0 1 1 8位异步收发,波特率可变(由定时器控制)1 02 9位异步收发,波特率为fosc/64或fosc/321 1 3 9位异步收发,波特率可变(由定时器控制)(3)REN—允许串行接收位该控制为由软件置“1”或清“0”。
REN=1 允许串行口接收数据。
REN=0 禁止串行口接收数据。
(4)TB8—发送的第9位数据方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为其他标志。
(例:在多机通讯中,可以标注传输内容为地址或数据) RB8—接收到的第9位数据方式2和3时,RB8存放接收到的第9位数据。
在方式1,如果SM2=0,RB8是接收到的停止位。
在方式0,不使用RB8。
(5)TI——发送中断标志位方式0时,串行发送第8位数据结束时由硬件置“1”,其它工作方式,串行口发送停止位的开始时置“1”。
TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。
CPU响应中断后, 向SBUF写入要发送的下一帧数据。
TI必须由软件清0。
RI——接收中断标志位方式0时,接收完第8位数据时,RI由硬件置1。
其它工作方式,串行接收到停止位时,该位置“1”。
RI=1,表示一帧数据接收完毕,并申请中断, CPU从接收SBUF取走数据。
该位状态也可软件查询。
RI必须由软件清“0”。
(6)特殊功能寄存器PCONSMOD:波特率倍增位方式0,波特率=fosc/12方式2,波特率= fosc*2SMOD/64方式1、3,波特率=定时器T1的溢出频率*2SMOD/643、多机通讯:主机传输的信息包括地址+数据,每个从机根据自己的地址来判断是否参与通讯SM2 —多机通信控制位用于方式2或方式3中的多机通信控制。
基于RS232及红外接口的多功能通讯实验板的设计-设计应用
基于RS232及红外接口的多功能通讯实验板的设计-设计应用1 引言计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯实验板,用于实现PC机与单片机间的串口通信、红外通信及PC机与PC机间的通讯实验。
2 实验板的组成原理与设计2.1 串行通信串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线,以每次一个二进制位移动的,他的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,他的缺点是传送速度低,串行通信有异步通行和同步通信两种基本通信方式,同步通信适用于传送速度高的情况,其硬件复杂,而异步通信应用于传送速度在50-19200波特之间,是比较常用的传送方式,在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由1位起始位,5-8位的数据位,1位的奇偶校验位(可省略)和1位停止位4部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。
2.2 AT89C51微控制器AT89C51单片机系统具有设计简单、性能可靠、功耗低等优点,它为用户预留下足够的软硬件资源,可供用户进行再开发应用,该系统除内部已有的4K FLASH存储器外,还可以扩展选址64K ROM 区和64K RAM区,供用户使用,用户在系统开发时,可以将自己的数据块和程序段、数据表,以若干控制子程序、数据块形式存放于AT89C51单片机的扩展ROM或RAM区中,以便系统工作时重复使用和反复调用。
2.3 RS232C通信接口RS232C是一种电压型总线标准,可用于设计计算机接口与终端或外设之间的连接,以不同的极性的电压表示逻辑值。
RS232串口通信实验
实验名称:RS-232串口通信实验实验目的:利用单片机的TXD、RXD口,学会单片机串行口的使用。
实验原理:1、51单片机内置全双工异步串行口,共有4种工作方式,电原理图如下:2、串行通信的编程:(1)串行口控制寄存器SCON(2)SM0、SM1—串行口工作方式选择位SM0 SM1 方式功能说明0 0 0 同步移位寄存器方式(用于扩展I/O口)0 1 1 8位异步收发,波特率可变(由定时器控制)1 02 9位异步收发,波特率为fosc/64或fosc/321 1 3 9位异步收发,波特率可变(由定时器控制)(3)REN—允许串行接收位该控制为由软件置“1”或清“0”。
REN=1 允许串行口接收数据。
REN=0 禁止串行口接收数据。
(4)TB8—发送的第9位数据方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为其他标志。
(例:在多机通讯中,可以标注传输内容为地址或数据)RB8—接收到的第9位数据方式2和3时,RB8存放接收到的第9位数据。
在方式1,如果SM2=0,RB8是接收到的停止位。
在方式0,不使用RB8。
(5)TI——发送中断标志位方式0时,串行发送第8位数据结束时由硬件置“1”,其它工作方式,串行口发送停止位的开始时置“1”。
TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。
CPU响应中断后, 向SBUF写入要发送的下一帧数据。
TI必须由软件清0。
RI——接收中断标志位方式0时,接收完第8位数据时,RI由硬件置1。
其它工作方式,串行接收到停止位时,该位置“1”。
RI=1,表示一帧数据接收完毕,并申请中断, CPU从接收SBUF取走数据。
该位状态也可软件查询。
RI必须由软件清“0”。
(6)特殊功能寄存器PCONSMOD:波特率倍增位方式0,波特率=fosc/12方式2,波特率= fosc*2SMOD/64方式1、3,波特率=定时器T1的溢出频率*2SMOD/643、多机通讯:主机传输的信息包括地址+数据,每个从机根据自己的地址来判断是否参与通讯SM2 —多机通信控制位用于方式2或方式3中的多机通信控制。
物联网应用实训-RS232_RS485串口通信
STC12C5A60S2单片机的串行口
对于具有串口2的STC12C5A60S2单片机,串口2 只能使用独立波特率发生器作为波特率发生器, 不能够选择定时器1作为波特率发生器;串口1 可以选择定时器1作为波特率发生器,也可以 选择独立波特率发生器作为波特率发生器。
1.选择定时器1作为波特率发生器
串行通信中的异步通信
在异步数据传送中,CPU与外设之间事先必须 约好两项事宜: 第一:字符格式。双方要约好字符的编码形式、 奇偶校验形式、以及起始位和停止位的规定。 第二:波特率(Baud rate)。波特率是衡量 数据传送速率的指标,它要求发送站和接收站 都要以相同的数据传送速率工作。
通用的异步接收器/发送器UART
空 闲 起 始 位 D0 LSB 1帧共10位 数据位8位 D7 MSB 停 止 位 空 闲
8051串行口的工作方式
1、方式1输出
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
停止位
2、方式1输入
RXD 位采样脉冲 RI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
串行口2通信如下: 设置串口2的工作模式S2CON。 设置串口2的波特率相应的寄存器和位,包括:独立波特率 发生器寄存器BRT、BRTx12和S2SMOD位。启动BRT(置位 BRTR),BRT开始计数。 设置串口2的中断优先级(设置PS2和PS2H,也可以不设置, 取默认值),设置打开相应的中断控制位(ES2和EA)。 如要串口2发送,将数据送入S2BUF。 编制串行中断服务程序,在中断服务程序中要设置清除中 断标志指令(分别是接收完成标志S2RI和发送完成标志 S2TI)。 串口2通信例程
串口通信电平转换实验报告
课程实验报告一实验名称:串口232电平转换电路设计与软件实现课程名称:现场总线技术一、实验目的及要求:实现两台电脑的RS232通过RS485接口协议的通信1、熟悉串口结构及参数指标2、熟悉芯片的内部结构,工作机制3、完成电路原理图的绘制及具体实验板的焊接,并调试成功4、编写串口驱动程序,要有基本的数据收发及参数设置功能5、最后软件与硬件连调,实现两台电脑的半双工通信二、实验器件及调试实现环境:三、实验原理介绍:要实现两台电脑的RS232通过RS485接口协议实现远距离通信,这就要求发送端,首先通过芯片MAX232完成对RS232串口输出信号(正负电压)的电平转化(-5v~-15v转换为5v,+5v~+15v转换为0v),使之符合MAX485收发器对输入信号(高低电平)的要求后,由MAX485收发器将TTL信号通过两线差分平衡传输出去;接收端同样先由MAX485将TTL信号接收下来,再经MAX232将TTL 信号转换为正负电压后传给RS232,以实现两台电脑通过RS485接口协议通信。
四、硬件设计:硬件包括三部分:电源,232电平转换,485信号收发电路。
电源部分:采用外部晶体管稳压双电源供电。
232电平转换电路:首先MAX232是电荷泵芯片,它是美信(MAXIM)公司专为RS232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS 数据后从R1OUT、R2OUT输出。
实验二 RS232串口通信实验
实验二RS-232串口通信实验
一实验目的
(1)熟悉RS-232接口电路的作用与电路组成;
(2)掌握计算机间利用串口进行通信的连接方法;
(3)掌握串口通信软件的使用方法。
二实验所需材料
本实验要求使用:
◆UTP类电缆
◆两个RJ-45连接器
◆两个DB-9串口改RJ-45口连接器
◆两台计算机
◆一把网络压线钳
◆一把电缆剥线钳
◆一台电缆测试仪
三实验步骤
1、每两人一组,在老师指导下,根据下面的线序关系排列线序对;
一端:
2
3、使用压线钳将两端压紧。
4、使用测试仪测试连通性。
5、将两个DB-9连接器分别固定在两台计算机的串口(COM1)上。
6、将做好的线缆两端分别接入固定好的两个DB-9连接器的RJ-45端口上。
7、使用串口通讯软件测试,验证能否通讯。
四、实验总结
1.制作网线,选定一节双绞线,用剥线钳剥去两端的皮,按线序关系排列线序对,将两端分别插入水晶头中,用压线钳压好。
2.用测试仪测试网线的连通性。
3.将两个DB-9串口改RJ-45口连接器分别插入两台PC机的DB—9串口种,再用网线插入连接器的RJ-45口中,连接两台电脑。
4.用软件测试连接的状况。
一开始显示的界面
5.选择发送的文件,点击“打开”即可接收到。
6.接收文件的一端,显示文件内容。
GYJ-0066 12C5A60S2单片机可编程开发板 带RS232串口通讯及RS485通讯
【简要说明】【标注说明】【接线说明】双485接线示意图【单片机程序下载接口】【485通信说明】【原理图】提供PDF格式程序说明:1、所有IO口流水灯3次。
2、所有IO口闪烁输出5次。
3、按下P2.0按键点亮P1.0灯,按下P2.1按键点亮P1.1灯,按下P2.2按键点亮P1.2灯,按下P2.3按键点亮P1.3灯,4、接收串口发送的数据再返回原值。
/********************************************************************单片机与PC机采用9针串口,MAX232通讯,波特率默认为9600.485通信,波特率默认为9600.单片机接收PC机发送的ASC||码如下:01、全开:PC发送'I';02、全关:PC发送'i';03、第1路开:PC发送'A';04、第2路开:PC发送'B';05、第3路开:PC发送'C';06、第4路开:PC发送'D';15、第1路关:PC发送'a';16、第2路关:PC发送'b';17、第3路关:PC发送'c';18、第4路关:PC发送'd';*********************************************************************************************************************************/ #include<STC12C5A60S2.H> //库文件#include <intrins.h>#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int //宏定义无符号整型/********************************************************************初始定义*********************************************************************/unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容/********************************************************************初始定义*********************************************************************///开光量输入低电平有效sbit IN1=P2^0;sbit IN2=P2^1;sbit IN3=P2^2;sbit IN4=P2^3;/*定义八位输出*/sbit OUT1= P0^0;sbit OUT2= P0^1;sbit OUT3= P0^2;sbit OUT4= P0^3;/********************************************************************延时函数*********************************************************************/ void delay1()//延时程序0.2秒{uchar m,n,s;for(m=50;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}/********************************************************************延时函数*********************************************************************/ void delay(uchar t){uchar i,j;for(i=0;i<t;i++){for(j=250;j>0;j--);{ ;}}}/********************************************************************闪烁函数*********************************************************************/ void shanshuo(uchar j){uchar i;for(i=0;i<j;i++){P0=0X00;P2=0X00;P3=0X00;delay1();P0=0XFF;P2=0XFF;P3=0XFF;delay1();}}/********************************************************************流水灯函数*********************************************************************/ void liushuideng(uchar j){uchar i,temp,a,k;for(i=0;i<j;i++){temp=0xfe; //11111110定义每次一个灯亮P3=P2=P0=temp;//直接对1/0口赋值,使批输出低电平。
rs232转rs485
RS232转RS485电路图2007年06月09日 14:31 不详作者:不详用户评论(0)关键字:本图为R232转RS485的通讯电路转换图点击查看放大的图纸自制无源RS232-485转换器一、RS-232、RS-422与RS-485的简单介绍RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。
RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。
其传送距离最大约为15米,最高速率为20kb/s,并且RS-232是为点对点(即只用一对收、发设备)通讯而设计的。
所以,RS232只适合于本地通讯使用。
RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。
为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到1200米(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。
为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA提出的建议标准都是以RS作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。
RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
二、自制RS232-485转换器电路图:RS232-485转换器主要包括了电源、232电平转换、485电路三部分。
本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485电路采用了MAX485集成电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS232+RS485实现通讯实验板
1 引言
计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,本文介绍一种将 RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯实验板,用于实现PC机与单片机间的串口通信、红外通信及PC机与PC机间的通讯实验。
2 实验板的组成原理与设计
2.1 串行通信
串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线,以每次一个二进制位移动的,他的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,他的缺点是传送速度低,串行通信有异步通行和同步通信两种基本通信方式,同步通信适用于传送速度高的情况,其硬件复杂,而异步通信应用于传送速度在50-19200波特之间,是比较常用的传送方式,在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由1位起始位,5-8位的数据位,1位的奇偶校验位(可省略)和1位停止位4部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。
2.2 AT89C51微控制器
AT89C51单片机系统具有设计简单、性能可靠、功耗低等优点,它为用户预留下足够的软硬件资源,可供用户进行再开发应用,该系统除内部已有的 4K FLASH存储器外,还可以扩展选址64K ROM区和64K RAM区,供用户使用,用户在系统开发时,可以将自己的数据块和程序段、数据表,以若干控制子程序、数据块形式存放于AT89C51单片机的扩展ROM或 RAM 区中,以便系统工作时重复使用和反复调用。
2.3 RS232C通信接口
RS232C是一种电压型总线标准,可用于设计计算机接口与终端或外设之间的连接,以不同的极性的电压表示逻辑值。
-3~-25V表示逻辑"1"。
+3~+25V表示逻辑"0"。
其电平与TTL和CMOS电平是不同的,所以在通信时必须进行电平转换。
2.4 MAX232芯片
MAXIM公司的MAX232/MAX232A接收/发送器是MAXIM公司特别为满足EIA/TEA2232E的标准而设计的,他们在 EIA/TIA2232E标准串行通信接口中日益得到广泛的应用,他们具有功耗低、工作电源为单电源、外接电容仅为0.1μF或1μF,采用双列直插封装形式、接收器输出为三态TTL/CMOS等优越性,为双组RS 232接收发送器,工作电源为+5V,波特率高,仅需外接0.1μF或1μF的电容,其价格低,可在一般需要串行通信的系统中使用,MAX232外围需要 4个电解电容,是内部电源转换所需电容,其取值均为1μF/25V宜选用钽电容并且应尽量靠近芯片。
2.5 红外发送、接收电路
红外通讯以红外线作为通讯载体,通过红外光在空中的传播来传输数据,他由红外发射器和红外接收器来完成,在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。
红外发送电路中采用的红外发射器件是塑封的TSAL6200红外发射二极管,他将周期的电信号转变成一定频率的红外光信号,他是一种时断时续的高频红外脉冲信号,但脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小,表示传输的是数据"0"还是
"1"。
红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。
红外载波为频率38KHz的方波,采用脉宽调制PWM方式发送,通过待发送二进制数据的"0"或"1"控制两个脉冲串之间的时间间隔,即PWM的占空比。
红外载波可以使用单片机内部的定时器的PWM功能实现,也可以通过外围硬件电路实现,红外接收采用HS0038B红外接收器,当接收收到38KHz的载波信号时,HS0038B接收器会输出低电平,否则输出高电平,从而可以将"时断时续"的红外光信号解调成一定周期的连续方波信号,经单片机处理,便可以恢复出原数据信号。
2.6 设计思路
本实验板选用的ATMEL公司的AT89C51单片机为核心,RS232C接口选用9芯接头,电平转换芯片选用MAX232A,用来实现232电平与TTL电平的转换,RS485接口芯片选用65LBC184,他使用单一电源,电压在+3
~+5.5V范围内都能正常工作,能完成TTL与RS485电平之间的转换,红外发送电路中采用的红外发射器件是红外发射二极管,他将周期的电信号转变成一定频率的红外光信号。
红外接收芯片HS0038B是能够接收红外信号的小型化接收器,通过外围的自激振荡电路产生38KHz的载波频率。
为了及时显示各接口发送、接收数据的状态,在实验板上还设置了状态显示电路,由接口信号通过放大电路驱动相应发光二极管,例如,当232芯片接收到PC 机的数据时,232芯片的接收端会使相应的二极管闪烁,红外发送电路在发送数据时,其相应的发光管也会及时闪烁,而PC机上的串口通信程序使用一个叫做串口助手的程序,他可以设置串口,波特率,并发送/接收串口数据,故本文只介绍单片机部分的通信程序。
2.7 单片机软件设计
在实验板上还集成了51单片机来组成最小控制系统,所选用的AT51单片机的串口有4种工作方式,用于多机异步通信时选用方式2或方式3,数据帧格式为:1位起始位,8位数据位,1位停止位,进行串行通信前要对串口进行初始化,设置波特率和串行口工作模式,设定单片机的地址码为F1H1,在传送数据前先联络地址码,如地址码正确则传送数据,否则继续联络地址码,数据的通信采用累加和校验的方法,即每传送一组数据(个数自定,设为100个),校验一次累加和是否正确,正确则回送00H,否则回送FFH1,通信可以由中断传送方式和查询方式,本文采用查询方式,选择波特率为1200b/s,定时器T1作为波特率发生器,选用晶振为12MHz,定时器T1工作于模式2,定时器初值为0E6H,AT89C51单片机的通信程序框图如图2。
2.8 通讯实验示例
实验1 利用RS232接口及MAX232电平转换芯片来实现PC机与单片机的串口通信。
实验2 首先通过RS232接口将PC机1与实验板1连接,将232电平转换为TTL电平,然后通过RS485接口把TTL电平转换为485电平并连接到实验板2上,再通过RS232实现与PC机2的串口通信。
实验3 通过RS232接口将PC机1与实验板1连接,将232电平转换为TTL电平,然后通过红外发送电路将信号无线传送到实验板2上,再通过安装在实验板2上的RS232接口与PC机2完成通信。
3 结语
该系统硬件结构简单,功能可靠,硬件与软件均调试通过,在实际现场的应用中具有一定的实用价值,对于为了解并掌握多机间串行通信,红外通信的初学者是一个理想的实验工具。