单片机多机串口通信.docx
《单片机多机串口通信.docx》由会员分享,可在线阅读,更多相关《单片机多机串口通信.docx(43页珍藏版)》请在三一办公上搜索。
1、摘要本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计.该设计是由单片机与单片机组成的主从限制系统,其中单片机做为上位机对下位单片机是实现限制和监视功能.它包括通信和限制两个功能模块.单片机作为下位机在整个系统中属于附属地位,主要用来接收上位机的命令.由于此通信的单片接口是RS232的9针接口,且下位机数目有限(32台).所以本设计采用了RS485总线以及RS232转RS485的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并表达了设计过程中必备的绘图软件ProtelD
2、XP的应用,以及编辑源代码软件keiluVisio2的应用实现了单片机对多个单片机组成采集终端的通信与治理.关键词:单片机单片机RS-485通信AbstractThecommunication、realizedmethodandcorrespondingdesignofhardwareandsoftwarebetween单片andmultipleMCUsbasedonRS-485isdescribedindetaiinthearticle.ThisdesignInstroducesapincipalandsubordinatecontrolsystemwhichiscomposedOf单片an
3、dsinglechip.Dividedfromitsfunction,itincludestwoparts:communicationandcontrol,inwhich单片isusedasmaster;andMCUsisusedasslavesoastoreceivethesingleorderfromthebusinterfaceconversionandthedesignofmaster-slavecommunicationprotocolisintroducedandTheprogramflowchartofcommunicationwithinterruptprocessisalso
4、given.Intheprocessofdesign,theuseofunnecessarypaintersoftwareandcodeeditorsoftwareisdepictedsothatrealizethecommunicationandadministrationbetween单片andmultipleMCUswhichcomposedcollectionterminal.KeyWOrdS:单片MCUsRS-485communication目录摘要AbstractIl第一章绪论5第二章课题实施方案6系统硬件设计6系统软件设计7第三章硬件电路设计13C51单片机结构13100oh-F
5、FFFh15三I/O端口16四定时器/计数器16五中断系统1751单片机引脚功能及其连接1751中断系统19C-51的串行通信20串行接口RS232结构与引脚功能25ProteIDXP2004原理图设计28Protel2004的根本操作28绘制原理图30制作芯片原理图库31第四章软件电路设计34系统的通信协议35C51编程实现单片机与单片机之间的串行通信35总结41致谢42参考文献43第一章绪论单片机由于其具有限制功能强、设计灵活和性能价格比高的特点.因此在工业限制领域得到了广泛的应用,在工业限制领域,计算机的数量有一台变为多台,多台计算机组成了多机系统,计算机分布关系可以分为紧密耦合和松散耦
6、合,主从限制系统是一种松散式的多机系统,计算机之间由通信协议来联系.此时往往需要组成上位机对下位机的通讯系统,由一台上位机去限制多台下位机.主从控制就是一台功能较强的主机和32台左右的从机组成的多机系统.上位机一般是单片机,下位机一般是单片机系统,执行单片机与单片机串行通信的问题.本课题计算机的通信由上位机(主机)限制.主机向各个从机发送命令或者接受从机反应的信息,主机有权修改从机的参数,接受从机的数据,还可以查看从机的状态,可以说主机是主从限制的大脑.在本设计中主机用来监视或查看从机的状态,并向从机发送命令,在系统中起着主导地位.我们通过查看主机界面的状态即可响应的限制发送与接收.从机在系统
7、中处于附属地位,是命令的执行者.从机之间不能直接联系,它们之间必须有主机这个桥梁联系.在设计中我们选用了单片机作为我们的主机,从机为单片机(我们本着可得,性价比采用此选择).但在选择中出现了通讯接口的问题,我们是串型通讯,在单片机和单片机之间,我们需要电平转换,而且考虑到工业运用问题我们需要考虑总的选用,在常用的RS232和RS485中,不能使用双端信号,因此要求使用较高的输出电压,而且其传输距离仅为15米.RS485通信接口的信号传输是用两根线之间的电压表示逻辑1和O的由于发送端两根传送线,而且接受接收端也是两根传送线.这样RS485接受和发送仅需要2根线就完成了传输.由于传输线采用了差动信
8、道,所以它的干扰抑制性好,乂由于它的阻抗低无接地问题.传输距离可高达1200m,传输速度可达IMbPS比拟上面的数据,考虑工业要求,我们采用了RS485方式.第二章课题实施方案系统硬件设计系统全局图:c51单片机串行接口是一个可编程的全双工串行通信接口.它可用作异步通信方式UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工的C51多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口.C51单片机通过管脚RXD(,串行数据接收端)和管脚TXD(,串行数据发送端)与外界通信.SBUF是串行口缓冲存放器,包括发送存放器和接收存放器.它们有相同名字和地址
9、空间,但不会出现冲突,由于它们两个一个只能被CPU读出数据,一个只能被CPU写入数据图2-1系统结构图在多媒体网络播送系统中,利用单片机与单片机够成的多机通信系统,采用主从式结构:主从限制多个从机,作为从机的单片机不主动发送命令或数据,一切都由主单片机限制;并且在一个多级系统中,只有一台主机,各台从机之间不能相互通信,即使有信息交换也必须通过主从转发.采用RS-485构成的多机通信系统原理框图、在总线末端接一个匹配电阻,吸收总线上的反射信号,使得正常传输信号无毛刺.匹配电阻的取值应该与总线的特性阻抗相当.在总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响.将总线上的差分信号的正端A
10、+和负端B-之间接一网络.当总线上没有传输时,正端A+的电平大约为,负端B-的电平大约为,即使有干扰信号,也很难产生串行通信的起始信号0,从而增加了总线抗干扰的水平.在该系统中,由于采用MAX487差分平衡收发器芯片,半双工传输方式,因此驱动器可接的下位机根据需要最多可扩展至128个.系统软件设计(一)程序设计#include#indude#include#defineucharunsignedchar#defineuintunsignedintucharkey_bpard;ucharD_ADDR;voiddelay(inttt)(uchari;for(;tt0;tt-)(for(i=0;i2
11、;i+);ucharGET_KEY(void)(ucharlin_onjin_tw;Pl=OXFO;if(PI&OxOf)!=OxfO)(delay(20);if(PI&OxOf)!=OxfO)(lin_on=Oxfe;while(lin_on&OxlO)!=0)(Pl=lin-on;if(PI&OxOf)!=OxfO)linJw=(PI&OXFO)|OXFO;return(lin_tw)+(lin_on);)else(lin_on=(lin_onl)10x01;return(O);+voidchose_key(void)(uchari;Pl=OXFO;IF(PiaOxOf)IOxfO)i=G
12、ET_KEY();Pl=OXFO;while(PI&0xf0)!0xf0);)swich(i)case136:key_bpard=l;brake;case72:key_bpard=2;brake;case40:key_bpard=3;brake;case24:key_bpard=4;brake;case132:key_bpard=5;brake;case68:key_bpard=6;brake;case36:key_bpard=7;brake;case20:key_bpard=8;brake;case130:key_bpard=9;brake;case66:key_bpard=0;brake;
13、case34:brake;case18:brake;case129:brake;case65:brake;case33:D_ADDR=OxO2;break;case17:D_ADDR=001;break;)voidsend-but(void)SBUF=D_ADDR;while(ITI);TI=O;SBUF=key_bpard;while(ITI);Tl=O;delay(3000);)voidmain(void)(IP=OxOO;TM0D=021;SCON=OxSO;PCON=OxOO;THI=OXfd;TR1=1;PS=I;EA=I;while(l)CHOSE_key();send_buf()
14、;)voidchose(void)interrput4using1(while(RI=O);P2=SBUF;RI=O;#include#include#include#defineucharunsignedchar#defineuintunsignedintucharcount;ucharrbuf3;ucharKEYWORD;uchartab10=0x40,0xf9f0xa4,0x60z0x99f0x92,0x82,0x(8,0x00,098;voiddelay(inttt)(uchari;for(;tt0;tt-)(for(i=0;il)(count=0;SBUF=KEY_BORD;whil
15、e(!TI);TI=O;)else(count=0;)(二)通信协议设计为保证通信进行,首先做到单片机的串行口与主控机串行口的设置保持一致,即数据格式一致、通信波特率相同.如果是多点通信,每个从机要分配一个地址码.系统中协议有三种帧格式:呼叫帧、应答帧和数据帧.呼叫帧由主机发出.应答帧只能由从机发出.当从机收到呼叫帧后,把本机地址和当前状态回发给主机.设置开机自检、自诊断程序,机器不能带病工作:如果需要,还可以设置在工作空闲时或定时自检程序.单片机与单片机构成的多机通信系统采用主从结构.数据通信总是有主机发起.主机处于发送状态”说时从机总是处于“听”状态.假设主机发送的地址信息与本地从机相符,
16、那么接受该数据,否那么,继续“听总线上的数据.假设从机需要发送数据,那么必须等到主机轮询本地从机时,才可以提出请求.这种网络模式下从机不会“侦听其他从机对主机的响应,这样就不会对其他从机产生错误的响应.主从式多机通信协议中,通信速率设为.系统上电或复位后,使所有从机的SM2位置1处于只接收地址帧监听状态.主机向从机发送一帧地址信息,从机接收到地址帧后,将其与本地地址比拟,判断是否一致.假设与本地地址相符,那么去除SM2,同时发送应答帧,进入通信状态;其他与本地地址不相符的从机那么保持SM2位不变,继续监听.主从机均以中断方式进行通信,程序流程如图2-2所示:图2-2通信流程图(三)多机发送是的
17、分时说、听多机传送时,通信协议要合理地协调总线的分时公用,通信波特率的计算要有冗余.采用RS-485总线连接的多个站点,由于485总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,即任一时刻只有一个站点在“说,那么数据将在通信总线里碰撞,结果是处于接受状态的站点不能收到正确的数据.在RS-485总线通信网络中,必须限制好每个站点的“听、说”状态,即收、发状态,对总线的使用权必须进行分配,以使各个从机的发送限制信号在时间上完全隔离,保证能及时、正确地传输数据.要做到总线上设备在时序上的严格配合,必须要遵从一下儿点:1 .复位时,主从机都应该处于接受状态.2 .限制端RE、DE的信
18、号有效脉冲宽应该大于发送或接收一帧信号的宽度.3 .总线上所连接的各从机的发送限制信号在时序上完全隔开.通信方式一般是主节点循环轮询各个从节点.各个从节点都有自己的网络通信识别号,即本机地址.当朱节点的轮询信息中包含自己的网络通信识别号,此从节点对此帧进行应答,其他节点那么忽略此帧,不做处理.第三章硬件电路设计C51单片机结构 一个8位CPU 128字节特殊功能存放器(SFR) 128字节数据存储器(RAM) 4K字节内部程序存储器(ROM) 两个16位定时器/计数器 四组32位可编程的并行I/O端口 一个串行通信端口 中断限制系统 内部振荡器和时钟电路 系统总线C51单片机内部包含了作为微型
19、计算机所必须的根本功能部件,各功能部件相互独立而融为一体,集成在同一块芯片上.C51内部结构如图3-1所示:-CPU结构(一)算术逻辑部件ALUC51的ALU是一个性能极强的运算器,能进行加、减、乘、除四那么运算,也可进行与、或、非等逻辑运算,还可以实现数据传送、移位、判断和程序转移等功能.(二)定时限制部件C)SCOSC是限制器的核心,能为限制器提供时钟脉冲.(三)专用存放器组1 .程序计数器单片程序计数器单片是一个二进制16位程序地址存放器(编码范围为OOoOH-FFFFH,共64KB),专门用来存放下一条需要执行的指令的内存地址,能自动加Io2 .累力口器ACC累加器ACC是一个专门用来
20、存放操作数或运算结果的8位存放器.3 .通用存放器B通用存放器B是专门为乘法和除法设置的8位存放器,通常用来存放积的高8位或除法的余数.4 .程序状态字PSW程序状态字PSW是用来存放指令执行后有关状态的8位标志存放器,其各位的定义如图3-2所示:PSWOPSWIPSW2PSW3PSW4PSW5PSW6PSW7CyACFORSiRSoOVP图3-2程序状态字各位定义5.堆栈指针SPSP是一个8位存放器,能自动加、减1,专门用来存放堆栈的栈顶地址.遵循“先进后出,后进先出”的规律.6 .数据指针DPTRDPTR是一个16位的存放器,由两个八位存放器DPH和DPL拼装而成.主要用来存放存储器的地址
21、,DPH用来存放高8位,DPL用来存放低8位.二ROM存储器C51内部仅有4KBROM存储器,地址范围为C)C)OoH-C)FFFHoc51可外接ROM,但一定保证片内和片外之和不能超过64KB(即C51有64KB的寻址区OoOoH-FFFFH),在4KB地址范围为OOOOH-OFFFH里还可供片外使用,其取决于限制线EA,如图3-3所示1000H-FFFFH外部ROMOOOOH-OFFFH片内ROMEA= 1片夕卜ROMEA=O图3-3程序存储器地址分配三I/O端口I/O段口是MCS-51单片机对外部实现限制和信息交换的必经之路,是一个过渡的集成电路,用于信息传送过程中的速度匹配和增强他的负
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串口 通信

链接地址:https://www.31ppt.com/p-6825133.html