基于RS-485协议实现单片机与单片机之间的通讯
基于RS_485协议的单片机对等分布式控制网络
固件包括网络通讯协议 、各种通用函数及控制 算法模块 、各硬件的驱动模块等. 它们可用汇编语言 或各种单片机的专用开发语言编写 ,以 ROM 或 E2 PROM 固化器固化嵌入于单片机系统中. 应用程序的 开发可以采用由 Visual C + + ,Delphi 或 Visual Basic 等高级语言编成类似 VISIO 风格的图形组态工具. 应用程序的设计及节点网络变量的连接采用控件拖 放的方式生成. 应用程序转换成二进制文件后 ,通过 PC 机串口由 RS2485 网络下传到指定的节点上. 此下 载过程由 PC 机上的开发平台软件和相应节点上的 接收固件共同完成.
网络节点的硬件设计要求实现网络的物理层. 网络节点为某种形式的单片机系统. 各种具有标准 串行通讯口的单片机均可选用. 网络中物理层的作 用是通过直接物理联接 ,逐位传输数据位流中每个 比特位. 设计重点在于保证正确传输比特流所要求 的全部电气 、机械及功能特性. 设计的技术规范主要 包括信号的所有物理特征 ,以及物理联接器的工作 方式. 一般来说 ,单片机串口为 TTL 电平. 因此 ,需要 通过电平转换芯片转换成 RS2485 标准的电平. 转换 芯片可选型号很多 ,这里选用 MAX1487E. 串口的发 送和接收端通过转换芯片内部连接在一起. 这样 ,各 节点通过对本身发送和接收的字节进行比较 ,可以 侦听到线路上的发送冲突 ,从而由软件将冲突消除. 转换芯片的另一个作用是当发生通讯冲突时 ,实现 对通讯线路的短路保护. 这是因为当 2 个节点同时 发送时 ,若两者同一时刻发送的位不同 ,则会发生短 路现象 ,严重时可能烧坏单片机的通讯接口. 整个系 统的硬件及原理图如图 1 所示.
单片机多机串口的通信
摘要本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计。
该设计是由单片机与单片机组成的主从控制系统,其中单片机做为上位机对下位单片机是实现控制和监视功能。
它包括通信和控制两个功能模块。
单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令。
由于此通信的单片接口是RS232的9针接口,且下位机数目有限(32台)。
所以本设计采用了RS485总线以及RS232转RS485的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并叙述了设计过程中必备的绘图软件Protel DXP的应用,以及编辑源代码软件keil uVision2的应用,实现了单片机对多个单片机组成采集终端的通信与管理。
关键词:单片机单片机RS-485 通信AbstractThe communication 、realized method and corresponding design of hardware and software between 单片and multiple MCUs based on RS-485 is described in detai in the article. This design instroduces a pincipal and subordinate control system which is composed of 单片and single chip. Divided from its function, it includes two parts: communication and control, in which 单片is used as master, and MCUs is used as slave so as to receive the single order from the master.The bus interface conversion and the design of master-slave communication protocol is introduced and The program flowchart of communication with interrupt process is also given. In the process of design, the use of unnecessary painter software and code editor software is depicted so that realize the communication and administration between 单片and multiple MCUs which composed collection terminal.Keywords: 单片MCUs RS-485 communication目录第一章绪论 (1)第二章课题实施方案 (2)2.1 系统硬件设计 (2)2.2 系统软件设计 (3)第三章硬件电路设计 (9)3.1 C51单片机结构 (9)一CPU结构 (10)二ROM存储器 (11)三I/O端口 (11)四定时器/计数器 (12)五中断系统 (13)3.1.2 51单片机引脚功能及其连接 (13)3.1.3 51 中断系统 (15)3.1.4 C-51的串行通信 (15)3.2.1串行接口RS232结构与引脚功能 (21)3.3 Protel DXP 2004原理图设计 (23)3.3.1 Protel 2004的基本操作 (23)3.3.2绘制原理图 (25)3.3.3制作芯片原理图库 (27)第四章软件电路设计 (30)4.1 系统的通信协议 (31)4.2 C51编程实现单片机与单片机之间的串行通信 (31)4.3 Windows集成开发环境uVision2 (35)4.3.1启动uVision2 (35)4.3.2创建程序 (36)总结 (41)致谢 (42)参考文献 (43)第一章绪论单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。
利用RS-485通讯协议实现PC机与单片机的多点通讯
合肥学院毕业设计(论文)任务书课题类型:工程设计类,实验研究类,计算机软件设计类,电路设计类,其它类课题来源:科研,教研,预研,生产实践,其它类系主任教研室主任指导教师年月日年月日2007年11月1日利用RS-485通讯协议实现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芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。
基于RS_485的单片机通信系统设计(发送端)
g专业课程设计报告题 目: 基于RS-485的单片机通信系统设计(发送端)航空大学信息工程学院2012 年 06 月 28 日姓 名: 专 业:通信工程 班级学号:09042218 同 组人 : 09042219 林 指导教师:小林专业课程设计任务书20 11-20 12 学年第 2 学期第 17 周- 20 周题目基于RS-485的单片机通信系统设计(发送端)容及要求1.利用RS485实现单片机的双向通讯;2.通过键盘实现从机的选择、发送数据的输入;3.主机显示发送的数据及从机编号。
4提高要求:通过键盘实现循环工作模式、指定从机这2种工作方式的切换。
进度安排17周:查找资料,进行系统硬件设计、软件方案设计;18周:硬件制作、软件的分模块调试;19周:系统联调;20周:设计结果验收,报告初稿的撰写。
学生:09042218 09042219 林指导时间:周一、周三、周五指导地点:E楼 610室任务下达2012年 6 月 1 日任务完成20 12年 6月 30日考核方式 1.评阅□ 2.答辩□ 3.实际操作□ 4.其它□指导教师小林系(部)主任注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要串口通信是一种广泛应用于各个领域的通信方式,在远距离数据传输和控制系统中,可以根据RS-485协议实现数据远距离传输。
本设计即是利用MAX485芯片实现半双工串行口通信的双向通信系统。
系统主要由主机控制模块、通信模块、数据输入模块和数据显示模块四个部分构成,实现了利用RS485实现单片机的双向通讯,通过键盘实现从机的选择、发送数据的输入,主机显示发送的数据及从机编号,通过键盘实现循环工作模式、指定从机这2种工作方式的切换。
该系统具有使用方便、操作简单、结构简单、成本低、可靠性高、可扩展性强、易于维护等特点,在实际生活中有广泛的应用前景。
基于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)
基于RS-485的单片机通信系统设计(发送端)(精华)
附录二:源程序代码................................................21
前 言
在以单片机为基础的数据采集和实时控制系统中,通过计算机中的RS-232接口进行计算机与单片机之间的命令和数据传送,就可以对生产现场进行监测和控制。由于计算机上的RS-232所传送的距离不超过30m,所以在远距离数据传送和控制时,可以利用MAX485的接口转换芯片将RS-232协议转换成RS-485协议进行远距离传送。
此外主芯片的复位方式有上电复位和手工复位两种。只要Vcc上升时间不超过1ms,通过在Vcc和RST引脚之间加一个10uF的电容和一个1KΩ,
由延时常数 Т=R*C=1KΩ*10uF=1ms
可知,当系统上电后即可完成复位。
时钟电路是给通信主机提供正常工作时序所必不可缺的部分,主机只有在统一的时序下才能进行正常的工作。主芯片内部由一个反相放大器构成振荡器,可以由它产生时钟。时钟可以由两种方式产生,即内部方式和外部方式。图2-3给出的是外部方式。Fosc可在1.2~12MHz之间选择,为方便计算,选取晶振频率fosc=12MHz,可以得到机器周期为:T=1/fosc=1us。电容对频率有微调作用,因此小电容取值为20pF。
MAX485芯片采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可/RE和DE端分别为接收和发送的使能端,因为MAX485工作在半双工状态,所以只需要一个信号控制MAX485的接收和发送即可。因此本模块采用MAX485芯片即可满足远距离通信的性能指标。
基于RS-485协议实现单片机与单片机之间的通讯
基于RS-485协议实现单片机与单片机之间的通讯摘要:介绍以RS-485为通讯方式的两个单片机之间的通讯,同时给出单片机与单片机之间的通讯程序设计。
关键词:RS-485通讯单片机串行通讯0 引言随着工业化的发展,人们对现场仪表的要求越来越高,为了满足控制室对现场的实时监控,确保现场数据的实时获取,需要用一种方式将现场情况实时反映给控制室,我们研究了一种方便简单功、能优越的通讯方式:用RS-485实现现场单片机和控制室单片机的实时通讯。
通过操作控制室单片机就能实现对现场单片机的操作,节省了大量的时间以及相应的人力。
1、RS-485通讯协议RS-485采用平衡传输方式,连接时需要在传输线上接终接电阻。
RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信,采用四线连接时,即只能有一个主(Master)设备,其余为从设备,无论是四线还是二线连接方式总线上最多可接32个设备。
RS-485最大传输距离约为1219米,最大传输速率为10Mb/s。
平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
只有在很短的距离下才能获得最高速率传输。
一般100米长双绞线最大传输速率仅为1Mb/s。
RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗,终接电阻接在传输总线的两端。
在短距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。
本设计中采用的485通讯元件是75LBC184,该器件带有内置高能量瞬变噪声保护装置,可提供可靠的低成本的直连(不带绝缘变压器)数据线接口,不需要任何外部元件。
2、单片机与单片机的通讯系统本设计中单片机选用C8051F020,该单片机有100个功能引脚,其中有64个通用I/O端口。
C8051F020内有2个增强型串行口:UARTO和UART1,这两个串行口都可以工作在全双工异步方式或半双工同步方式,并且支持多处理器通信。
75LBC184与单片机连接时只需将R和D端分别与单片机的RXD 和TXD 相连即可。
485通讯协议程序怎么写(51单片机的485通信程序案例)
485通讯协议程序怎么写(51单片机的485通信程序案例)
RS-485总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。
RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达200mv的电压,可靠通信的传输距离可达数千米。
使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。
51单片机的485通信程序
#ifndef __485_C__ #define __485_C__
#include 《reg51.h》
#include 《string.h》
#define unsigned char uchar
#define unsigned int uint
/* 通信命令*/
#define __ACTIVE_ 0x01 // 主机询问从机是否存在
#define __GETDATA_ 0x02 // 主机发送读设备请求
#define __OK_ 0x03 // 从机应答
#define __STATUS_ 0x04 // 从机发送设备状态信息
#define __MAXSIZE 0x08 // 缓冲区长度
#define __ERRLEN 12 // 任何通信帧长度超过12则表示出错
uchar dbuf[__MAXSIZE]; // 该缓冲区用于保存设备状态信息
uchar dev; // 该字节用于保存本机设备号
sbit M_DE = P1。
基于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 机与多单片机系统间的串行通信协议,已成功应用于故障维修实验系统中。
用485总线连接单片机和PLC通讯
我用485总线连接单片机和PLC通讯,但是单片机控制板上的485总是很容易烧掉,485的2脚接地,三脚io口控制,A,B线分别加1K的上下拉电阻,A,B线间加120欧平衡电阻,然后接PLC端。
帖子编号: 12939/622692, 发表用户:zhpubest发表时间:2005-5-31 20:48:26 访问次数:301 发贴IP:61.149.21.208文章内容:1、是不是485的2脚接地导致了片子被烧?(程序在485被烧死前是能够正常通讯的)2、是不是在输出端A,B线上串20欧电阻能够保护485?3、在不加光电隔离的情况下能不能解决这个问题?谢谢大家了,我的控制板已经在现场安装了,而且不在现场的话485也没有发生烧坏的情况,所以很急,希望大家能给我点建议~~相关帖子>>>:∙各位帮帮忙啊~~(0字)zhpubest[4次]2005-5-31 21:52:33∙最好用带光隔的,否则可能会有110V的电压差(0字)ywgcat[5次]2005-5-31 21:57:42o110V的电压差?PLC端485A,B线过来的信号电压是4.2V左右~,110V的电压差从哪里来啊?(0字)zhpubest[6次]2005-5-31 22:00:41▪我碰到过,两边的电势不一样,为什么我也没有弄清楚,不过我当时确实烧了好多,最后只有换成光隔的(0字)ywgcat[4次]2005-6-1 11:30:16▪光隔是不是这样做:A,B线上接光藕,光藕的vcc和gnd也用dc——dc模块与控制板电源隔离开?然后光藕输出接PLC?请指教~~(0字)zhpubest[2次]2005-6-1 13:40:18▪你最好用带光电隔离的芯片,我原来用的422的芯片max1490,你可以查查maxim的(0字)ywgcat[6次]2005-6-122:25:16▪我碰到过,两边的电势不一样,为什么我也没有弄清楚,不过我当时确实烧了好多,最后只有换成光隔的(0字)ywgcat[2次]2005-6-1 11:30:35∙大家帮帮忙啊,A,B线串20欧电阻能不能解决问题?(0字)zhpubest[1次]2005-6-1 11:00:45∙【JPG】未命名2.JPG(11K)供参考.将单片机与PLC的地线连起来试试;另可以在a,b线上各接两只1N4148分别到电源和地(124字)不乖[18次]2005-6-1 11:43:47∙--------以上部分请勿修改!-------------o谢谢,我试一试~~~(0字)zhpubest[1次]2005-6-1 13:36:10∙怎么没人理我啊~~(0字)zhpubest[1次]2005-6-1 11:47:39∙怎么没人理我啊~~(0字)zhpubest[1次]2005-6-1 11:47:45。
单片机RS-485多机通讯的实现
单片机RS-485多机通讯的实现尹红唐煜摘要本文介绍一种能利用RS-485电气特性和简单的结构方式,采用自定义串行通信协议,实现单片机RS-485多机通讯的方法和技巧。
关键词单片机,RS-485总线,总线冲突,串行通信1简介RS-485串行总线接口标准以差分平衡方式传输信号,具有很强的抗共模干扰的能力,允许一对双绞线上一个发送器驱动多个负载设备。
工业现场控制系统中一般都采用该总线标准进行数据传输,而且一般采用RS-485串行总线接口标准的系统都使用8044芯片作为通信控制器或各分机的CPU。
8044芯片内部集成了SDLC,HDLC等通信协议,并且集成了相应的硬件电路,通过硬件电路和标准协议的配合,使系统的通讯准确、可靠、快速。
8044在市场上日渐稀少,虽然有8344可替代,但几百元的价位与普通单片机几元至几十元的价位相差甚远,用户在开发一般的单片机应用系统时,都希望能用简单的电路和简单的通信协议完成数据交换。
譬如:利用单片机本身所提供的简单串行接口,加上总线驱动器如SN75176等组合成简单的RS-485通讯网络。
本文所述的方法已成功地应用于工程项目,一台主机与60台从机通讯,通讯波特率达64KBPS。
2 总线驱动器芯片SN75176常用的RS-485总线驱动芯片有SN75174,SN75175,SN75176。
SN75176芯片有一个发送器和一个接收器,非常适合作为RS-485总线驱动芯片。
SN75176及其逻辑如图1所示。
图1 SN75176芯片及其逻辑关系3 RS-485方式构成的多机通信原理在由单片机构成的多机串行通信系统中,一般采用主从式结构:从机不主动发送命令或数据,一切都由主机控制。
并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。
采用RS-485构成的多机通讯原理框图,如图2所示。
图2 采用RS-485构成的多机通讯原理框图在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。
单片机RS485通信接口、控制线、原理图及程序教学实例
单片机RS485通信接口、控制线、原理图及程序教学实例[前言]RS232 标准是诞生于RS485 之前的,但是RS232 有几处不足的地方:接口的信号电平值较高,达到十几V,使用不当容易损坏接口芯片,电平标准也与TTL 电平不兼容。
传输速率有局限,不可以过高,一般到一两百千比特每秒(Kb/s)就到极限了。
接口使用信号线和GND 与其它设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。
传输距离有限,最多只能通信几十米。
通信的时候只能两点之间进行通信,不能够实现多机联网通信。
针对RS232 接口的不足,就不断出现了一些新的接口标准,RS485 就是其中之一。
RS232 标准是诞生于RS485 之前的,但是RS232 有几处不足的地方:接口的信号电平值较高,达到十几V,使用不当容易损坏接口芯片,电平标准也与TTL 电平不兼容。
传输速率有局限,不可以过高,一般到一两百千比特每秒(Kb/s)就到极限了。
接口使用信号线和GND 与其它设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。
传输距离有限,最多只能通信几十米。
通信的时候只能两点之间进行通信,不能够实现多机联网通信。
针对RS232 接口的不足,就不断出现了一些新的接口标准,RS485 就是其中之一,它具备以下的特点:采用差分信号。
我们在讲A/D 的时候,讲过差分信号输入的概念,同时也介绍了差分输入的好处,最大的优势是可以抑制共模干扰。
尤其当工业现场环境比较复杂,干扰比较多时,采用差分方式可以有效的提高通信可靠性。
RS485 采用两根通信线,通常用A 和B 或者D+和D-来表示。
逻辑1以两线之间的电压差为+(0.2~6)V 表示,逻辑0以两线间的电压差为-(0.2~6)V 来表示,是一种典型的差分通信。
RS485 通信速率快,最大传输速度可以达到10Mb/s 以上。
RS485 内部的物理结构,采用的是平衡驱动器和差分接收器的组合,抗干扰能力也大大增。
(完整word版)单片机与PC机RS-485串行通信设计
沈阳航空航天大学课程设计(论文)题目单片机与PC机RS-485的串行通信设计班级学号学生姓名指导教师目录0 前言 (1)1 总体方案设计 (1)2 硬件电路设计 (2)2.1 AT89C51单片机 (2)2.2 时钟电路 (3)2.3 按键复位电路 (4)2。
4 MAX485转换芯片 (4)2.5 PC机RS—485 通信的接口电路 (5)3 软件设计 (6)4 调试分析 (8)5 结论及进一步设想 (8)参考文献 (8)课设体会 (9)附录1 电路原理图 (10)附录2 程序清单 (11)单片机与PC机RS-485串行通讯设计摘要:本文提出了一种PC机与单片机进行串行通信的方案,该方案通过PC机的RS232串口、485总线实现与51单片机的串口通信,PC机送出的信号进行电平转换后送到485总线,单片机则接受MAX485芯片转换得到的信号,从而进行串行通信。
该系统的特点是电路设计简单可行、通信稳定、实用性强。
关键词:PC机;单片机;串口通信;MAX485芯片;0前言在计算机测控领域经常会采用一台PC 机与一个或多个单片机组成小型的测控网络,这种测控系统充分发挥了单片机功能强, 抗干扰性能好, 温度适应范围宽,面向控制的优点,同时又可以利用计算机弥补单片机在数据处理和交互性等方面的不足。
在测控系统中一般是以PC 机作为主控机,采用串行通讯定时扫描以单片机为核心的智能控制器(从机)以便采集数据或发送信号。
PC机的串口一般采用RS-232的总线标准,但由于RS—232接口标准发布较早,难免有不足之处,主要体现在以下四点:1、接口信号的电平值较高,已损坏接口电路芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接;2、传送速率较低,在异步传送时,波特率为20Kbps;3、接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱;4、传输距离有限,最大传输距离标准为50英尺,实际上也只能用在50m左右。
基于RS-485总线的MODBUS通信协议在单片机上的实现
Telecom Power Technology研制开发MODBUS通信协议在单片机上的实现马亚玲(云南省玉溪技师学院玉溪工业财贸学校,云南以仓库智能改造为背景,主要介绍单片机和上位机之间通信网络和通信协议的选择,MODBUSMODBUS通信协议在上位机和单片机之间的串行通信,实现上位机对单片单片机;MODBUS;通信协议;RS-485;功能码The Realization of MODBUS Communication Protocol Based on RS-485 on SCMMA Ya-lingYuxi Industrial Finance and Trade School,Yuxi Technical CollegeBased on the intelligent warehouse transformation as the backgroundPC communication network and the choice of communication protocol,instruction and the function code using the MODBUSMODBUS communication protocolPC remote control of single MODBUS协议处理函数流程图功能码的功能实现功能码是主机读取单片机一个数据位数据的指令。
当从机接收到01功能码指令时,首先解析要获取的数据位的地址,然后读取该地址中的数据,将数据通过响应指令发送给上位机,即可实现一位数据的功能。
01功能码实现流程如图2 01功能码实现流程图MODBUS协议实现对设备的控制单片机控制装置的通信网络采用相连接。
将计算机作为通信的主机、单片机作为通信单片机中运行MODBUS实现在上位机对设备的控制。
MODBUS协议控制设备处理函数在单片机的数据存储空间中定义数据的接收和发单片机发送的数据首先送入发送缓冲区中,接收的数据放入到接收缓冲区中。
基于单片机温度控制系统RS485通信
{
case 1:
address = 0x80 + y;
break;
case 2:
address = 0xc0 + y;
break;
default:
address = 0x80 + y;//若果输入的不是第1、2行的行的话,默认在第1行显示
break;
}
address = address - 1;
void LCD1602_char(unsigned char x,unsigned char y, char ddata);//单字符显示函数
void LCD1602_string(unsigned char x,unsigned char y, unsigned char *p);//字符串显示函数
/**************************主函数*****************************/
void main()
{
LCD_init();//1602初始化
KEY_Init();//按键初始化
Delay_xms(10);
while(1)
{
LCD1602_string(1,1,str1);
switch(x)
{
case 1:
address = 0x80 + y;
break;
case 2:
address = 0xc0 + y;
break;
default:
address = 0x80 + y;
break;
}
address = address - 1;
while(1)
{
基于RS-485的单片机通信系统设计毕业设计
3.1 主机控制模块
图3.1主机控制模块
89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。塤礙籟馐决穩賽釙冊庫。
CH1模拟输入通道1,或作为IN+/-使用。
GND芯片参考0电位(地)。
DI数据信号输入,选择通道控制。
DO数据信号输出,转换数据输出。
CLK芯片时钟输入。
Vcc/REF电源输入及参考电压输入(复用)。
3.4 键盘输入模块
图3.5键盘输入模块
本次课设采用矩阵式键盘,其突出优点是I/O端口利用率高,可循环操作,而且扫描键盘时占用CPU时间少,操作灵活,矩阵键盘控制状态多,编写程序较方便,故此模块采用矩阵式键盘。栉缏歐锄棗鈕种鵑瑶锬。
而在以单片机为基础的数据采集和实时控制中,通过计算机中的RS-232接口进行计算机与单片机之间的命令和数据传送,就可以对现场进行监测和控制。由于计算机上的RS-232所传送的距离不超过30m,所以在远距离数据传送和控制时,可以利用MAX485的接口芯片将RS232协议转换成RS-485协议进行远距离传送。颖刍莖蛺饽亿顿裊赔泷。
3.6从机控制模块
3.6.1 单片机最小系统
图3.7单片机最小系统
单片机最小系统主要包括电源、复位电路和时钟电路等。
单片机实现RS485的通信毕业论文
本科毕业论文题目:单片机实现RS485的通信学生姓名:学号:院(系):专业:入学时间:年月导师姓名:职称/学位:副教授/博士导师所在单位:完成时间:年月单片机实现RS485的通信摘要在工业控制自动化领域,智能装置之间的通信占有重要的地位,RS485这种串行通信方式在工控自动化领域应用非常广泛,这种远距离通信可以采集远程信息和远程数据,实现远程控制和远程调节。
本文首先介绍了RS485通信标准,然后在此基础上设计了通信协议,并且提出了具体的通信实现方案。
系统使用STC89C52RC为主控芯片,以MAX485芯片实现RS485收发功能,并且加上键盘输入和LCD显示功能,最终完成主站和子站的一套小型远程控制方案。
关键词:RS485;工控自动化;总线;协议A Kind of Implementation Method of RS485 Communication WithMCUAbstractIn the field of industrial control automation,communication between smart devices is very important. The serial communication interface RS485 is widely applied in the field of industrial control automation.Remote command and remote data can be transported by a established connection.So we can realize remote control and remote monitoring by communication. This article first introduces the RS485 communication standard, and then introduces the design of communication protocol,finally puts forward a specific implementation scheme of communication. This system uses STC89C52RC as main control chip,MAX485 as RS485 transceiver, and combined with keyboard input module and LCD module.This system is a small remote control solution between main and sub stations.Keywords: RS485; industrial control automation; bus; protocol目录1. 绪论 (1)1.1. RS485简介 (1)1.2. 单片机的选型 (1)1.3. 通信协议简介 (2)1.4. 研究内容和意义 (2)2. 通信协议设计 (2)2.1. Modbus协议 (2)2.1.1. Modbus介绍 (2)2.1.2. Modbus帧格式 (3)2.2. 基于Modbus的协议设计 (4)2.2.1. 传输规则设计 (4)2.2.2. 设置单点命令 (5)2.2.3. 设置数据命令 (6)2.2.4. 召唤状态信息 (6)2.2.5. 召唤数据信息 (7)3. 系统设计 (7)3.1. 系统功能 (7)3.2. 系统硬件设计 (8)3.2.1. RS485收发模块 (8)3.2.2. LCD液晶模块 (9)3.2.3. 键盘输入模块 (10)3.2.4. 子站的LED灯模块 (11)3.2.5. 实际电路图 (11)3.3. 系统软件设计 (12)3.3.1. 主站程序设计 (12)3.3.2. 子站程序设计 (15)3.4. 编译和调试 (17)4. 论文总结 (19)主要参考文献 (19)附录A 主站协议实现........................................................................ 错误!未定义书签。
基于RS-485的单片机多机通信技术
基于RS-485的单片机多机通信技术
陈斌
【期刊名称】《电子产品世界》
【年(卷),期】2005(000)013
【摘要】本文介绍一种利用单片机本身所提供的串行通讯口,采用自定义串行通信协议,加上总线驱动器如MAX485等组合成简单的RS-485通讯网络,完成单片机间的多机通讯.
【总页数】4页(P91-94)
【作者】陈斌
【作者单位】中国电子科技集团公司第四十一研究所
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于RS-485的单片机多机通信技术 [J], 陈斌
2.基于RS-485总线实现的远距离多机主从式通信技术 [J], 樊宇;程全
3.单片机RS-485多机通讯技术 [J], 姜地
4.基于PC机与单片机的多机通信技术及抗干扰方法 [J], 葛昆
5.单片机RS-485多机通讯的实现 [J], 尹红;唐煜
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于RS-485协议实现单片机与单片机之间的通讯摘要:介绍以RS-485为通讯方式的两个单片机之间的通讯,同时给出单片机与单片机之间的通讯程序设计。
关键词:RS-485通讯单片机串行通讯
0 引言
随着工业化的发展,人们对现场仪表的要求越来越高,为了满足控制室对现场的实时监控,确保现场数据的实时获取,需要用一种方式将现场情况实时反映给控制室,我们研究了一种方便简单功、能优越的通讯方式:用RS-485实现现场单片机和控制室单片机的实时通讯。
通过操作控制室单片机就能实现对现场单片机的操作,节省了大量的时间以及相应的人力。
1、RS-485通讯协议
RS-485采用平衡传输方式,连接时需要在传输线上接终接电阻。
RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信,采用四线连接时,即只能有一个主(Master)设备,其余为从设备,无论是四线还是二线连接方式总线上最多可接32个设备。
RS-485最大传输距离约为1219米,最大传输速率为10Mb/s。
平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
只有在很短的距离下才能获得最高速率传输。
一般100米长双绞线最大传输速率仅为1Mb/s。
RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗,终接电阻接在传输总线的两端。
在短距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。
本设计中采用的485通讯元件是75LBC184,该器件带有内置高能量瞬变噪声保护装置,可提供可靠的低成本的直连(不带绝缘变压器)数据线接口,不需要任何外部元件。
2、单片机与单片机的通讯系统
本设计中单片机选用C8051F020,该单片机有100个功能引脚,其中有64个通用I/O端口。
C8051F020内有2个增强型串行口:UARTO和UART1,这两个串行口都可以工作在全双工异步方式或半双工同步方式,并且支持多处理器通信。
75LBC184与单片机连接时只需将R和D端分别与单片机的RXD 和TXD 相连即可。
R\ E\ 和DE端分别为接收和发送的使能端, 当R\ E\ 为逻辑0 时,器件处于接收
状态,当DE 为逻辑1 时, 器件处于发送状态。
单片机与单片机的通讯连接图如图1所示。
图1 单片机与单片机通讯连接图
通过单片机A发送命令给单片机B,单片机B接收到命令后执行相应的操作并将检测的数据送回给单片机A处理、显示,单片机A发送完命令后一直处于接收状态,这样就完成了A到B,B到A的发送接收。
3、程序设计
本设计采用C语言的编程方式,2个单片机均选择UART0来实现485的串行通信。
对UART0的控制首先要考虑交叉开关,然后对控制寄存器SCON0设置,UART0采用中断的工作方式,使用外部晶振作为系统时钟。
UART0初始化参数设置:
PCON = 0x80; //禁止UART0波特率1/2功能
SCON0 = 0x50; //方式一:8位UART 可变波特率TMOD = 0x21; //定时器1 模式2 8位自动重装
TR1 = 1; //启T1计数
对UART0的访问是通过串行数据缓冲器SBUF0来实现,一个SBUF0地址可以访问发送寄存器和接收寄存器,读操作将自动访问接收寄存器,而写操作自动访问发送寄存器。
下面给出单片机发送与接收的子程序。
单片机发送子程序:
void send(uchar num1)
{
SBUF=num1;
while(!TI);
TI=0;
}
单片机中断接收子程序:
void UARTT(void) interrupt 4
{
if(RI0)
{
RI0=0; //清除接收中断标志位
ch=SBUF0;
}
}
单片机之间的通讯只是用到了单片机的部分功能,可以在此基础上添加其他功能模块。
4、结束语
利用RS-485作为单片机之间的通讯保障了通讯的快速、稳定,尤其是在远距离传输时更体现了RS-485的优点。
现在工业现场对控制部分和检测部分分离的要求越来越多,RS-485通讯的使用满足了工业现场的要求。
参考文献
张俊谟.SOC单片机原理与应用——基于C8051F系列.北京: 北京航空航天大学出版社,2007
王振力.工业控制网络.北京:人民邮电出版社,2012
徐爱钧,彭秀华.单片机高级语言C51 Windows环境编程与应用.北京:电子工业出版社,2001。