基于单片机主从控制系统的软硬件设计毕业设计论文.docx

上传人:b****5 文档编号:8821180 上传时间:2023-05-15 格式:DOCX 页数:40 大小:335.76KB
下载 相关 举报
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第1页
第1页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第2页
第2页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第3页
第3页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第4页
第4页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第5页
第5页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第6页
第6页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第7页
第7页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第8页
第8页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第9页
第9页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第10页
第10页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第11页
第11页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第12页
第12页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第13页
第13页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第14页
第14页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第15页
第15页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第16页
第16页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第17页
第17页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第18页
第18页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第19页
第19页 / 共40页
基于单片机主从控制系统的软硬件设计毕业设计论文.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机主从控制系统的软硬件设计毕业设计论文.docx

《基于单片机主从控制系统的软硬件设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机主从控制系统的软硬件设计毕业设计论文.docx(40页珍藏版)》请在冰点文库上搜索。

基于单片机主从控制系统的软硬件设计毕业设计论文.docx

基于单片机主从控制系统的软硬件设计毕业设计论文

单片机主从控制系统的软硬件设计

摘要:

主从控制中,单片机的通信由上位机(单片机)控制。

主机向各个从机发送命令或者接受从机反馈的信息,主机有权修改从机的参数,接受从机的数据,还可以查看从机的状态,可以说主机是主从控制的大脑。

在本设计中主机用来监视或查看从机的状态,并向从机发送命令,在系统中起着主导地位。

我们通过主机的界面可以看到继电器的状态,而且可以修改命令改变继电器组的工作情况。

这种控制方式已经在工业中广泛的运用。

从机在系统中处于从属地位,是命令的执行者。

从机之间不能直接联系,它们之间必须有主机这个桥梁联系[3]。

在设计中我们选用了89C51单片机作为我们的主机,从机也为89C51单片机(我们本着可得,性价比采用此选择)。

RS485通信接口的信号传输是用两根线之间的电压表示逻辑1和0的。

因为发送端两根传送线,而且接受接收端也是两根传送线,这样RS485接受和发送仅需要2根线就完成了传输。

由于传输线采用了差动信道,所以它的干扰抑制性好,又由于它的阻抗低无接地问题。

传输距离可高达1200m,传输速度可达1Mbps。

比较上面的数据,考虑工业要求,我们采用了RS485方式。

主从控制的下位机也为8051系列,我们采用的是89C51。

89C51是一个低功耗、高性能的含有4k字节快擦可编程/擦除只读存储器的8位CMOS单片机。

允许写入程序,在8051系列中,其最大的优点是性价比高。

便于改写我们采用了飞利浦公司的8051产品[2]。

主机与从机间的通信协议采取自定义的方式。

每一次通信以主机向从机发送一个命令帧开始,从机收到命令帧后,向主机回送一个响应帧。

发送和接收以文本方式进行。

关键词:

主从控制单片机89C51RS485通信协议

 

DesignOfMaster-slaveControlSystemInsingle-chipMicrocomputerSoftwareAndHardware

Abstract:

Inthemaster-slavecontrol,single-chipmicrocomputercommunicationbetweensingle-chipcomputercontrol.Hostsendingcommandstoindividualmachineoracceptinformationfromfeedback,thehosthaspermissiontomodifymachineparameters,acceptthedatafromthemachine.Inthedesignofthehoststomonitororviewfromthemachine'sState.Wecanseethroughthehostinterfacestatusoftherelay,butyoucanmodifythecommandchangerelaygroupwork.Thismethodofcontrolhasbeenwidelyusedinindustry.Fromthemachineinasubordinatepositioninthesystem,istheperformerofthecommand.Nodirectcontactbetweenmachines,theymusthostthisbridgebetweencontacts[3].

Indesignweusethe89C51single-chipcomputerasourhost,RS485communicationinterfacesignaltransmissionisexpressedasvoltagebetweentwolinesbecausetheendofthelogical1and0twotransmissionlines,butalsothereceivingendaretwotransmissionlines,RS485acceptandsendonly2wiresrequiredtocompleteatransfer.Duetotransmissionlineusingthedifferentialchannels,soitsinterferencesuppression-good,alsobecauseofitslowimpedancegroundingproblem-free.Transmissiondistanceupto1200m,transferrateupto1Mbpscomparisonsonthedataabove,takingintoaccountindustryrequirements,weuseaRS485mode.Slavemaster-slavecontrolfor8,051series,wewere89C51[2].

AftertheCommunicationProtocolreceivedfromthemachine,echoaresponsetothehostframe.Sendandreceiveastext.

Keywords:

SerialCommunicationSingle-ChipMicrocomputers89C51RS485CommunicationProtocol

第一章概述

当今世界是一个高度自动化的社会,各式各样的设备都可以和单片机联机,而最简单的自动化联机方式就是使用串行通信。

RS-485串行通信设备应用的时间已经不短了,随着科技的发展,它不仅没有被取代,反而应用越来越广泛。

这是因为串行通信设备硬件开发实现了集成化、简单化、且使用方便。

另外,同属串行通信的RS-485网络也被大量应用在工业环境中,而长距离、抗噪声的优点也使其得到了迅速的发展。

在管理系统中,传统的方法是通过现有的设备进行人工测量,然后对不符合要求的进行调整等工作。

这种人工方式效率低、误差大,随机事件难以预料,使管理质量得不到很好的保证。

上位机(单片机)除负责对下位机(MCS—51单片机)进行监管和控制外,还用于采集下位机传送的数据进行数据库化管理,另外,上位机还可以对数据的发送、接收、传送和清除等进行控制。

下位机(MCS-51单片机,MCS-51单片机及其外围设备)负责将信息反馈给上位机。

此系统可使办公人员坐在办公室里对远在几百米之位的地方进行监控和管理,不但使办公人员从繁重的体力劳动中解放出来,而且使管理快速准确,提高了企业的管理水平和办公自动化水平[4]。

在设计中我们选用了89C51单片机作为我们的主机,从机也为89C51单片机(我们本着可得,性价比采用此选择)。

但在选择中出现了通讯接口的问题,我们是串型通讯,在单片机和单片机之间,考虑到工业运用问题我们需要考虑总的选用,在常用的RS232和RS485中,不能使用双端信号,因此要求使用较高的输出电压,而且其传输距离仅为15米。

RS485通信接口的信号传输是用两根线之间的电压表示逻辑1和0的因为发送端两根传送线,而且接受接收端也是两根传送线。

这样RS485接受和发送仅需要2根线就完成了传输。

由于传输线采用了差动信道,所以它的干扰抑制性好,又由于它的阻抗低无接地问题。

传输距离可高达1200m,传输速度可达1Mbps。

比较上面的数据,考虑工业要求,我们采用了RS485方式。

单片机的发展日新月异,但总体而言有硬件和软件组成。

硬件分为一下几个部分:

CPU、RAM、EPROM、I/O口串性口、定时器/计数器、中断系统以及特殊寄存器。

主从控制的下位机为8051系列,我们采用的是89C51。

89C51是一个低功耗、高性能的含有4k字节快擦可编程/擦除只读存储器的8位CMOS单片机。

允许写入程序,在8051系列中其最大的优点是性价比高。

便于改写我们采用了飞利浦公司的8051产品。

89C51的硬件由下列组成:

CPU、RAM、EPROM、I/O口、串行口、定时器/计数器、中断系统以及特殊寄存器。

实物中的89C51有40个引脚,可以分为控制、电源及时钟、I/O三部分[2]。

在我们设计中主要用了数据口、复位电路和时钟电路三部分。

我们采用的是上电按扭复位电路,并采用看门狗技术,防止进入死循环。

为了满足波特率时钟电路的要求其时钟频率为11.059HZ。

开关量输出接口技术:

开关量控制就是控制设备“开”或“关”状态的时间实现控制,本设计采用了光电隔离器和继电器。

光电隔离器通过发光二极管来控制输出电路,实现光——电——光的转换。

光敏三极管的的状态由发光二极管的开合,从而实现了开关量的控制。

单片机的输出为TTL电平,所以我们在设计中采用了7407或者74LS244作为驱动器。

使用驱动器有一个优点,就是当8051在上电复位或者受控复位时,继电器不吸合。

继电器有耦合电路、触发电路、开关电路、过零控制电路和吸收电路组成。

其实质是一个带有光电隔离器的无触点开关在本设计中,我们没有接入负载,而是查看其开关的状态,我们接上一个发光二极管,通过它可以直接了解继电器的状态。

多机系统和单片机系统在硬件上的最大不同是需要通讯口。

通讯可以采用各种方法来实现,对于传输距离在几米以上的系统,一般采用串行通讯。

它可以分为同步和异步两种,前者速度比较快,通讯距离较近,后者速度较慢,但是通讯距离较远。

一般的工业控制和数据采集系统,在数据传输量不大时,采用异步的比较多,也比较方便。

本设计是典型的异步串行通讯。

通讯规程的选择,主要是指主从机之间的通讯约定,它包括从机寻址方式、通讯检验以及通讯应答方式等。

在设计中只使用一套公共的通讯线路,主机应能和指定的任何一个从机进行通讯,也可以向全部从机发命令。

主从之间存在着一个地址问题。

对于MCS--51单片机来说,它的串口就有主从控制方式允许发送地址或数据。

第二章方案设计

2.1主从控制方案的任务

本次设计的题目是主从控制系统设计,它是实际工程应用的简化,它利用单片机,单片机组成主从控制系统,单片机控制继电器的打开或闭合,开发编程使用c51开发板和keil51开发软件实现,单片机之间采用RS-485进行通信。

故设计任务大致可分为下面几部分:

(1)设计一个具有串行通信接口和几个继电器控制的单片机控制系统;

(2)设计一个简单的上位机(单片机)界面和通信程序;

(3)设计下位机(单片机)通信控制程序;

(4)通过上位机能够控制继电器的闭合与断开。

2.2主从控制的设计方案

根据设计任务的要求和小组讨论以及指导老师的意见(实际设计的下位机可以连接多台,我们根据设计要求,用了2台),制定出本次设计的框图如下:

RS-4851#单片机

RS-485

2#单片

图2-1系统硬件结构图

框图说明如下:

主机与从机之间采用RS-485串行通信标准进行通信,它的通信距离可以为1200米,传输速度可以达到10M波特率,可以满足工业上用于远程控制距离和速率两方面的要求,RS-485在速度和传输距离上有优势,适合工业的要求。

况且,RS-485因为采用差分接收和发送,故传输线只需2根,抗干扰能力强[11]。

从机我们采用的是8051,8051的基本结构包括用于执行各种指令和运算处理的中央处理器CPU,用于存放可以读写的内部程序存储器RAM,用于存放程序指令或数据表格的内部程序存储器ROM,4个8位的并行I/O口P0、P1、P2、P3,用做外部事件计数器或内部定时的2个定时器/记数器,具有5个中断源的中断系统(2个定时器中断、2级中断服务程序嵌套,每个中段源都可用程序规定为高优先中段或低优先级中段),1个串口接口电路,内部时钟电路(本设计采用的是11.059mhz)[2]。

8051和外设备或者外部存储器的连接。

连接方式采用3总线结构方式(控制、地址、数据),在8051单片机中没有单独的地址总线和数据总线,而是才用的分时复用的方式,与通用的并行口P0、P2接口公用。

P0口分时用做低8位地址线和数据线。

P2口用做高8位的地址线。

单片机内部的地址线和数据线都不是独立的总线,而是与并行I/O口公用。

 

图2-28051单片机硬件结构图

8051的存储器结构。

物理上它有4个存储器空间:

片内程序存储器ROM

片外存储器ROM、片内数据存储器RAM,从市容的角度来看,它有3个存储器空间:

称为CODE空间的片内外统一的64kb的ROM;128字节的的片内RAM称为XDATA空间的64kb的外部RAM[8]。

为了实现一台单片机与多台单片机通信的目的,必须采用一定的通信协议。

在多机通信中的介绍中已经有一种方法可以实现,那就是用通过设置单片机的串行通讯控制寄存器SCON中的多机通讯选择位SM2。

当程控设置SM2=1,串行通讯工作与方式2或方式3,发送端通过对TB8的设置已区别与发送的是地址帧(TB8=1)还是数据帧(TB8=0),接收端通过对接收到的RB8进行识别:

当SM2=1,若接收到的RB8=1,则被确认为呼叫地址帧,将该帧内容装入SBUF中,并置位RI=1,向CPU请求中断,进行地址呼叫处理;若RB8=0为数据帧,将不予理采,接收的信息被丢弃。

若SM2=0,则无论是地址帧还是数据帧均接收,并置位RI=1,向CPU请求中断,将该帧内容装入SBUF。

上面讲的是多机通信实现方法中在保证系统可靠性方面较好的一种方法。

在本次设计中,我们采用了另一种方法,那就是自定义通信协议,该通信协议由前导字符,地址,控制字符,(控制代码),结束标志组成,其具体指令格式如下所示:

表2-1发送控制字符串时的指令格式

%**A**(H)(空格)

其中地址**的范围为00—32,A为控制字,用来表示控制继电器的开合,后面的**表示控制信息的十六进制码,最后空格为指令的结束符。

表2-2发送查询字符串的指令格式

%**B(空格)

前导字符,地址和结束符号与上面相同,其中B为控制字,表示查询开关量,上位机通过使用者的选择来形成上述指令发送给单片机,单片机接受到字符串,然后进行相应的处理,首先进行前导字符识别,它表示字符串的开始,然后在进行地址识别,与本机地址相同则继续进行下面的比较操作,否则退出到开始步逐。

若相同,则比较判断是控制还是查询操作,即是A还是B,是A则接收下一个数据即控制量送出,是B则查询开关信息并送到主机进行显示,最后退出,回到开始的接收比较操作。

单片机采用查询方式接收控制字符串,然后进入相应的处理程序。

单片机不断的查询串行通信控制寄存器的RI,若RI为1,则接收串行缓冲器SBUF中的数据,进行比较。

最先单片机要识别的数据为“%”(前导字符),它表示一个控制字符串的开始,才继续查询接收,否则继续查询是否为“%”根据协议的内容,然后单片机要识别的是并本机地址,若接收比较相同则继续查询比较是A还是B,否则退出到主程序的开始,是A则转入控制服务程序,是B则转入查询服务程序。

最后退出到主程序的开始。

在这样的分布式控制系统中,主机与从之间的多路通信是整个系统的关键。

本文根据作者的实验,提出了一种实用的适合于单片机与多台单片机通信协议,就主机与多台单片机之间通信系统的设计和如何在工业环境下利用开单片机与单片机通信程序的设计方法作了些探讨。

主机与各个从机通讯时,从机采用工作方式3及中断方式发送和接收数据。

本机地址指向各个从机的地址,当一台单片机发现主机发出的地址与自己的地址相符时,单片机发地址应答信号。

其他从机不响应。

这样保证每次与主机通讯的只有一台从机。

2.3主从控制的通信方式

2.3.1RS485的基本知识

RS485支持一点对多的通信,其电气标准为RS422标准,RS485主要规定了在通信线路中上最多使用32对差分驱动器/接收器的多点通信系统的电气特性。

RS485通信接口的信号传输是用两根线之间的电压表示逻辑1和0的因为发送端两根传送线,而且接受端也是两根传送线。

这样RS485接受和发送端仅需要2根线就完成了传输。

由于传输线采用了差动信道,所以它的干扰抑制性好,又由于它的阻抗低无接地问题。

传输距离可高达1200m,传输速度可达1Mbps[9]。

RS485是一点对多的通信接口。

通信电缆一般为双绞线,必须使用RS232--RS485转换口,在RS485通信方式中,系统中各节点的识别是通过设置的不同的站地址,从而实现通信中的寻址。

RS485为半双工,采用一对平衡差分信号线。

其总线两端的匹配电阻为100k欧左右,驱动器负载为54欧。

驱动器输出电平在-1.5v以下为逻辑1,在1.5v以上为逻辑0。

2.3.2主从控制通讯

不同的独立系统经由互相交换数据便是通讯。

通讯的目的是交换数据,既数据通过设备传输到另一个设备中去。

人与人之间的对话,计算机与其他设备或者计算机间的数据交换,广播都可以说是通讯。

就通信而言,在微型计算机系统中,主机与外部的基本通信方式有两种:

并行通信(ParallelCommunication)-----数据的所有位同时传输,一次传输8位;串行通信(Serialcommuniaction)-----数据的各位一位一位顺序传输,既一个电压标准。

在单片微型内部或与极近距离的外部一般都采用并行传输方式,其特点是传输速度快,效率高,但需多根总线。

并行通讯是串行通讯速度的8倍,在与外部距离较远的数据传输时多采用串行通信,其特点是只需要一对传输线,大大节省传输线及有关设备,成本低,但传输速度快,效率低[13]。

常用的串行通讯有两种:

RS-232串行通讯,RS-485串行通讯。

串行通信是将构成数据或字符的每个二进制码位。

按照一定的顺序逐位进行传输,其传输有两种基本的通信方式:

同步通信的基本特征是发送与接收时钟需始终保持严格的同步。

由于串行传输是一位位顺序进行的,为了约定数据是由哪一位开始传输,需要设定同步字符,称起始同步等。

通信时每位所占的时间均相等。

同步接收端在一次串行传输开始时,即进入“监视同步字符串的搜索方式”,一旦检测到设定的同步字符串后,就从同步字符串后的第一位数符开始计数,按约定的数据段进行接收。

同步串行通信方式常用于传输信息量大,速度要求较高(可达800KB/S)的场合。

因为它要求由时钟来实现接收/发送之间的严格同步,对时钟信号的相位一致性要求非常严格,因此其硬件设备复杂,成本高,一般串行通信中较少用。

RS-232串行通讯:

串行通讯端口在系统控制的范畴中占有很重要的地位,RS-232的通讯端口是计算机的必备设备,通常含有COM1和COM2两个通道,9Pin有COM1接出。

以25Pin的接头有COM2接出。

RS-232的信号传输方式:

RS-485的信号传输方式:

传输端接收端传输端接收端

 

.……………………….

图2-4RS-232的信号传输方式图2-5RS-485的信号传输方式

由上图可以看到:

RS232的信号标准是地线,传输端参考到接地端1来的传输数据;接收端则参考接地2而还原出传输端的信号标准。

在二个接地端同电位的前提条件下,传送与接收端的信号准电位相同。

RS-485的信号将被传输出去时会分为正负的两条线路,当达到接收端后,在将信号还原成原来的信号;如果将原来的信号标成(DT),而被分成的信号分别表成(D+)及(D-)。

则原始的信号与离散的信号在由传输端传送出去的关系入下:

(DT)=(D+)-(D-)

使用RS-485网络还可以有效的防止干扰,是工业上运用比较多的串行传输方式[19]。

2.3.3通信原理

初始化通讯数据

主机机与从机机之间(9600,n,8.1)即波特率为9600band,1起始位,8数据为1停止位,无奇偶校验。

数据收发方式:

二进制

发送数据的顺序

发送同步码(1byte):

stx=0x

发送后续字节的长度(2byte):

len=2+N

发送len个后续数据字节(N+2,Byte)

 

图2-6多机通讯的基本原理

多机通讯中,要保证主机与所选的从机实现可靠的通讯,必须保证通信接口具有识别功能。

而MCS51串口控制寄存器的SM2就是满足这一要求的控制位,其原理如下:

在串口以方式2(3)接受时,若SM=1,表示置多机通讯位,这时出现两种情况:

收到第九位数据为1时,数据才装入SUBF,并置RI=1向CPU发出中断请求;如果接收到第九位数据为0,则不产生中断标志,信息将抛弃,若SM2=0则接收到的第9位数据不能是0还是1都产生RI=1中断标志,接收到的数据装入SUBF中。

根据这个功能,实现多机通讯[2]。

由于串行通讯是在两台或多台各自完全独立的系统之间进行信息传输,这就需要根据实际通讯要求制定某些约定,作为通讯规范遵照执行。

协议要求严格,完善,不同的通讯要求,协议的内容也不相同。

多机通讯有以下约定:

(1)主从式多机通讯系统,允许配置255台从机,各从机的地址分别为00H---FFH。

(2)地址FFH为全部从机的控制命令,命令各从机恢复SM2=1状态,准备接收主机的地址呼叫。

(3)制定主机发送的控制命令代码,代码按00H,01H,02H,…

其它:

非法命令。

(4)数据长度:

16个字节。

(5)从机的状态字格式约定为:

表2-3主机指令表

D7D6D5D4D3D2D1D0

ERR

0

0

0

0

0

TRDY

RRDY

定义:

若ERR=1,从机接收到非法命令;

若TRDY=1,从机发送准备就绪;

若RRDY=1,从机接收准备就绪;

MCS51多机通讯原理,多机通讯过程安排如下:

(1)使所有的从机的SM2=1,处于只接受状态。

(2)主机发送一帧地址信息,其中包含8位地址,第9位为地址数据标志位置1表示接收地址。

(3)从机接收到地址帧后,各自将所受到的地址与本机的地址相比较。

对于地址相符的从机,使SM2清0以接收主机随后发来的信息;对于地址不相符的从机,任保持SM2=1状态,对主机随后发送的数据不执行。

(4)被寻址的从机,清除其SM2=1,没有被寻址的其他从机SM仍然维持不变。

(5)主机发送控制指令与数据,给被寻址的从机数据帧的第9位置0,表示发送的是数据或控制指令。

(6)当主机改为和其他从机联系时,可再发出地址帧寻址从机。

而先前被寻址的从机在分析出对主机是对其他从机寻址,恢复其SM=1,对随后主机发来的数据帧不执行。

第三章系统硬件电路设计

3.1主从控制系统硬件图

图3-1主从控制系统硬件图

3.2单片机的选型

上下位机同为8051系列,我们采用的是89C51。

P89C51RX系列单片机以增强MCS-51CPU作为内核,硬件资源、指令系统、引脚排列与相同封装形式的增强型80C51芯片保持100%兼容,即它完全可以替换具有相同封装形式的8XC5X、8XC5XX2系列芯片。

与增强型MCS-51X相比,89C51系列的最大特点是扩展了片内存储器的种类和容量。

89C51系列单片机扩充了片内RAM储器容量,在

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2