MAX485实现PC机与单片机之间的串行通讯

合集下载

MAX485在PC机与单片机间通信的应用

MAX485在PC机与单片机间通信的应用
因为 RS - 485 接口具有良好的抗干扰性、速率 高、传输距离远等优点,使其成为首选的串行接口, 实现 PC 机一端发送数据单片机接收,或单片机发 送 PC 机接收( 半双工) ,并且保证发送数据的可靠 性和发生错误时的处理功能。而且,RS - 232 接口
在总线上只允许连接 1 个收发器,即单站能力,而 RS - 485 接口在总线上是允许连接多达 32 个收发 器,即具有多站能力,这样用户可以利用单一的 RS - 485 接口方便地建立起设备网络,在测控应用领域, 应用很广泛。因而本次设计选用了 RS - 485 接口 芯片与上位机进行串行通信。
Abstract: The paper discussed how to use MAX485 to realize the serial communication between PC and ATmega48 single chip microprocessor. It gives the related hardware design electric circuit and the software design thought. Key words: MAX485; ATmega48; serial communication
中图分类号: TN915 文献标识码: A 文章编号: 1009 - 2552( 2011) 06 - 0180 - 03
MAX485 在 PC 机与单片机间通信的应用
王 颖,吕显强,张 菁
( 大连海洋大学信息工程学院,大连 116023)
摘 要: 介绍采用 MAX485 芯片实现 PC 机与 ATmega48 单片机的串行通信,给出相关的硬件设 计电路和软件设计思想。 关键词: MAX485; ATmega48; 串行通信

利用MAX485实现PC机与单片机之间的串行通讯

利用MAX485实现PC机与单片机之间的串行通讯

利用MAX485实现PC机与单片机之间的串行通讯摘要介绍一种RS-485接口芯片MAX485,利用此芯片可以很方便地实现PC机与单片机之间的串行通讯,同时给出PC机与单片机实现多点通讯的实例。

关键词RS-485串行通讯多点通讯随着数据采集系统的广泛应用,通常由单片机构成的应用系统,如仪器仪表、智能设备等,都需要与PC机之间交换数据,实现与PC机之间的通讯功能,以充分发挥PC和单片机之间的功能互补,资源共享的优势。

以往常用的RS-232协议在很大程度上已不能满足设计的要求,如传输速率慢,传输距离短,传输信号易受外界的干扰等缺点。

本文介绍一种性能优越的RS-485接口芯片,以及如何利用此芯片实现单片机与PC机之间的远程通讯,并讨论将其功能进行扩充,实现PC机管理单片机阵列的功能。

1 RS-485协议简介及MAX485芯片介绍由于RS-232的种种缺点,新的串行通讯接口标准RS-449被制定出来,与之相对应的是RS-485的电气标准。

RS-485是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。

它采用差分信号进行传输;最大传输距离可以达到1.2 km;最大可连接32个驱动器和收发器;接收器最小灵敏度可达±200 mV;最大传输速率可达2.5 Mb/s。

由此可见,RS -485协议正是针对远距离、高灵敏度、多点通讯制定的标准。

MAX485接口芯片是Maxim公司的一种RS-485芯片。

采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。

它完成将TTL电平与RS-485电平转换的功能。

其引脚结构图如图1所示。

从图中可以看出,MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。

RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD 和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B 时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。

基于RS485总线的PC与多个单片机通信的C语言程序

基于RS485总线的PC与多个单片机通信的C语言程序
思路:
PC方面:可以用MSCOMM控件先发一个字符表示接收地址,后延迟1ms,(注意PC端在485通讯在字符发送过程中一定要加延迟,这是我多次测试的总结,如果是用调试助手的话,他内部代码已经加过延迟了,就不必考虑这个问题)再发控制指令,初学者建议直接用调试助手
单片机方面:首先对接收数据进行核对,如果不是本地地址,放弃,如果是本地地址,在检测命令是否正确,如果正确,做出处理后返回PC本地地址并发送命令
{
while(RI==0);
RI=0;
if(SBUF==0x01) //发送指令
{
MAX485_DIR=1; //开发送
SBUF=AddressID;
while(TI==0);
TI=0;
SBUF=0x6f; //发送o
while(TI==0);
TI=0;
SBUF=0x6b; //发送k
MAX485_DIR=0; //开接收
sbit MAX485_DIR=P3^7;
main()
{
//****************通讯设置
SCON = 0xF0; //REN=1允许串行接受状态,串口工作模式3,SM2=1
TMOD|= 0x20; //定时器工作方式2
PCON|= 0x80; //波特率提高一倍
IP=0x10; //串口优先级高
}
if(SBUF==0x00) //收
{
//这里怎么处理就看你自己要怎么做了,你没要求,我也不好怎么写,就自己写吧
}
}
}
程序调试通过,可以直接套用
//TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、停止位1。效验位无(11.0592)

基于MAX485的双机通信系统设计

基于MAX485的双机通信系统设计

河南机电高等专科学校毕业设计论文论文题目:基于MAX485的双机通信系统设计系部电子通信工程系专业应用电子技术专业班级2004级应电043班学生姓名崔国贤学号*******指导教师董蕴华2007年4月15 日摘要本论文使用A T89S51单片机作为核心控制器件,通过一按键控制自身主从机模式的选择,在一个主机和一个从机模式下完成双方的数据传送,这给现代工业测控领域带来了新的技术,为集中处理各种数据奠定了基础。

这个数字通信系统主要由MAX485,BS207,74LS164及MAX232组成。

系统基于汇编语言,依照一定的协议,具有高速数据传送、直接数字控制、人工智能等特点。

该通信系统以RS-485串行标准总线接口进行连接,具有结构简单、体积小、可靠性高、灵活性强、价格低等优点。

也有门限效应的缺点。

关键词:MAX485;AT89S51;数字通信系统ABSTRACTThis paper with the AT89S51 the single a machine as the core controller piece.One key-pad of the electrical circuit controlled itself model.When one is active model and the other is passive model,the systerm could achieve commmunication of data,this brought the once new technique paved the way for intergrated managerment.It brought new technical to the measure and control realm of the current modern industry,This DCS(Digital Communication System) primarily consisted of MAX485 ,BS207,74LS164 and MAX232.It based on Assembly Language, depended on some protocol, had high speed data communication ,directly digital control ,artificial intelligence too. Its interface is RS-485 ,it has lots of advantages, such as the structure simple, small volume, high reliability, good flexibility, the price is low .One disadvantage of this DCS is no graceful degradation.Key W ords MAX485;AT89S51;DCS目录毕业设计任务 (I)摘要 (Ⅱ)绪论 (1)第1章数据通信基础 (2)1.1通信的分类及原理 (2)1.2串行通信 (2)1.3波特率及通信协议的设定 (4)第2章异步串行通信接口 (7)2.1 异步串行接口的分类 (7)2.2 RS-232及RS-422A与RS-423A总线标准芯片及接口 (8)2.3 RS-485总线标准芯片及20mA电流环串行接口 (11)第3章系统硬件电路的组成 (15)3.1 AT89S51简介 (15)3.2标准+5V电源电路及显示电路的分析与设计 (19)3.3A T89S51芯片程序烧写电路的分析与设计 (21)3.4 R S-232接口与RS-485接口转换电路分析与设计 (22)3.5 双机通信系统电路图及电路板的分析与设计 (23)第4章系统软件分析及系统调试 (25)4.1“主--从”机通信系统 (25)4.2程序流程图 (27)4.3设计结论 (30)第5章结束语 (31)致谢/参考文献 (32)附录 (34)绪论现代智能通信系统是在计算机、电子、通讯和网络技术飞速发展的基础上,通过在已知初始条件及其约束条件下构造一个控制模型,实现对多项物理量实施精确和优化控制通信的系统。

RS485-2

RS485-2

串行通信是计算机与外部设备进行数据交换的重要渠道。

由于其成本低,性能稳,遵循统一的标准,因而在工程中被广泛应用。

单片机以其优越的性价比和灵活的功能配置,PC 则以其丰富的软硬件资源,为实现串行数据传输提供了良好的条件。

本文是在此基础上,设计了一个利用RS- 485 进行长距离串行数据传输系统的硬件电路部分。

该系统利用PC 原有的RS- 232 标准的接口,经过RS- 232 点评与TTL电平的转换,接到MAX485 芯片上,而另一端的单片机上,利用了MAX485 芯片转换电平并提供RS- 485 标准接口。

中间通过双绞线进行传输,从而实现计算机与单片机的长距离串行通信。

2.概述RS- 232 串行通信是早期为促进公共电话网络通信而制定的标准,是目前异步通信中应用最广的标准总线,适用于数据终端设备和数据通信设备之间的接口。

然而,由于发送器和接收器之间具有公共信号地,因此不能使用双端信号,这样可能会使共模噪声耦合到信号系统中。

因此,设计者不得不使用较高传输电压进行传输,另外,这种传输方式的信号传输速度最高为20kB/s,最长距离仅为15m。

显然这样的传输速度和距离已不能适应现代网络通信的要求,为了使许多自身带有通信接口的设备能够在尽量降低硬件成本和减轻软件工作量的情况下实现长距离串行通信,笔者开发了一种利用RS- 485 同RS-232 进行接口来实现长距离串行通信系统。

使用RS- 485 通信标准,线路连接简单,实现容易,而且它使用通信双方不共地,具有充分平衡传输特点,有较强的抗干扰能力,传输速率高,传输距离可达1200 米。

利用PC 机现有的RS- 232 接口经过RS- 232/485 标准转换电路,与RS-485 总线连接,而在另一端单片机通过RS- 485 接口芯片与RS- 485 总线连接,从而实现PC 机与单片机之间的长数据串行通信。

单片机与PC 机串行通信的总体原理图如图1 所示。

图1 总体原理图3.硬件设计3.1 单片机与RS- 485 的接口电路设计单片机芯片发出的串行数据为TTL 电平,同时也只能接收TTL电平,因此在采用RS- 232C、RS- 422、RS- 485 标准时,必须进行电平转换(即进行TTL 电平与各种通信物理协议电平的相互转换)。

基于RS485总线技术的PC机与单片机多机通讯设计

基于RS485总线技术的PC机与单片机多机通讯设计
PC机接收一组数据子程序流程图如图 4 ( b). PC机在发送地址成功后 ,发送的控制命令字为 01H
(单片机发送数据命令 ) ,然后打开 r. txt文件 ,接收 的 10帧数据存放在 r. txt中 ,同时计算累加和. 接收 数据完成后 ,再接收单片机发送的累加校验和 ,把接 收累加校验和与 PC 机计算的累加和相比较 ,如相 同则发回 59H (“Y”的 ASCⅡ码 ) ,结束本次接收 ;否 则发送 4EH (“N ”的 ASCⅡ码 ) ,重新接收数据.
始化顺序如下 :
PC机发送一组数据子程序流程图如图 4 ( a).
(1)向 通 信 线 路 控 制 寄 存 器 LCR ( 2FBH ) 送 首先发送从机单片机的地址码 ,然后接收从机单片
80H ,即寻址波特率除数寄存器.
机回送的地址码 ,如相符则发控制命令字给从机. 控
(2)向两个波特率除数锁存器 (LSB 和 M SB )送 制命令字为 00H (单片机接收数据命令 )以及 01H
器 , R6作累加和寄存器用.
2. 1 通讯协议约定
2. 2 单片机通讯程序设计
● 系统中允许接有 64台从机 ,它们的地址分
串行口选择工作方式 1,其波特率由定时器 T1
别为 00 - 3FH.
的溢出率与 SMOD 位同时控制. 定时器 T1 则选操
● 地址 FFH 是对所有从机都起作用的一条 作模式 2, SMOD = 0波特率不增倍 ,单片机的振荡频
其它为非法命令.
发送该下位机的地址 ,此时所有下位机均中断响应 ,
● 每次收发数据块的长度为 10个字节.
比较总线上的地址是否与本机地址相符 ,如不符则
● 波特率设计为 2400 b / s,数据格式用 8 位 退出中断程序 ,相符则发回地址. 当地址为 FFH 时 ,

采用MAX485实现单片机与PC机串行通信的一种方法

采用MAX485实现单片机与PC机串行通信的一种方法
[3] 5 李5 华, ;712!3 系列单片机实用接口技术 [ ;] ,北 京: 北京航空航天大学出版社, 399%, [.] 5 戴梅萼, 史嘉权, 微型计算机技术与应用 5 樊昌信, 詹道庸, 徐炳祥, 等, 通信原理 [ ;] , 北京: 国防工业出版社, 399!, [+] 5 索 5 梅, 郑甫京, ):4)% @ ):.)% 汇编语言程序设计 [ ;] , 北京: 清华大学出版社, 399+,
"# 引# 言
CD 机有一个功能强大的可编程异步串行控 制器 A)B" 和 ) 个采用 W/9)!)D 串行通信标准接 DH7) , 而单片机中有一个采用 33L 电 口 DH7: 、 平的可编程串口, 所以要使它们之间通信, 必须采 用一个电平转换电路。这里采用符合 W/9@AB 标 准的 7*?N7 公司生产的 7*?@AB 和波士公司生 W/9@AB 转接头, 将 W/9)!) 信号电 产的 W/9)!)D 、 平转换成 W/9@AB 标准电平信号, 利用 W/9@AB 标 准电平的优势, 在一些特殊通信领域内实现 CD 机和单片机之间的串行长距离可靠通信。具体任 务是在 CD 机一端发送数据单片机接收, 或单片 ( 半双工) , 并且保证发送数据 机发送 CD 机接收 的可靠性和发生错误时的处理功能。
:# W/9@AB 标准
在计算机网络以及分布式工业控制系统中, 经常采用串行通信来达到信息交换的目的, 无论 是完整的 > 层 H/N 模型还是简化的 ! 层 ( 或 @ 层) W/9)!)D 、 工业局部网络, 其第一层均为物理层, W/9@)) 、 W/9@AB 既是物理层的协议标准, 也是串 行通信接口的电器标准, 采用标准接口后, 能很方 便地把各种计算机、 外部设备、 测量仪器有机地连 接起来, 构成测量、 控制系统。:;>> 年 RN* 制定 了新的标准 W/9@@; , 它定义了在 W/9)!)D 中没有 的 :" 种电路功能, 可以支持较高的传输速率、 较 远的传输距离, 提供平衡电路改进接口的电器特 性, 规定用 !> 脚连接器 W/9@)! X @)) 是 W/9@@; 标 W/9@AB 则是 W/9@)) 的一个变型。 准的子集,

基于RS485总线的PC机与多单片机系统的串行通信

基于RS485总线的PC机与多单片机系统的串行通信

4 结束语运用形态学基本运算(膨胀、腐蚀)及其联合运算(开、闭)不需额外增加专门的去噪运算,在运用开、闭运算修整工件时只要选用比噪声大的结构元素即可去除噪声。

修整工件时,只要选择合适的结构元素,即可去除突刺、填补缺陷,从而达到平滑轮廓、快速识别工件的目的。

而进行边缘检测时,只需对工件进行膨胀(或腐蚀)处理后与原图片相减即可得到边缘轮廓线。

综上所述,运用形态学运算进行工件识别预处理,其算法简单、易于实现,提高了整体识别速度。

参考文献:[1] 吴敏金.图像形态学[M ].上海:上海科学技术文献出版社,1991.[2] 飞思科技产品研发中心.Matlab6.5辅助图像处理[M ].北京:电子工业出版社,2003.[3] 谢根全.工件表面质量缺陷的计算机自动识别[J ].机械与电子,2001,(4):51-52.[4] 姚 远,王广雄,张田文.基于模糊细胞神经网络的彩色图像形态学重构[J ].计算机学报,1999,22(7):727-732.[5] 李 林,高 政.一种新颖的灰度形态学算子[J ].计算机辅助设计与图形学学报,2001,13(9):820-823.[6] 王家文,曹 宇.Matlab6.5图形图像处理[M ].北京:国防工业出版社,2004.作者简介:张金萍 (1977-),女,河南尉氏人,东北大学机械工程与自动化学院博士研究生,研究方向为机电一体化;刘 杰 (1944-),男,辽宁昌图人,东北大学机械工程与自动化学院教授,博士研究生导师,研究方向为振动利用与控制、机电一体化。

基于RS485总线的PC 机与多单片机系统的串行通信林 颖,罗金炎,刘 骄,陈 忠,李伟光(华南理工大学,广东广州510640)Serial Communication Based on RS485Bus between PC and Multisinglechip SystemL IN Ying ,L U O Jinyan ,L IU Jiao ,CHEN Zhong ,L I Wei gu ang(South China University of Technology ,Guangzhou 510640,China ) 摘要:根据所开发的电子产品故障维修实验系统的要求,提出了一套基于RS485总线的PC 机与多单片机系统间的串行通信协议,已成功应用于故障维修实验系统中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用MAX485实现PC机与单片机之间的串行通讯
摘要介绍一种RS-485接口芯片MAX485,利用此芯片可以很方便地实现PC机与单片机之间的串行通讯,同时给出PC机与单片机实现多点通讯的实例。

关键词RS-485串行通讯多点通讯
随着数据采集系统的广泛应用,通常由单片机构成的应用系统,如仪器仪表、智能设备等,都需要与PC机之间交换数据,实现与PC机之间的通讯功能,以充分发挥PC和单片机之间的功能互补,资源共享的优势。

以往常用的RS-232协议在很大程度上已不能满足设计的要求,如传输速率慢,传输距离短,传输信号易受外界的干扰等缺点。

本文介绍一种性能优越的RS-485接口芯片,以及如何利用此芯片实现单片机与PC机之间的远程通讯,并讨论将其功能进行扩充,实现PC机管理单片机阵列的功能。

1 RS-485协议简介及MAX485芯片介绍
由于RS-232的种种缺点,新的串行通讯接口标准RS-449被制定出来,与之相对应的是RS-485的电气标准。

RS-485是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。

它采用差分信号进行传输;最大传输距离可以达到1.2 km;最大可连接32个驱动器和收发器;接收器最小灵敏度可达±200 mV;最大传输速率可达2.5 Mb/s。

由此可见,RS-485协议正是针对远距离、高灵敏度、多点通讯制定的标准。

MAX485接口芯片是Maxim公司的一种RS-485芯片。

采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。

它完成将TTL电平转换为RS -485电平的功能。

其引脚结构图如图1所示。

从图中可以看出,MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。

RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只
需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。

在与单片机连接时接线非常简单。

只需要一个信号控制MAX485的接收和发送即可。

同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。

2用PC机实现与8031单片机的多点通讯
用8031单片机实现与PC机之间的通讯时,必须使用电平转换接口芯片,因为单片机输出的是TTL 电平,必须经过电平转换才能和PC机的一致。

本文中采用的是RS-485协议,所以单片机需要采用RS -485接口;而在PC机侧使用的是RS-232与RS-485的电平转换接口。

在本文中采用的是武汉新特电子公司的电平转换接口,该接口使用简便、无需外加电源、数据传输速率最高可达10 Mb/s,而且不用任何软件初始化和修改。

另外实现多点通讯还需要了解器件的驱动能力,当器件的驱动能力足够大时,我们就可以根据需要加入所需要的节点。

本文中所举的例子就是利用一台PC控制64块单片机的工作,采用多点通讯形式。

通过发送控制字和工作方式字给相应的单片机,使其进行相应的操作。

单片机在接收到数据后,进行数据的采集工作,等到PC机再发指令,将采集到的数据反馈给PC机,PC机对数据进行分析和计算。

PC机的程序可以采用Windows下任何一种面向对象的高级语言来编写,它比在DOS下的利用串口中断的方式进行更加简便,应用程序将控制权交向串口的驱动程序,接收和发送的中断完全由串口驱动程序来控制,减轻了编写过程中的很多麻烦。

本程序中选用的是Delphi的串口通讯控件Spcomm来实现。

参数的设置可以自动完成。

单片机采用中断工作方式,用汇编语言编写,通讯波特率为1 2 kb/s,由于要和PC机进行通讯,选用11 0592 MHz的晶振,保证和PC机的波特率完全一致,避免由于波特率不同引起的收发错误。

为了配合多机工作方式,选用工作方式3。

单片机的通讯流程图如图3所示。

下面给出用Delphi编制的通讯程序和单片机的接收和发送程序。

单片机初始化子程序:
单片机接收子程序:
REPT:CLRRI
MOVA,SBUF
MOV@R0,A
RET
在程序编写过程中,为了保证接收和发送数据的正确性,我们加入了CRC校验程序,另外PC机发送给单片机的是ASCII码形式的数据,同样需要经过简单的变换,在此均作了省略。

利用RS-485协议进行串行通讯,可以保证快速、稳定远距离地传输数据。

在目前以及以后的工业控制和其他方面必将得到越来越多的应用。

相关文档
最新文档