毕业设计pc与数控机床通信系统_第1页
毕业设计pc与数控机床通信系统_第2页
毕业设计pc与数控机床通信系统_第3页
毕业设计pc与数控机床通信系统_第4页
毕业设计pc与数控机床通信系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、扬 州 市 职 业 大 学毕 业 设 计(论 文)设计(论文)题目:pc与数控机床通信系统系 别:电子工程系 专 业:通 信 班 级:07级(2)班 姓 名:许 明 超 学 号:0706020232 指导老师: 沈梅梅 蒋亚平 完成时间:2010年5月目录摘 要4第一章 绪论5 1.1 pc与数控机床通信系统发展前景5 1.2 设计任务及要求5 1.3方案论证5第二章 系统总体设计 7 2.1系统设计的基本原则 7 2.2硬件电路设计的基本原则7 2.3 软件系统设计的基本原则 7第三章 硬件电路设计9 3.1 rs-485/rs-232接口电路 9 3.1.1 rs485总线的相关知识10

2、3.1.2 rs485总线的相关参数10 3.1.3 rs485总线驱动芯片 11 3.2 单片机和看门狗电路12第四章 软件设计 15 4.1 pc与数控机床之间的通信协议15 4.2上位机(pc机)程序设计17 4.3下位机软件设计20第五章 总结21 附录一:下位机程序22 附录二:参考文献 29 附录三:元器件清单 29摘 要随着我国制造业的快速发展,对数控机床的使用越来越多,而数控机床的控制更趋于网络化,智能化。本设计是采用“pc-单片机”主从结构模式,即以pc机为上位机,分布在各个车间的单片机控制单元为下位机的系统结构模式。利用串行通信功能完成上位机对下位机的控制程序以及数据传输,

3、达到对数控机床状态的监控,以及温度的采集的功能。文章重点介绍了pc机与单片机(载控机床)上位机程序设计,下位机通信部分、rs485/422接口的硬件部分以及了解数控机床的发展趋势。 关键词:rs-485、单片机、串行通信、visual basic 6.0abstractwith the rapid development of chinas manufacturing industry, the use of cnc machine tools is increasing, the control of cnc machine tools also tend to be intelligent

4、. this design is the use of pc-scm master-slave structure model, that pc machine as the host computer, distributed in various plant mcu control unit for the next bit machine system architecture model. complete serial communication using the next-bit machine pc control program and data transmission,

5、to monitor the state of cnc machine tools, as well as the functions of the temperature of the collection.article focuses on the pc and mcu (set of cnc machine tools) pc programming, lower machine communications section, rs485/422 interface hardware, as well as understanding the development trend of

6、cnc machine tools.keywords:rs-485, microcontroller, serial communication, visual basic 6.0第一章 绪论1.1 pc与数控机床通信系统发展前景随着数控机床的发展,数控机床在模具、航空、航天等行业的广泛应用,在产品更新周期进一步缩短,加工质量要求越来越高,零件越来越复杂等情况下,将计算机与数控机床联结起来,实现高效的数据交换或高一级的控制管理,从根本上提高数控机床的执行效率,一直是制造业的研究内容。经过几十年计算机技术的发展,计算机通信技术已经日趋成熟,串行通信作为一种灵活、方便、可靠的通信方式,被广泛应用于

7、工业控制中,数据处理以及控制信号的产生与传输等功能。同时串行通信还应用于交通控制、分布数据采集系统、通信距离扩展、电力系统数据采集与控制系统、高速公路收费系统、远程控制、保密通信系统和教学实验等等。用pc机对数控机床进行实时监控,完成pc与数控机床之间的程序或数据传输。从而提高数控机床的自动化程度以及工作效率。1.2 设计任务及要求本设计的主要任务是设计一个pc与数控机床的通信系统。完成pc与数控机床之间程序的传输,以及对数控机床状态的监控。系统拟达到的技术指标为:(1)用一台计算机或网络对多台数控机床进行控制,完成数控程序传输、机床状态监控等功能。(2)通信距离大于500米。(3)通信波特率

8、大于4800b/s。(4)必须采用总线式结构。(5)可以自定义通信协议。1.3方案论证当控制计算机与各数控机床相距较远时,一般采用串行通信方式而不采用并行通信方式。这是因为并行通信系统的造价较高、众多的连线不仅容易引入干扰,也容易发生线路故障。串行通信由于接线少、成本低,在数据采集和控制系统中得到了广泛的应用。在软件编程方面:本设计下位机采用的是单片机的汇编语言,上位机(即pc机)利用visual basic 6.0编程。用vb6.0开发串行通信程序有两种法:方案一:利用windows的api函数利用api函数编写串行通信程序较为复杂,需要掌握大量的通信知识,其优点是可实现的功能更丰富、应用面

9、更广泛,适合于编写较为复杂的低层次通信程序。方案二:采用vb6.0的通信控件mscommvb6.0的mscomm通信控件提供了标准的事件处理函数、事件、方法,并通过控件属性对串口参数进行设置,比较容易地解决了串口通信问题。通信总线可以有三种选择:1、采用rs-232方式rs-232规定的20kb/s的传输速率虽然能满足异步通信要求(通常异步通信速率限制在19.2kb/s以下),但对某些同步系统来说,不能满足传送速率要求。传送距离短。rs-232接口的一般装置之间电缆长度为15米,即使有好的线路器件、优良的信号质量,电缆长度也不会超过60米。2、采用can总线can即为控制局部网,是国际上应用最

10、广泛的现场总线之一。can总线的主要特性:具有实时性、传输距离较远、抗电磁干扰能力强、成本低等优点;采用双线串行通信方式,检错能力强,可在噪声干扰环境中工作;具有优先权和仲裁功能,多个控制模块通过cau控制器挂在cnu-bus上,形成多主机局部网络;可靠的错误处理和检错机制;发送的信息遭到破坏后,可自动重发。结点在错误严重的情况下具有自动退出总线的功能。3、采用rs-485方式rs-485半双工异步通信总线是一种被广泛使用的数据通信总线。它具有通信距离远、通信速率高、成本低等特点。在数控机床数据通信系统应用中,由于设备数量多,发布较远,现场的各种干扰也较大,往往通信可靠性及质量不高。rs-48

11、5收发器采用的平衡发送和差分接收具有抑制共模干扰能力,加上收发器具有很高的灵敏度,能检测低达200mv的电压,因此,传输信号可在千米以外得到恢复。综上所述,本设计上位机(即pc机)编程采用vb6.0的通信控件mscomm,通信总线可以选择rs-485或can总线(本次选用rs-485)。 第二章 系统总体设计2.1系统设计的基本原则采用“pc-单片机”主从结构模式,利用pc机提供的rs-232通信接口,通过rs-232与rs-485转接口完成电平的转换。选用vb软件开发上位机管理程序,从而解决了一台计算机与多台数控机床进行通信的问题,提高了系统资源的利用率,还为进一步构建车间级制造管理系统创造

12、了条件。设计拟采用单片机设计该系统。用一个单片机作为数控机床的通信接口。利用串行通信技术完成pc与单片机之间的通信。采用分布式布局,多台数控机床通过一条总线完成与单片机的通信。2.2硬件电路设计的基本原则硬件电路设计通信节点的电路,实际是设计一个rs-485网卡。此网卡有两个通信接口:一个是rs-485接口,连接rs-485(can)网络;另一个是rs-232接口,与数控机床的rs-232或pc的rs-232的接口连接。通信节点电路由rs-485/rs-232接口电路、单片机和看门狗以及电源电路组成。其总体框图如2.1所示。图2.1 pc与数控机床通信系统总体框图2.3 软件系统设计的基本原则

13、pc作为主控机,通过232/485转接设备接入485总线,它使用查询方式与各个从机通信。带有485接口的单片机系统作为从机,响应主机的轮询命令,将采集到的数据回传给主机,从机之间的数据交换只能通过主机进行转发。软件总体设计框图如图2.2所示。图2.2 软件总体设计框图第三章 硬件电路设计3.1 rs-485/rs-232接口电路rs-485/rs-232接口电路的主要作用是实现rs-485电平和rs-232电平之间的转换,如图3-1所示。max232是rs-232的驱动芯片,可实现rs-232电平和ttl电平之间的转换。max485是rs-485的驱动芯片,可实现rs-485电平和ttl电平之

14、间的转换。cd4019是2选1数据选择器。因为单片机at89c2051只有一个串行通信口,而通信节点需要两个串口,为节省成本,采用数据选择器实现串行通信口的切换。 图3-1 rs-485/rs-232接口电路 cd4091是四与或门2选1数据选择器,图3-2所示为其内部逻辑图。其逻辑表达式为: d=aka +bkb图3-2 cd4091内部逻辑图311 rs485总线的相关知识1、rs-485总线的理论。在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。在rs-422标准的基础上,eia研究出了一种支持多节点、远距离和接收高灵敏度的rs-485总线标准。 rs-4

15、85标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求: 接收器的输入电阻rin12k 驱动器能输出7v的共模电压 输入端的电容50pf 在节点数为32个,配置了120的终端电阻的情况下,驱动器至少还能输出电压1.5v(终端电阻的大小与所用双绞线的参数有关) 接收器的输入灵敏度为200mv(即(v+)-(v-)0.2v,表示信号0;(v+)-(v-)-0.2v,表示信号1) 。 3.1.2 rs485总线的相关参数:rs485是半双工工作方式,在某一时刻,一个发送,另一个接收。rs485是一种发送器的电路标准,它扩展了rs422的性能,rs485允许公用电话线通信。性能 rs

16、-485工作方式 差分节点数 1发32收 最大传输速率 10mbps最大传输电缆长度 400英尺最大驱动输出电压 -7 +12v 驱动器输出信号电平(负载最小值)/负载 -15v、+15v 驱动器输出信号电平(空载最大值)/空载 -6v、+6v驱动器负载阻抗() 54 摆率(最大值) n/a接收器输入电压范围 -7 +12v接收器输入门限 -200mv、+200mv接收器输入电阻() 12k驱动器共模电压 -1 +3v接收器共模电压 -7 +12v3.1.3 rs485总线驱动芯片rs485的驱动芯片有多种选择。maxim公司生产的rs485驱动芯片在性能方面挺好。其生产的差分平衡收/发器芯片

17、共有8种型号:max481,max483,max485,及max487491,每种型号的ic芯片包含1个驱动器和1个接收器。它们的各项性能比较如表3-3所示:表3-3 max481/483/485/487/max488491性能比较表:型号半/全双工数据率/mbps转换率限制低功耗关机接收器驱动器使能静态电流/ua总线上收/发器数引脚数max481全双工2.5无有有300328max483全双工0.25有有有120328max485全双工2.5无无有300328max487全双工0.25有有有1201288max488全双工0.25有无无120328max489全双工0.25有无有120321

18、4max490全双工2.5无无无300328max491全双工2.5无无有3003214max481/483/485/487为8引脚封装,它们适用于半双工通信。本文选用max485。max48x/49x系列线电路主要特点如下:单一+5v电源供电;低功耗:工作电流120500ua,静态电流120ua;关闭方式:max481/483/487 3种型号有关闭方式(驱动器和接收器处于静止状态),在此方式下,只消耗0.1ua电流;max483/487/488/489的驱动器为限斜率驱动器;具有驱动器过载保护;通信传输线上最多可挂128个收/发器;使用不同形式的电路可方便组成半双工或全双工通信电路;共模输

19、入电压3.2 单片机和看门狗电路 rs-232接口和rs-485接口的数据,都必须通过单片机,如图3-4所示,单片机采用at89c2051,晶体振荡器采用11.0592mhz,这是为满足9600b/s的波特率而选用的。波特率计算公式为:波特率=(2smod/32)(fosc/12(256-x)式中,smod为波特率控制位;fosc为时钟振荡器频率;x为定时器时间常数。若波特率为9600b/s,smod=0,x=253,则:fosc=波特率(32/2smod)12(256-x) =9600(32/20)12(256-253) =11.0592(mhz) 所以,最好选用11.0592mhz的晶体振

20、荡器。at89c2051内部结构与功能:和mcs-51产品的兼容 ,2k字节可重编程闪速存储器 ,耐久性:1,000写擦除周期 2.7v6v的操作范围 ,全静态操作:0hz24mhz ,两级加密程序存储器,1288位内部ram ,15根可编程i/o引线 ,两个16位定时器/计数器 ,六个中断源,可编程串行uart通道,直接led驱动输出 片内模拟比较器,低功耗空载和掉电方式。dip为8位地址开关,作为通信节点的地址编码。最多可编256个地址码。max813l是看门狗芯片,在上电、掉电期间及在电压降低的情况下可产生一个复位信号。max813l芯片具有以下特点:l 加电、掉电以及供电电压下降情况下

21、的复位输出,复位脉冲典型值为200ms。l 独立的看门狗输出,如果看门狗输入在1.6s内未被触发,其输出将变为高电平。l 1.25v门限值检测器,用于电压故障报警、电池低电压检测或+5v以外的电源监控。l 低电平有效的手动复位输入。图3-4单片机和看门狗电路l max813l芯片引脚排列如图3-5所示。下面介绍各引脚功能:图3-5 max813l引脚排列图l 手动复位输入端(mr)。当该端输入低电平保持140ms以上时,max813l就输出复位信号。该输入端的最小输入脉宽要求可以有效地消除开关的抖动。mr与ttl/cmos兼容。l 工作电源(vcc):接+5v电源。l 电源接地端(gnd):接

22、0v参考电平。l 电源故障输入端(pfi)。当该端输入低于1.25v时,5号引脚输出端的信号由高电平变为低电平。l 电源故障输出端(pfo)。电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。看门狗信号输入端(wdi)。程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6s该输入端收不到脉冲信号,则内部定时器益处。8号引脚由高电平变为低电平。l 复位信号输出端(rst)。上电时,自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。l 看门狗信号输出端(wdo)。正常工作时输出保持高电平

23、,看门狗输出时,该端输出信号由高电平变为低电平。max813l的工作原理:max813l实质上是一个可使微处理器复位或产生中断请求的定时器,使其输出端与微处理器的复位端相连。其硬件连接图如图3-6所示。这样,就形成了硬件“看门狗”,用“看门狗”监视程序的运行。工作原理如下:图3-6 自动复位电路连接原理图在应用程序开始工作时,对max813l芯片的输入端wdi输入一个正脉冲,对max813l芯片内部定时器开始计时,倘若在计时时间内监控电路max813l的输入端不再出现脉冲信号,则定时器在一个规定的时间tw后(max813l的tw=1.6s),max813l的输出端将由低电平变为高电平并保持足够

24、大的时间(200ms)。若在定时时间内,监控电路max813l的输入端不再有正脉冲输入,则芯片内部的定时器将被清零并重新开始计时。若在max813l芯片的输入端以小于规定时间tw周期性地出现脉冲信号,则max813l芯片内部定时器周期性被刷新,从而使定时永远达不到规定时间,max813l芯片输出端一直保持低电平。max813l输入端的周期信号应由应用程序产生,并经p3.7口线接到max813l的输入端,这样在程序正常运行过程中,使max813l的输入端有一个周期小于tw的脉冲序列输入,max813l输出端始终为低电平;当运用程序受到干扰而出现死循环不正常运行时,max813l的输入端不再出现脉

25、冲序列,或者即使出现,其周期也可能大于tw,这样就是max813l的输出端输出一个高电平信号,使系统重新复位,重新进行初始化,恢复正常运行,从而保证系统可靠地工作。max813l输入端的脉冲序列的生成非常简单,只要在系统软件中,每隔若干条指令(这些指令的执行时间要小于tw)周期性地加入指令:watchdog: setb dogin nop nop nop nop clr dogin ret即可完成对max813l芯片内部定时器的定时刷新,保证应用程序正常运行。第四章 软件设计4.1 pc与数控机床之间的通信协议1、网络结构体系为了方便连接及数据传输,国际标准化组织(iso)制定了标准化网络结构

26、体系,那就是开放系统互连(osi:open system interconnection)参考模型,该模型采用分层结构,共分七层,可将所有网络服务所需要的功能都包括在其中。编制rs-485网络协议不需要严格遵照osi模型,其大致对应关系如表4-1所示。osirs-485应用层应用程序高层协议表示层会话层传输层网络层数据链路层串行通信基本协议物理层rs-485总线与接口表4-1 rs-485与osi参考模型对应关系总线与接口实现计算机间的物理连接,相当于osi的物理层。串行通信的基本协议实现数据帧的可靠传输,相当于osi德数据链路层。所有其它高层协议均由应用程序决定。2、串行通信基本协议系统中,

27、下位机主机at89c2051单片机对串口的控制通过scon控制寄存器实现,scon各位定义如图4.2所示。图4.2 scon各位的定义 sm0,sm1为串口工作方式选择位, ren为允许串行通信选择位,由软件置ren=1,则启动串行口接收数据,否则,禁止接收。sm2为多机通信控制位,主要用于方式2或3,sm2=1,下位机处于接收状态。tb8为2、3中发送数据第9位,ti为发送中断标志位,ri为接收中断标志位。系统巧妙的利用下位机scon中的多机通信控制位sm2来协调pc与单片机的多机通信。rb8,在方式2和方式3中,是接收到数据的第九位,作为奇偶效验位或地址帧/数据帧的标志位。在方式一时,若s

28、m2=0,则rb8是接收到的停止位。在方式0时该位未用。本设计采用的是方式1:工作方式1为波特率可调的8位通用异步通信接口。发送或接收一帧信息为10位,分别为一位起始位(0),7位数据位,一位校验位和一位停止位(1)。发送数据时,数据从txd端输出。当执行mov sbuf,a指令时,数据被写入发送缓冲器sbuf,启动发送器发送。当发送完一帧数据后,置中断标志ti为1。数据接收时,数据从rxd端输入。当允许接收控制位ren为1后,串行口采样rxd,当采样由1到0跳变时,确认是起始位“0”,启动接收器开始接收一帧数据。当ri=0且接收到停止位为1(或sm2=0)时,将停止位送入rb8,8位数据送入

29、接收缓冲器sbuf,同时置中断标志ri=1。所以,方式1接收时,应先用软件清除ri或sm2标志。并且只有在方式1或3下,波特率由定时器t1的溢出率和smod共同决定。串行异步传输字节帧格式如图4-3所示: do校验位起始位d1d2d3d4d5d6停止位图4-3 串行异步传输字节帧格式位3、应用程序高层协议的编制(1)pc发送数据到数控机床,过程如下:pc发送一个起始字节01h。pc发送两个字节的机床号。如:18号机床是asc(1)31h+asc(8)38h;3号机床是:asc(0)30h+asc(3)33hpc回收机床号:若回收机床号与所发机床号相同,则往下执行;若回收机床号与所发机床号不同,

30、则报错(通信错误),返回;pc超时未收到数据,则报错(超时错误),返回。pc发送一个字节的命令字02h。pc发送程序数据,无须回收。但随时检测是否收到错误命令字07h:若收到,则中止发送,报错(网络错误),返回。pc程序数据发送完毕,最后发送一个结束命令字17h。(2)pc接收数控机床的数据,过程如下:pc发送一个起始字节01h。pc发送两个字节的机床号。如:18号机床是asc(1)31h+asc(8)38h;3号机床是asc(0)30h+asc(3)33hpc回收机床号:若回收机床号与所发机床号相同,则往下执行;若回收机床号与所发机床号不同,则报错(通信错误),返回;pc超时未收到数据,则报

31、错(超时错误),返回。pc发送一个字节的命令字03h。pc接收程序数据,无须回收。但随时检测是否收到结束命令字17h:若收到,则中止接收。注:结束命令字不为程序数据。这是为防止程序数据的结束位出错,而让程序无法终止。4.2上位机(pc机)程序设计主控机端软件除了通信接口部分以外还有用户界面、数据处理、后台数据库等。其主要流程图如4-4和4-5所示:4.4 pc机接收程序流程图 图4.5 pc机发送程序流程图上位机(即pc机)编程采用vb6.0的通信控件microsoft communications control(以下简称mscomm),文件名为mscomm.vbx。mscomm是vb6.0

32、提供的activex控件,使用前需将该控件添加到vb工具栏。在菜单的工程选项中选择部件,再打开部件对话框中,选择microsoft comm control 6.0的选项框,点击确定如图4-3。把visual basic的串口通信控件microsoft commcontrol 6.0调入工作菜单。图4-3 添加mscomm过程mscomm通信控件参数属性设置如图4-4(通过单击控件的右键属性可弹出此窗口): 图4-4 mscomm通信控件参数属性设置 mscomm控件提供了2种处理通信的方式:事件驱动(实时)方式和查询方式。利用mscomm控件控制通信程序,关键是准确理解和设置通信控件的属性。

33、下面对程序中所用到的主要属性事件加以说明。mscomm控件的常用属性如下:commport: 设置并返回通讯端口号。settings : 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。portopen: 设置并返回通讯端口的状态。也可以打开和关闭端口。inputmode: 设置或返回接收数据的类型。inputlen: 设置或返回一次从接收缓冲区中读取字节数。inputbuffersize: 设置或返回接收缓冲区的大小,缺省值为1024字节。input : 从接收缓冲区返回和删除字符。由于查询方式会占用大量的cpu时间,效率很低,所以本系统采用事件驱动方式进行串口通信设计,图4.5为

34、上位机通信界面,设计3个命令按钮,分别为发送命令按钮、保存命令按钮和关闭按钮。两个文本框,text2用于输入发送给下位机的指令,text1用于显示下位机发送来的数据;在发送命令按钮的click事件中,将通信指令通过串行口发送给上位机。下面是mscomm控件的初始化程序、部分数据发送和接受程序:private sub form1-load()mscomm控件的初始化(属性设置)程序:mscomm1.comport=1;设置串行端口(com1) mscomm1.settings=”9600,n,7,1”;设置波特率及数据帧格式mscomm1.inputmode=1 ;数据接受按字节(binary)

35、方式mscomm1.inputlen=1 ;input读取缓冲区的所有内容mscomm1.portopen=truemscomm1.rthreshold=1;当接收到一个字符后,触发oncomm事件dim rcvdat () as byteend sub数据发送程序:private sub command1_click()dim senddat(0) as bytesenddat = text2.textmscomm.output = senddatmscomm1.rtsenable=false end sub数据接受并显示程序: 图4.5 上位机通信界面private sub mscomm1

36、_oncomm()redim rcvdat(6) as bytedim i as integerdim dattemp as varianttext1.text = selectcasemscomm1.commevent casecomevreceive dattemp = mscomm1.inputrcvdat = dattempfor i = 0 to 6text1.text =text1.text + str$(rcvdat(i) next imscomm1.inbuffercount =0end selectend sub4.3 下位机软件设计主体程序流程图如4-4所示:系统初始化看门

37、狗喂狗读本机地址add=0开始执行与pc机接口程序执行与数控机床接口程序yn图4-4 主体程序流图第五章 总结通过这次比较完整的pc与数控机床通信系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力,抗压能力及耐力也都得到了不同程度的提升。这是我们都希望看到的也正是我们进行毕业设计的目的所在。这个过程中,我们花费了大量的时间和精力,更重要的是

38、,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。所以在这次毕业设计中我要感谢沈老师和蒋老师对我的谆谆教诲及不厌其烦的指导,否则我很难完成这次设计,刚拿到这个课题时,我很迷茫所学知识甚少,我如何能完成这样一个课程的设计,随着对书本知识的不断加深的理解,我更加了解单片机的功能以及它的应用,更加加深了对单片机汇编语言的了解和使用。在设计过程中一些硬件电路的设计让我很头痛,原因是由于本身设计受到工业环境的框定,而又必须考虑本专业的一些要求规范,从而形成了一些矛盾点,这些矛盾在处理上让人很难斟酌,正是基于这种考虑我意识到:要向更完美的进行一次设计,与其他专业人才的交流沟通是很有必

39、要的,这其中也包括更好的理解设计任务书的各种要求。当然毕业设计是我们学习锻炼的一个好机会,它能巩固专业技术的理论知识,提高电路的设计水平,加强综合分析问题和解决问题的能力,也能进一步培养我们的实验技能和动手能力,启发我们的创新意识及创新思维。因此,我必须以严谨的态度来设计方案,积极的查阅各种资料,认真的整理记录,勇于创新思维。但是设计上也存在一定的不足,这些不足在一定程度上限制了我们的创造力,影响了整个系统的性能。比如我的软件设计就有很大的不足,上位机的软件设计可以设计成由pc机自动完成数据的发送,保存,以及进行接收数据的实时显示等功能。可这些不足正是我们去更好的研究更好的创造的最大动力,只有

40、发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行,今后我更会关注新技术新设备新工艺的出现,并争取尽快的掌握这些先进的知识。通过这此毕业设计让我更加意识到单片机这门课程对于我们的重要性,它使我认识到单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解 和感官认识,它的是怎样工作的,能干些什么?我三年所学会的电子知识全部用到了此次的设计中,全心的完成了这次的毕业设计,也通过设计复习了大学所学的许多课程。在设计中,各位老师给予了我多方的关心与帮助,在此,向他们致以崇高的敬意,并表示衷心的感谢。总之,经过这次毕

41、业设计,我学到了很多东西。由于我的水平和经验不足,在设计中难免存在一些不当之处,敬请各位老师批评指正。附录一:下位机程序address equ 90h;地址寄存器. addreg equ 30h;地址缓冲区.ascaddh equ 31h ;地址asc码.ascaddl equ 32h;地址asc码.rs485io equ p3.3;rs485输入输出选择:0-选择输入,1-选择输出rs485ce equ p3.5;rs485选择使能:1有效.rs232ce equ p3.4;rs232选择使能:1有效start_byte equ 01h;起始命令字.send_byte equ 02h;发送命

42、令字.read_byte equ 03h;接收命令字.erre_byte equ 07h;错误命令字.finish_byte equ 17h;结束命令字.odd bit 0d0h;奇校验位.odd_bit bit 0e7h;奇校验缓冲位.timeh equ 03htimel equ 9bh;定时常数,(60s).c_bit bit 00h;进位标志缓冲位.a_byte equ 33h;累加器缓冲区.dogin equ p3.7 ;看门狗喂狗输入. org 0000h ajmp main org 000bh ajmp t0prg org 0100hmain: mov sp,#50h acall

43、watchdog;调看门狗喂狗子程序. mov p1,#0ffh mov p3,#0ffh acall comrst ;串行口初始化. mov a,address;读地址. cjne a,#00h,main1 ajmp pcprg ;与pc机接口.main1:ajmp scprg ;与数控机床接口.pcprg:acall watchdog setb rs485io clr rs485ce setb rs232ce;选择rs232 acall delay acall delay acall delay acall delay clr ripcwait:acall watchdog mov a,a

44、ddress cjne a,#00h,pcwait1;检测地址是否改动. sjmp pcwait2pcwait1:ajmp mainpcwait2:jnb ri,pcwait;无接收数据,则循环等待. clr ri mov a,sbuf setb rs485io clr rs232ce setb rs485ce acall delay acall delay acall delay acall delay acall delay acall delay acall delay acall delay mov sbuf,apcwait18:jnb ti,pcwait18 clr ti clr o

45、dd_bitcjne a,#start_byte,pcprg ;判断是否为起始位. setb rs485io clr rs485ce setb rs232ce acall delay clr ri acall timeset;设置定时器(60s).pcwait3:acall watchdog jnb ri,pcwait3 clr ri mov ascaddh,sbufpcwait4:acall watchdog jnbri,pcwait4 clr ri mov ascaddl,sbuf;地址接收完毕. acall timeoff;关定时器. setb rs485io clr rs232ce s

46、etb rs485ce acall delay acall delay acall delay acall delay acall delay acall delay acall delay acall delay mov sbuf,ascaddhpcwait5:jnb ti,pcwait5 clr ti mov sbuf,ascaddlpcwait6:jnb ti,pcwait6 clr ti;地址发送完毕 clr rs485ioclr rs232ce setb rs485ceacall delay acall delay acall delay clr ri acall timeset p

47、cwait7:acall watchdog jnb ri,pcwait7 clr ri mov a,sbuf acall timeoff cjne a,ascaddh,pcerre1 ;判断地址是否相等. acall timeset pcwait8:acall watchdog jnb ri,pcwait8;地址相等继续接收 clr ri mov a,sbuf acall timeoffcjne a,ascaddl,pcerre1 ajmp pccontinu1 ;地址相等,继续.pcerre1:setb rs485io clr rs485ce setb rs232ceacall delay acall delay acall delay mov a,#erre_byte;发送错误命令 mov c,odd cpl c mov odd_bit,c ;加奇校验位. mov sbuf,apcwait9:jnb ti,pcwait9 clr ti ajmp pcprg;返回pccontinu1:setb rs485io clr rs485ce;地址相等. setb rs232ce ;选择rs232. acall delay acall delay acall delay mov sbuf,ascaddh;向pc机

温馨提示

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

评论

0/150

提交评论