优秀毕业设计基于51单片机的多机通信系统_第1页
优秀毕业设计基于51单片机的多机通信系统_第2页
优秀毕业设计基于51单片机的多机通信系统_第3页
优秀毕业设计基于51单片机的多机通信系统_第4页
优秀毕业设计基于51单片机的多机通信系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告 课程设计报告课程 单片机技术 题目 串口通信多机通信系统 系 别 年 级 07级 专 业 电子科学与技术 班 级 学 号 学生姓名 指导教师 职 称 设计时间 目 录1 题设要求分析12 硬件电路的设计32.1 系统的组成32.2 系统的工作原理32.3 硬件电路原理图设计42.4 硬件电路的实现63 软件电路的设计83.1 通信协议的设计83.2 主机程序设计83.3 从机程序设计124 系统的调试与实现154.1 从机模块调试154.2 led显示模块调试154.3电平转换模块功能调试154.4主机模块功能调试164.5整体设计功能调试16参考文献18191 题设要求分析本小

2、组的试验题目如下:一、任务:设计实现多台单片机系统之间的串行通信二、基本要求(难度系数0.8):(1)设计一个主从式多机通信系统,包含1台主机和3台从机,主机和从机全部为单片机;(2)选择合适总线接口芯片,正确连接主机和从机;(3)编程实现分布式数据采集功能,主机可以获取各分机当前ad转换结果,并显示。三、发挥部分:(1)完善通信功能。(根据完成情况加分,上限+0.2)经过本小组成员对本课题认真讨论先做出如下分析:对课题分析后本小组认为本次实验的目的是就是应用单片的串口通信功能实现一个分布式采集系统。整个系统中包含一片主机和三片从机,主机的任务是实现对三片从机的ad转换结果的采集并在数码管上显

3、示之。这样从硬件的角度上将整个系统分为两个模块主机模块和从机模块。主机模块中包含单片机模块、led数码管显示子模块和串口电平转换子模块,从机模块则包括单片机子模块、ad转换子模块和串口电平转换子模块。就本次试验而言硬件电路的设计难点在于串口电平转换芯片的选择及其连接,而软件的设计难点在于串口通信协议的制定及相关程序的编写。实现多机通信方案的实现。不同于双机通信多机通信系统中需要识别通信信息发出者或是接受者是谁。经过查阅资料发现在大多数的多机通信系统中都是才采用地址识别的方法实现的。所谓地址识别方法就是在发送或接受信息前先发送和校验地址帧。就本题目而言,先要对通信系统中的每台机器分配一个唯一的地

4、址作为识别信息。具体的识别过程如下:n 首先,从机处于只接收地址帧的状态;n 主机发送一帧地址信息;n 从机接受到地址帧后,将本机地址与地址帧中的地址进行比较,如果地址相同准备接受数据,否则丢弃当前帧,依然处于只接受地址帧的状态;n 主机发送数据帧,相应的从机接受数据,数据传送完毕后,从机继续回到只接受地址帧的状态,在这个过程中其他从机不受影响;n 当主机需要与其他从机进行数据传输时,可以再次发送地址帧呼叫从机,重复这一过程1。对于本题而言可通过此过程实现主机对从机的绝对控制。这样在主机中编写一个循环程序就可以实现对三台从机的ad转换结果的不停采集。至于地址帧与数据帧的区别则可通过串口工作方式

5、三下的第九位的置1或置0来实现。在完成通信的基础上,再将采集到的三路结果分别用两个led数码管显示即可试验预期目的。2 硬件电路的设计2.1 系统的组成根据题目分析可知硬件电分为主机模块和从机模块。主机模块中包含单片机子模块、led数码管显示子模块和串口电平转换子模块,从机模块则包括单片机子模块、ad转换子模块和串口电平转换子模块。在主模块中由at89s51单片机担任主机,六个led数码管担任显示设备和一片max485担任串口的电平转换。在整个主机系统中有三个从机模块三个从机模块结构一样,有一片at89s51单片机担任从机外接一片adc0809转换芯片和一片max485担任串口的电平转换。串口

6、采用单工及异步通信方式。整个硬件结构原如图1所示。图 1 系统结构原理图2.2 系统的工作原理主机at89s51编程可实现循环访问个从机,当从机接受主机访问后启动ad转换设备adc0809对外部模拟信号进行转换。当从机获得转换结果后通过串口将其发送到主机,主机接受到转换结果后再将其发送到相应的led数码管显示。2.3 硬件电路原理图设计(1)led数码管显示电路led数码管显示电路如图2所示显示子模块由六个数码管和相应的启动芯片构成。其中每路通道的采集值用量为数码管显示。为了节约单片机的i/o口本题的数码管采用max7219芯片。给芯片的优点在于可完成电路的刷新。max7219芯片的seg a

7、-seg dp为数码管段码接口,dig0-dig7为位码接口,clk、din、load分别与单片机p1.0、p1.1、p1.2连接。单片机通过串行的方式将要显示的数据通过clk、din、load三个接口送入相应的显示寄存器内,max7219将自动完成对数码管的刷新工作。具体的电路如图2所示。图 2 led显示电路(2)串口电平转换电路 串口电平转换电路的电路图如图3所示:本实验中采用max485的电平转换芯片。max485是一种rs-485标准接口的电平转换芯片。rs-485采用差分式半双工通信方式,真正实现多点总线连接,具有传输距离远可靠性高的特点。基于以上原因本小组选择该芯片实现电平转换。

8、max485的1号引脚ro为接收端接单片rxd, 4号引脚di为发送端接单片txd, 2、3号引脚分别为发送接收使能端端接单片p1.3引脚。6、7号引脚总线接线口。图 3 电平转换电路(3)主机模块电路 根据设计要求绘制主机模块电路图如图4所示。图 4 主机模块电路图(4)从机模块电路根据设计要求绘制从机模块电路图如图5所示。图 5 从机模块电路图2.4 硬件电路的实现首先是主从机电路的实现。主机的电路的搭建采用主cpu板、键盘显示接口板各一块。照实验原理图将主cpu板的p0口接到键盘显示接口板的位码接口,p1口接到键盘显示接口板的段码的接口。从机的电路由cpu板和adda转换板构成。其次是电

9、平转换电路的焊接。电平转换的路的实现是通过自己搭建电路完成。电平转换的电路主要有四块max485和两个100电阻构成。四块max485采用总线方式连接,每个芯片分别引出三个引脚用于单片的连接。最后将各个模块的按照原理图连接起来。图 6 硬件电路的连接3 软件电路的设计3.1 通信协议的设计通信协议的设计的设计是本题的重点难点,本题通信协议主要是区别主机和从机。由于串口的方式2、3发送和接收都是11位其第九为可编程置位可以此作为区分地址帧与数据帧从而实现主机与从机,从机与从机的区别。通信协议同样要规定相同通信速率。参考相关资料后编写如下的通信协议。n 数据传输的双方均使用9600kb/s的速率传

10、送数据,使用主从式通信,主机发送数据,从机接受数据,双方在发送数据时使用查询方式。n 双机开始数据传输时,主机发送地址帧呼叫从机。n 各从机开始都处于只收地址帧状态。接收到地址帧后,将接收到的地址内容和本机地址比较,如果地址相同,则向主机返回本机地址作为确认信息,并开始接收数据;如果不同,则继续等待。n 主机在发送地址帧后等待,如果接收到的应答信息中的内容和所发地址帧的内容相同,就开始发送数据,如果不一致,主机将继续发送地址帧。如多次应答仍无回应则认为出错则主机跳出本次通信。n 从机在接收完数据后,将根据最后的校验结果判断数据接收是否正确,若校验真确,则向主机发送2ah信号,同时点亮led灯半

11、秒钟,表示本次通信成功;若校验错误,则发送f0h信号,表示接收数据错误,并请求从发。n 主机接收到2ah信号,则通信结束,否则主机将重新发送这组数据。3.2 主机程序设计依据试验要求及相应的通信协议现绘制如下的主机程序流程图:图 7 主机程序流程图主机程序:#include#includeunsigned char led_seg10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char led_bit6=0x01,0x02,0x04,0x08,0x10,0x20;unsigned char led_buf6=0x00,

12、0x00,0x00,0x00,0x00,0x00;void delay(unsigned long n) /延时子程序 unsigned int i; for(i=1;in;i+) ; void convert(unsigned char a ,unsigned char j) /电压转换子程序 unsigned char m,n,i; unsigned char b=0; for(i=0;i51;i+) b=i*5; if(ba)i+;elsebreak; m=i/10; n=i%10; j=j*2; led_bufj=led_segn; led_bufj+1=led_segm+0x80;

13、void sbuf_init(void) /串口初始化子程序scon=0xd0; /工作方式3pcon=0x00;tmod=(tmod&0xf)|0x20;th1=0xfd;tl1=0xfd;tr1=1;void flash_led(void) /led显示子程序 unsigned char i; for(i=0;i=3)i=0;addr=0x00; convert(a,j);flash_led();3.3 从机程序设计从程序流程图如下:图 8 从机模块流程图从机程序:#include#include#include#define ino xbyte0x0000#define addr 0x0

14、2 /从机地址0x00、ox01、0x02sbit ad_busy=p33;void delay(unsigned long n) /延时子程序 unsigned int i; for(i=1;in;i+) ; void sbuf_init(void) /串口初始换子程序scon=0xd0; /工作方式3pcon=0x00;tmod=(tmod&0xf)|0x20;th1=0xfd;tl1=0xfd;tr1=1;void main(void) /主程序unsigned char a;unsigned char tmp=0xff;sbuf_init();while(1)sm2=1; / 只接收地

15、址帧 /* 如果接收到的地址帧不是本机地址,则继续等待 */tmp=addr+1;p1=0x00; /接受使能while(tmp!=addr) while(!ri);tmp=sbuf;ri=0;delay(20);/* 发送本机地址作为应答信号,准备接收数据 */ p1=0xff; /发送使能delay(40);ti=0;tb8=0; / 主机不检测该位sbuf = addr;delay(10);while(!ti);ti = 0;/sm2 = 0; /允许接收数据/* 数据发送 */delay(40);/*ino=0;i=i;i=i;while(ad_busy=0);a=ino;*/a=0x

16、88;sbuf=a;while(ti=0);ti=0;delay(60);4 系统的调试与实现对本课题的设计思路清晰之后,我们接下来所需要做的工作就是依据我们的方案编程实现功能。本过程可以分为五个部分:从机模块调试、 led显示模块调试、电平转换模块功能调试、主机模块功能调试、整体设计功能调试。4.1 从机模块调试从机部分实现的功能是针对主机发送来的地址进行对照,如果是自己的从机地址,就会发送ad转换结果。为了检测此部分的功能是否能够实现,我们借助串口测试软件,发送预设的从机地址看看该从机是否会把ad转换的结果发送来。此从机调试模块分为两个层次:1、用一个简单的程序测试从机硬件部分是否能正常运

17、行;2、在硬件良好的情况下测试编写的从机部分代码能否顺利实现功能。4.2 led显示模块调试该部分相比较而言简单一点,其实也可以归为主机模块调试的一部分。led功能就是用来显示da转换的结果。连接好电路之后,用个小程序测试led显示功能良好的情况下显示从机发送来的数据。此部分在主机模块功能调试具体介绍。4.3电平转换模块功能调试此部分硬件电路多为我们自己焊接。包括4片max485转换芯片组成的电平转换电路。它们完成将ttl电平转换为rs485电平的功能。max485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。ro和di端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单

18、片机的rxd和txd相连即可;/re和de端分别为接收和发送的使能端,当/re为逻辑0时,器件处于接收状态;当de为逻辑1时,器件处于发送状态,因为max485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;a端和b端分别为接收和发送的差分信号端,当a引脚的电平高于b时,代表发送的数据为1;当a的电平低于b端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制max485的接收和发送即可。同时将a和b端之间加匹配电阻,一般可选100的电阻。由于经验知识不足,我们匹配电阻选择了一个阻值为10k的电阻,造成芯片烧坏,此处应引起注意。4.4主机模块功能调试当主机发

19、送地址帧呼叫从机时从机将接收到的内容与自己的地址比较,如若相同从机会向主机发送主机所需要的数据。而主机接收到正确的数据,便会通过led数码管显示出来,这样便会实现我们预想的主机模块功能。当然主机部分程序包含上面调试好的led显示模块程序。此处将从机送来的数值通过调用led显示模块子程序显示出来。led显示模块分为三个区域,从机0、从机1、从机2分别占用2个显示管。4.5整体设计功能调试各个模块程序功能调试好之后,将他们各就各位。但此时我们又遇到一个难题:从机送给主机的数据在经max485传递给主机时读出来的不是理想的结果,后经过示波器查看输出波形,经多次调试,将主机与从机时序调整一致才得以在主

20、机收到从机发送来的数据。5 总结与体会为期一个礼拜的单片机课程设计就这么快的结束了,在这短暂的一个星期里我们学到了很多很多。我们在课堂上掌握的仅仅是书面的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做此类的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的资料,无论是课本上的还是网上的我们都学习了不少,从中也借鉴了别人的思想,开阔了自己的思路。做单片机课程设计,对设计者对软硬件的理解和掌握的要求比较高。在设计程序之前,设计者必学对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的

21、思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。我们在实验中就遇到了一系列问题,比如刚刚开始时硬件电路的连接,针对max485芯片匹配电阻的选择,从机与主机握手的过程等等,在大家仔细的思考和老师同学的帮助下顺利解决。此次课程设计在组长杨小强同学的带领下我们步步为营,大家学会了一个重要的设计技巧

22、,就是一步一个脚印,踏踏实实的编程,每编写好一个模块的程序后应及时检测是否正确。若是“一步登天”,一次性将所有程序编写好再进行测试,这样如若出现问题,但无法知道问题出在何处,这样会带来更大的麻烦,修改就无从下手。总而言之,此次的单片机课程设计让我们“吃尽了苦头”,花费了不少脑细胞,无论是软件的使用还是对单片机内部资源硬件的了解,我们的认识都大大加深了。同时感谢李老师及同学们,感谢你们给予我们小组的指导和帮助,谢谢你们!参考文献1 戴佳,戴卫恒,刘博文 51单片机c语言应用程序设计实例精讲.第二版 电子工业出版社 2008.12引言在建筑、化工、食品、冶金等行业中,配料是其生产过程的重要组成部分

23、,它影响着产品的质量甚至决定着产品的性质,这一点已越来越引起人们的重视。高炉配料过程的生产方式经历了从采用经验的估量式生产到简单的计量式低精度生产,再到现在的高精度计量式生产这三个过程,而且自动化程度也越来越高。所以,研究和开发高炉自动化上料监控系统具有很高的实用价值。二十一世纪,钢铁产品仍将是人类社会最主要的不可替代的结构材料和产量最大、覆盖面最广的功能材料。世界冶金工业结构调整步伐加快,生产的重心将由发达国家向发展中国家转移。目前我国正处在工业化进程中,国民经济各部门的持续、快速发展和产业升级对钢铁产品的品种、质量提出了更高的要求。加快我国冶金工业的结构调整,将具有重要意义。就我国目前情况

24、而言,钢铁企业自动化发展程度参差不齐,大型企业自动化程度相对较高,而对于中小企业,由于资金和技术问题,设备普遍比较落后,自动化程度普遍偏低。因此,尽快研制开发适合我国国情的配料自动控制系统并投运市场,具有广泛的市场前景。另外,对于我国钢铁企业的发展,也具有重要的推动意义。本论文正是在宁夏鑫钢发源冶金炉料有限公司的一个实际工程项目的背景下撰写完成的,该项目主要负责冶金过程中的配料工作。众所周知,在冶金过程中,不同种类、不同质量的原料混合冶炼出的钢水质量也是不同的。那么,要根据冶金工艺要求,冶炼出符合实际要求的钢水,配料是具有决定意义的一环。尤其是对于广大中小型钢铁企业,限于自身规模条件,他们不可

25、能有自己的设备研发队伍,那么,在这种条件下,他们要提高产品质量、工作效率以及企业效益,最好的方法就是有专门的自动化冶金设备公司为其提供相关设备。本论文是在这样的背景下完成的。该项目是宁夏鑫钢发源冶金炉料有限公司冶金生产线上配料系统的改造项目,原控制系统采用微机+通信系统+数据采集装置构成的计算机控制系统,其控制界面和控制程序都是在计算机dos环境下开发完成的,这也是目前广大中小型企业正在应用的配料控制系统,原系统存在一些明显的缺点:人机界面不友好,对于非专业人员熟练操作应用该系统有一定的难度。系统可维护性差,由于对现场信号的采集、处理采用的是板卡等一些与微机相连的集成电路,因此,对于局部小故障

26、的维修都需要较长时间,而且维修起来比较复杂,成本也较高。抗干扰性差,由于控制系统自身没有相应的抗干扰措施,而现场环境都比较恶劣,除去运行系统所处环境差以外,一些大功率设备的启动,运行阶段,往往也会造成诸多故障,比如在大电流干扰下出现飞程序、控制器与现场仪表无法正常通信等等。联网能力差,在dos环境下开发的控制系统,在与其他计算机进行联网通信时比较困难,无法满足当前集生产与管理于一体的控制要求。在科技为主要生产力的今天,企业间的竞争无疑已成为先进的生产技术之间的竞争。旧配料系统已无法满足当前生产要求,为提高企业生存能力,对该系统的改造势在必行。改造后,我们采用工控机+plc所组成的集散制系统,上

27、位机主要完成生产管理工作,而下位机plc主要负责实际配料中的过程控制。这样,改造后的配料系统除克服了旧系统的缺点外,最大的优点就是成本不高、便于推广。由于该系统的用户多为中小型企业,考虑到他们自身的经济情况,我们在设计过程中就本着用的原则,从产品选型到系统配置,除了考虑满足生产需求外,主要考虑的问题就是成本问题,这样整个系统设计下来,既保持了适度的先进性,与国内外同类产品相比不落窠臼,又严格控制了改造成本,从而获得相当高的性价比。这对于我国广大中小企业提高生产力,增强自身竞争能力,都是十分值得借鉴的。本论文主要分五章详细介绍了该配料系统,目前,该项目(宁夏鑫钢发源冶金炉料有限公司配料系统改造项

28、目)的第一阶段任务已经完成,即已经完成了实验室的联机调试,包括plc与所有外设的连接,以及程序调试。由于本设计时间所限,现场调试部分已无法跟进。再到现在的高精度计量式生产这三个过程,而且自动化程度也越来越高。所以,研究和开发高炉自动化上料监控系统具有很高的实用价值。二十一世纪,钢铁产品仍将是人类社会最主要的不可替代的结构材料和产量最大、覆盖面最广的功能材料。世界冶金工业结构调整步伐加快,生产的重心将由发达国家向发展中国家转移。目前我国正处在工业化进程中,国民经济各部门的持续、快速发展和产业升级对钢铁产品的品种、质量提出了更高的要求。加快我国冶金工业的结构调整,将具有重要意义。就我国目前情况而言

29、,钢铁企业自动化发展程度参差不齐,大型企业自动化程度相对较高,而对于中小企业,由于资金和技术问题,设备普遍比较落后,自动化程度普遍偏低。因此,尽快研制开发适合我国国情的配料自动控制系统并投运市场,具有广泛的市场前景。另外,对于我国钢铁企业的发展,也具有重要的推动意义。本论文正是在宁夏鑫钢发源冶金炉料有限公司的一个实际工程项目的背景下撰写完成的,该项目主要负责冶金过程中的配料工作。众所周知,在冶金过程中,不同种类、不同质量的原料混合冶炼出的钢水质量也是不同的。那么,要根据冶金工艺要求,冶炼出符合实际要求的钢水,配料是具有决定意义的一环。尤其是对于广大中小型钢铁企业,限于自身规模条件,他们不可能有自己的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论