基于单片机的数控机床控制系统设计_第1页
基于单片机的数控机床控制系统设计_第2页
基于单片机的数控机床控制系统设计_第3页
基于单片机的数控机床控制系统设计_第4页
基于单片机的数控机床控制系统设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的数控机床控制系统设计PAGEI摘要本课题研究的数控机床控制系统主要分为上、下位机。上位机为一块PC104,主要作用是运行整个数控软件,通过控制面板输入控制命令,通过输出端口来控制各个电机的运行,并将机床的加工信息在LCD屏上显示出来。下位机就是本课题所要设计的控制面板,它是一个单片机系统,将控制面板的输入信息传到上位机,并从上位机接收信息用LED来显示机床的运行状态。该系统的总体功能够通过通讯协议完成单片机和上位机之间的通讯,该协议说明用户按了哪些键。开机后,上位机(PC104)给单片机发送信息,单片机接收到信息后在控制面板上用LED显示机床的状态,用户操作时按控制面板上的按键或转动波动开关,单片机向上位机发送信息告诉上位机用户对机床的操作和对加工过程的一些配置。上位机根据下位机传送的信息来控制机床的运行,同时也向单片机传送必要的信息。本控制面板(下位机)分为上下两部分。上面一块称为MDI面板,下面称为机床操作面板。MDI面板上都是按键,其功能为:数控软件的软按键(虚拟button,由两个左右方向键和F1,F2,F3,F4,F5等按键组成);文字代码编辑、插入、删除、查看翻页以及几个功能键(诊断,图形,系统设定等)。下面机床操作面板除了按键外,还有几个波段开关,起停开关以及一些LED灯。按键的功能是实现机床的操作命令,如打开照明灯,主轴的正转、反转,刀具回零点等。波段开关的功能分别为设置主轴倍率、进给倍率、快速倍率、方式选择。快停开关为数控机床启动、停止、急停,LED灯显示数控机床状态。本系统设计包括:1、单片机与上位机通信协议的设计。2、多按键的设计。3、单片机的抗干扰措施及MAX1232的使用的设计。4、用MAX1232芯片和上位机进行串口通信的设计。5、单片机I/O口的扩展的设计。6、变量的定义设计。7、灯亮程序的设计。8、接收程序的设计。基于单片机的数控机床控制系统设计全文共35页,当前为第1页。关键词:单片机控制系统按键基于单片机的数控机床控制系统设计全文共35页,当前为第1页。基于单片机的数控机床控制系统设计全文共35页,当前为第2页。

Abstract基于单片机的数控机床控制系统设计全文共35页,当前为第2页。CNCmachinetoolcontrolsystemofthisresearchprojectismainlydividedintoupperandlowermachine.ThehostcomputertothePC104amainroleistoruntheCNCsoftware,controlcommandsviathecontrolpanelinputandoutputportstocontroltheoperationofeachmotor,andthemachininginformationtobedisplayedontheLCDscreen.Lowermachineissubjecttodesigncontrolpanel,whichisasingle-chipsystem,thecontrolpaneltoinputinformationtothehostcomputer,andreceiveinformationfromthehostcomputerwithLEDdisplaymachinerunningstatus.Theoverallfunctionofthesystemenoughtocompletethecommunicationbetweenthemicrocontrollerandthehostcomputerthroughthecommunicationprotocoloftheagreementshowstheuserwhichkeywaspressed.Bootthehostmachine(PC104)tosendinformationtothemicrocontroller,MCUreceivestheinformationonthecontrolpanelwithLEDdisplaymachinestatus,useractionsonthecontrolpanelbuttonorturnthefluctuationsswitch,themicrocontrollerupthemachinetosendinformationtotellthehostcomputerusersonthemachinetooloperationsandprocessingconfiguration.Thehostcomputermodemtosendtheinformationtocontroltheoperationofthemachine,butalsothenecessaryinformationtosendtothemicrocontroller.Thecontrolpanel(machine)dividedintotwoparts.AboveoneknownastheMDIpanel,hereafterreferredtoasamachineoperatorpanel.ArekeysontheMDIpanelanditsfunctionsare:CNCsoftwaresoftbuttons(thebuttonvirtual,composedbythetwoleftandrightarrowkeysandF1,F2,andF3,theF4,F5,andotherkey);textcodeeditor,insert,delete,viewpageaswellasseveralfunctionkeys(diagnostic,graphics,systemsettings,etc.).Thefollowingmachineoperatorpanelbuttonoutside,thereareseveralbandswitchwiththeswitchandsomeLEDlights.Thebutton'sfunctionisamachinetooloperationcommand,suchasturnonthelights,thespindleforwardandreverse,thetoolbackto0:00andsoon.Bandswitchfunctiontosetthespindleoverrideandfeedoverride,rapidoverrideoptions.Quickstopswitchtostart,stop,emergencystopandLEDlightsdisplaytheCNCmachinetoolsforCNCmachinetools.Thesystemdesignincludes:1,MCUandhostcomputercommunicationprotocoldesign.2,amulti-buttondesign.3,anti-jammingmeasuresmicrocontrollerandMAX1232usedesign.基于单片机的数控机床控制系统设计全文共35页,当前为第3页。4,theMAX1232chipandthehostcomputerserialcommunicationdesign.基于单片机的数控机床控制系统设计全文共35页,当前为第3页。5,MCUI/Oportexpansiondesign.6,thevariabledefinitionofdesign.7,theprogramdesignofthelights.8,thedesignofthereceivingprogram.Keyword:lowermachine,Thecontrolpanel(machine),multi-button基于单片机的数控机床控制系统设计全文共35页,当前为第4页。

目录基于单片机的数控机床控制系统设计全文共35页,当前为第4页。摘要 IAbstract II引言 11. 简介 21.1 单片机 31.2 单片机与上位机通信协议设计 42.多按键处理 63.原理图的分析与实现 83.1单片机的抗干扰措施及MAX1232的使用 83.2用MAX1232芯片和上位机进行串口通信 123.3单片机I/O口的扩展 143.4程序分析 204.总电路图 27结论 28致谢 29参考文献 30基于单片机的数控机床控制系统设计全文共35页,当前为第5页。基于单片机的数控机床控制系统设计全文共35页,当前为第5页。引言由于单片机构成的系统具有可靠性高、使用简单方便、修改灵活等优点,在工业应用上越来越普遍,逐渐取代了以往采用的以大量模拟电路、数字电路和分离原件来制作控制系统的方法。本例首先对控制面板的功能和操作方法做了详细的介绍,对单片机和上位机的通信协议做了详细的分析。在硬件设计上,为了保证系统的温定型,用了MAX1232芯片作为整个单片机系统的看门狗。因为本系统要用到大量的I/O端口,所以用了一些8155芯片来扩展I/O,同上位机通信则用到了MAX232芯片。整个系统分为几个模块来编写,易于整理思路,使程序富有条理。开机后,上位机(PC104)给单片机发送信息,单片机接收到信息后在控制面板上依靠LED显示机床的状态,用户操作时按控制面板上的按键以及转动波动开关,单片机向上位机发送信息告诉上位机用户对机床的操作和对加工过程的一些配置。上位机根据下位机传送的信息来控制机床的运行,与此同时也向单片机传送必要的信息。目前大量的嵌入式产品,如激光打印机,POS机等等,依赖键盘或者小键盘接口用于用户的输入,并在LCD或者LED上显示一定的信息。虽然目前有非常多的芯片可以用来实现键盘扫描,但是用软件实现键盘扫描的方法有助于缩减系统的开发成本,并且修改灵活,非常方便。本系统的键盘扫描方法和代码也可以用在其他类似的系统上,仅仅需要根据项目的不同特点、需要、做出少量修改即可。基于单片机的数控机床控制系统设计全文共35页,当前为第6页。

简介基于单片机的数控机床控制系统设计全文共35页,当前为第6页。基于单片机的数控机床控制系统设计全文共35页,当前为第7页。单片机又可以称为单片的微型控制器,它不是为了完成某一个特定逻辑功能的芯片,而是把一个PC系统集成到一个芯片上。笼统的来讲:就是一台计算机就由一个芯片组成。它的质量轻、价格便宜、体积小、为开发、学习和应用提供了非常便利的条件。而且,学习使用单片机是为了了解PC结构与原理的最佳选择。单片机内部也使用和PC功能相类似的模块,比如中央处理器,内存,并行总线,还有和硬盘作用相似的存储器件,不同的是他的这些元件性能都比我们的家用电脑弱很多,不过价钱也是相对很低的,一般不会超过5元。用来做一些控制电器一类不是非常复杂的工作就足够了。我们现在用的全自动滚筒洗农机、排烟罩、VCD等家电里面都可以看到它的身影。它主要的功能是作为控制结构的核心部件。他是一种存线式实时控制PC,在线式为现场控制,需要的是有很强的抗干扰的能力,较低的价格成本,这也是和离线式PC的(比如家用PC)主要区别。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的一些功能,这是别的器件需要费很多人力才能做到的,有些则是花人力也很难做到的。一个不是很复杂的功能要是用美同50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高科能,高效率,以及高可靠性!CPU(中央处理单元)是数字计算机的重要组成部分,其目的是对从内存中接收的指令进行译码,同时对存储于内部寄存器、存储器或输入输出接口单元的数据惊醒传输、算术运算、逻辑运算以及控制运算。在外部,CPU位转换指令数据和控制信息提供一个或多个总线并从组件连接到它。一个微控制器出现在普通电脑的键盘和检测器中,但是这些组件也被屏蔽。在这种微控制器中,与我们所讨论的CPU可能有所不同。字长也许更短,编制数量少,指令集有限。相对而言,性能差,但对完成任务来说足够了。最重要的是它的微控制器的成本很低,符合成本效应。因为单片机对成本是非常敏感的,所以现在占主导地位的软件还是最低级汇编语言,他是除了2进制机器编码以上最为低级的语言了,但是这么低级为什么还要使用它呢?非常多的高级语言已达到了可视化编程的水平,那为什么不用呢?原因非常简单,就是单片机没有家用PC那样的中央处理器,也没有像HD那样的大量存储设备。一个可以看到的高级语言编写的小程序里即使只有一个按键,也会达到几十K的尺寸!对于我们家用电脑的硬盘来讲这并没有什么,可是对于单片机来说着是绝对不能够接受的。单片机在硬件资源方面的利用率一定非常高才可以,所以汇编语言虽然有些原始但还是在被大量使用。同样的道理,如果把巨型PC上的操作系统以及应用软件拿到家用计算机上来运行,家用计算机的也是承受不了的。可以这么说,二十一世纪跨越了几个“电”的时代,即电气时代、电子时代和现已进入的PC时代。不过,这种计算机,通常是指个人PC机。它是由主机、键盘以及显示器等组成。还有一类PC机,很多人却不是怎么熟悉。这种PC机就是把智能赋予各种机械的微控制器(亦称单片机)。顾名思义,这种PC机的最小系统只用一片集成电路,即可进行简单的运算和控制。由于它的体积很小,一般都被藏在被控的机械“肚子”里。他在整个的装置中,起着就像人类的头脑的作用,它如果出了问题,所有的装置就瘫痪了。目前,这种单片机的使用领域已十分广泛,像科能的仪表、实时T控、通讯设备、导航仪器、家电等。各种产品。一但使用了单片机,就能起到使产品换代升级的功效,经常在产品的名称前加以形容词一一“智能型”,如智能洗衣机等。现在有很多工厂的技工或其它业余电子开发爱好者做出来的一些产品,不是电路过于复杂,就是功能过于简单且而且极易被仿制。究其原因,可能就是卡在产品没有使用的单片机或者别的可编程逻辑器件上。基于单片机的数控机床控制系统设计全文共35页,当前为第7页。单片机51单片机是对目前所有兼容Intel8031系统指令的单片机的系统统称。该版本单片机的始祖是Intel的8031单片机,之后随着Flashrom技术的发展以及延续,8031单片机取得了很长的进展,成为现在使用最广泛的8位单片机之一,其代表是Atmel公司的At89系列,它广泛的用于工业测控系统中。目前有非常多的公司都有51系列的兼容类机型推出,在目前以至于今后都会在很长的一段时间内将占有大量的市场。51系列单片机不仅是基础入门的一个单片机,还是在应用中最为广泛的一种单片机。需要注意的是52系列的单片机一般都不具备自编程能力。如图1-1单片机管脚图基于单片机的数控机床控制系统设计全文共35页,当前为第8页。基于单片机的数控机床控制系统设计全文共35页,当前为第8页。图1-1单片机管脚图单片机与上位机通信协议设计上位机指示单片机显示机床的状态,以及单片机向上位机传递用户操作机床的信息全都需要设计单片机与上位机(PC104)的通信协议。本控制面板设计通过RS-232发送和接收写信,协议定义:发送数据:(单片机发送,计算机接收),两种方式:帧引导+命令字+数据个数+N个数据+异或校检。帧引导+结束命令字+异或校检。其中,命令字为N、L、M、T。N表示机床控制面板的按键,L表示LCD的按键,M表示MDI面板的按键,T表示倍率。N6个数据078为4EHL1个数据076为4CHM4个数据077为4DHT2个倍率数据084为54HP6个手脉数据080为50HD6个数据068为44H实例:如2、02+FFH+校检和。数据和地址对应单元:Data0:30H以此类推:Data1:31H等。基于单片机的数控机床控制系统设计全文共35页,当前为第9页。请求数据:基于单片机的数控机床控制系统设计全文共35页,当前为第9页。帧引导+命令字+数据地址+数据个数+校检和。帧引导+命令字+N个数据+校检和。实例:如1、05+’W/R’+’40H’+’05H’+校检和。发送数据为:05H、52H、34H、30H、30H、35H、31H、42H。说明:校检和是W、04H与05H的ASC码值的和,且只保留检验和的最后两位,并把它转化为ASC2码值。在本例中校检和为11BH,去掉最高位则为1BH,那么其ASC2码值为:31H、42H。基于单片机的数控机床控制系统设计全文共35页,当前为第10页。

2.多按键处理基于单片机的数控机床控制系统设计全文共35页,当前为第10页。控制面板上除了有80多个按键外还有4个拨动开关和30多个发光二级管,即一共100多个开关位。其中还有双键同时被按的功能定义,也有两间锁定(两键功能不能同时实现)的功能定义,同时还要处理错误按键信息。方法如下:单片机通过外接多片8155芯片来扩展I/O口,按键则接在8155的I/O口上。接线的方法是接成矩形键盘,其中8155的PA口作为举行的行线,PB和PC口作为举行的列线。通过“扫描”的方法来查看键盘有没有按键或哪个按键被按以及有没有多个按键被按或错误按键被按,不同的按键连接方式如图2-1:基于单片机的数控机床控制系统设计全文共35页,当前为第11页。基于单片机的数控机床控制系统设计全文共35页,当前为第11页。PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PA008Y复位输入上页>手动冷却主轴正传主轴定位-XPA119Z帮助位置下页>刀库旋转主轴停止选择跳过-YPA22-M切换程序前F1刀具夹紧主轴反转进给保持-ZPA33。S插入参数后F2工作照明机械锁住快速-4PA44QT替换系统左F3自动断电单断运行+XPA55NF删除诊断右F4超程释放空运行+YPA66GDEOB图形F51/2程序启动+ZPA77XH取消排屑+4图2-1按键连接方式图方法如下:通过扫描键盘的行线可知PA的一个I/O口有按键被按,设为n,n为有按键被按的那根行线的序号。再通过扫描列线可知列线第几根线有按键被按,设为m,同理m为有按键被按的那根列线的序号。令A=8m+n-X,X为图表中中间未定义的按键的个数,A为各个按键功能表对应的左程序跳转列表中的序数指针。列表“>”为0行7列,按照从一列一列从上到下数的方式,其中从0列到PC3列中未定义的按键个数为11个,即X为11。可得A=45,即“<”按键在按键功能表的对应位置为45.这样就可以用JMP@A+DPTR这样的汇编程序语句使程序调到处理此按键的程序上。基于单片机的数控机床控制系统设计全文共35页,当前为第12页。

3.原理图的分析与实现基于单片机的数控机床控制系统设计全文共35页,当前为第12页。这个控制板是由一块87C52单片机构成的硬件系统,除了单片机本身之外,系统还包含了MAX1232芯片作为单片机系统的看门狗检测系统的运行,保证单片机程序能够正确的被执行,MAX1232芯片作为单片机的TTL-RS232电平的转换器来用来使单片机和上位机串行通信,相互传递信息,74LS245芯片、8155芯片作为单片机的I/O扩展口。如图3-1系统图图3-1系统图3.1单片机的抗干扰措施及MAX1232的使用基于单片机的数控机床控制系统设计全文共35页,当前为第13页。在机械加工厂中,数控系统受到周围的干扰非常大。比如电机启动时电流突然变大对数控系统会产生很大的干扰,由于电机的启动电压是380V,而单片机系统采用的电路电压是5V或3V,非常容易受到强电的影响,因此单片机系统不可避免的在运行过程中会死机或程序跑飞、功能不正常等,所以在电路板设计中要注意抗干扰的问题。为了解决这个问题,在本系统中加了一个看门狗,选用的芯片是MAX1232,下面讲述看门狗技术及用MAX1232芯片作看门狗的连接、运用方法以及原理。基于单片机的数控机床控制系统设计全文共35页,当前为第13页。看门狗电路一般都被描述为一块在有一定规律的时间间隔内进行更新的硬件,该更辛必须是由微型控制器或者是使微型控制器来重新启动的电路来完成。看门狗电路分为内部以及外部两种,在外的看门狗电路是非常好的,因为它不是依赖微型控制器的,如果微型控制器发生故障就会需要这个看门狗更新,所以本电路将给出RESET信号使微型控制器再次启动。看门狗通常是由一个硬件定时器构成,若没有来自微控制器的更新或报告信息,该定时器就会溢出,看门狗就给微控制器复位信号使其复位。MAX1232是MAXIM公司生产的微处理器监视器,它不光提供了看门的功能,同时还能检测供电电源的变化,并提供了高电平、低电平两种上电复位方式,用户能够自行设置它的超时时间、设定电源电压波动的允许范围。用MXA1232芯片作为单片机系统以及其他电子设备的看门狗,不需要其他的电子元器件配合,可以直接和微控制器相连,使用非常简单,性能可靠,被大量应用在一些单片机系统上。它有两种封装方式,如图3-2所示,给出了MAX1232的各引脚名称和功能。如图3-3单片机功能图图3-2引脚图基于单片机的数控机床控制系统设计全文共35页,当前为第14页。基于单片机的数控机床控制系统设计全文共35页,当前为第14页。图3-3单片机功能图MAX1232在以下几种情况下发送复位信号:(1)电源电压下降到设定的复位电压处,即检测到了下降值超过所设置的5%或10%的允许波动电压(4.62V或4.37V)。(2)PB/RST引脚电压被拉低。(3)ST引脚没有在设定的超时时间内接收到喂狗信号。(4)电源上电。本系统利用了看门狗MAX1232的功能和特效来确保系统正常运行,MAX1232与单片机的连接方式如图3-4所示。基于单片机的数控机床控制系统设计全文共35页,当前为第15页。基于单片机的数控机床控制系统设计全文共35页,当前为第15页。图3-4MAX1232与单片机的连接方式将MAX1232的RST引脚连接到单片机的RESET脚上,即在系统工作不正常时使单片机高电平复位;TOL接到地,将VCC的最低电压设为4.62V;TD脚和VCC相连,超时时间设置为1.2s,即在单片机程序中要在每个小于1.2s时间对MAX1232的ST引脚赋与高电平。若单片机程序运行不正常,对MAX1232的ST就不会有赋高电平的动作;超过了超时时间,MAX1232的内部定时器就会溢出,其RST引脚就会给单片机的RESET引脚和8155芯片的RESET引脚一个复位脉冲使得单片机重新开始工作、8155复位。这样就保证了当单片机系统受到干扰时程序跑飞或系统死机时可以重新复位却不会产生错误的动作。其他的单片机抗干扰的措施:(1)尽量在关键元件,如ROM,RAM等芯片旁安装去祸电容。(2)对于运行环境特别苛刻的,可以考虑给控制板的电源加滤波器。(3)时钟、总线、片选信号远离I/O线和接插件。(4)加粗地线,接地线构成闭合环路。基于单片机的数控机床控制系统设计全文共35页,当前为第16页。(5)用容错技术,包括硬件容错,软件容错。基于单片机的数控机床控制系统设计全文共35页,当前为第16页。3.2用MAX1232芯片和上位机进行串口通信在单片机系统中,单片机与外来的最常用的通信方式为两种:(1)并行通信:数据的各位同时到达。CPU与存储器、存储器与存储器、主机与打印机之间的通信都是并行通信的方式,在并行通信的方式中,数据有多少位就需要多少传送线,它的优势为传送速度较快。缺点为占用资源较大,尤其是传送位数很大的数据时更是如此。因此,并行通信应用越来越少。(2)串口通信:数据1位1位并且以特定的顺序来传送。串行通信仅仅需要1对传送线,所以应用串行通信的办法可以节省很多传送线,尤其是在数据位有些多和传送的距离有些远的时候,这个特点非常重要。但是不足的是1次只能传送1位,因此运输的速度比并行通信的速度慢,位数越多,速度越慢。异步的串口通信的接口有好几种,如RS-232,RS-499,RS-422,DS-423,RS-485等等,其中RS-232是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最为广泛。用它进行单向数据传输时,传输速度可达到20Kbids,传输距离可达15米。RS-232C标准定义了25根引线,对于一般的双向通信,只需使用串行输人RxD,串行输出TxD和地线GND。本题目系统和上位机的通信的方法是串行RS-232协议,由于51单片机的串口采用TTL电平,信号幅值较低易受干扰,只能在近距离内实现通信,和RS-232的电气标准不符合。所以单片机和PC机之间的串口通信必须要有一个RS-232/TTL电平转换电路。通常这个电路都选择专用的RS-232接口电平转换集成电路进行设计,如MAX232,HIN232等。本系统用的是MAX232芯片实现TTL/232电平的转换。MAX232芯片是MAXTM公司生产的低功耗、单电源双RS-232发送/接收器。可以用于各类Eta-232E和v.28/v.24的通信基于单片机的数控机床控制系统设计全文共35页,当前为第17页。接口,如图3-5所示。基于单片机的数控机床控制系统设计全文共35页,当前为第17页。图3-5接口图其参数如下:(1)电源:+5V。(2)传输速率:120Kbps。(3)输人/输出:RS-232端。(4)输出:一8V,+8V。(5)输人:一30V(最高)。(6)TTL端输人:逻辑高2V(最低)逻辑低0.8V(最高)(7)输人电流:5伏。(8)TTL端输出:逻辑高0.2V。逻辑低0.4V(最高)。基于单片机的数控机床控制系统设计全文共35页,当前为第18页。MAX232芯片的内部有1个电源电压的变换器,可以把我们输人的正5V电源转换为Rs-232c输出电平所需要的正负10伏电压,因此采用这种芯片的接口的串行通信系统就只需单一的正5V电源就可以了,MAX232外部需要4个电解电容C1,C2,C3,C4,作为内部的电源所需转换电容,它的取值一般为1uF/25V,宜选用担电容并且应尽量靠近芯片。基于单片机的数控机床控制系统设计全文共35页,当前为第18页。Max232芯片的连接方法如下:Max232的引脚T1IN.T2IN,R1out,R2ouT为接TTL/CMOS电平的引脚。引脚T1ouT,T2ouT、R1IN,R2IN为接RS-232C电平的引脚。因此TTL/CMOS电平的T1IN,T2IN引脚应接MCS-51的串行发送引脚TxD;R1ouT,R2ouT应接MCS-51的串行接收引脚RxD,与之对应的RS-232C电平的T1ouT,T2OUT应接PC机的接收端RD;R1INR2IN应接PC机的发送端TD。在本系统中单片机具体的接法如3-6图所示。其中MAX232的T2IN,R2ouT接到了单片机的发送、接收端,而T20UT、R2IN接到了上位机的发送、接收端。同时为了保证MAX232芯片工作的稳定性,在电路中加了很多电容,起到了滤波的作用,这在电路中是不可缺少的。图3-6单片机具体连接图基于单片机的数控机床控制系统设计全文共35页,当前为第19页。3.3单片机I/O口的扩展基于单片机的数控机床控制系统设计全文共35页,当前为第19页。由于单片机本身提供给用户使用的输人、输出口线并不多,只有P1口和部分P3口线,因此需要进行I/O口扩展。在单片机系统中I/O扩展方式主要有总线扩展法和串行扩展法,扩展I/O口所需要的芯片主要有通用的可编程接口芯片和不可编程接口芯片(TTL,CMOS锁存器、缓冲器等)两大类。经常采用的是TTL电路或三态门作为I/O扩展芯片,这类TTL芯片常用的有:373,273,244,245等,一般通过P0口扩展,在本系统中,由于要连接多个按键和LED灯,考虑到单片机的I/O口驱动能力有限,不能驱动那么多8155芯片,所以给单片机系统增加了芯片74LS245作扩展接口。另一方面,由于单片机系统连接了大量的按键以及LED数码管,所以还用了8155芯片扩展了单片机系统的I/0口,8155芯片是一个拥有40个引脚的塑封芯片,功能强,广泛被应用在计算机电路中。如图3-7所示有两个8位口A、B以及一个6位口C,总共可以扩展出22条接线。还含有一个可以预置的计数器,计数范围从2到16383,可用于延时、计数或分频。内部有256字其中与CPU相连的引脚为/ICE,IO/M,AD0-AD7,ALE,/RD,/WR和RESET引脚。/CE引脚为片选信号,当/ICE=0时,8155芯片被选中,芯片才与CPU交换信息。ICE引脚一般接到地址译码器上,由整个系统分配给高位地址,保证任何时刻只有一个芯片可与CPU交换信息,不发生地址冲突。IO/M引脚是接口或内部RAM寄存器的选择线。当IO/M=1时,CPU对8155芯片I/O接口操作;而当IO/M=0时,CPU是对存储器进行操作,AD1-AD7为地址数据总线。ALE是地址锁存信号输人线。/RD,/WR分别为读、写控制线。RESET为复位线,当RESET=1时,8155芯片被复位。与外部设备连接的引脚有TMRIN,/TMROUT,PA0-PA7,PB0-PB7和PC0-PCS。TMRIN是计数输人线,接到待测的脉冲源。/TMOUT是计数输出线。PA0-PA7为A口的8位输入/输出线。PB0-PB7为B口的8位输人/输出线PC0-PC为C口的6位输人输出线。在单片机系统中,I/O口是和外部数据存储器统一编址的,所以单片机的I/O口在程序中的应用需要用访问内存的方法。基于单片机的数控机床控制系统设计全文共35页,当前为第20页。基于单片机的数控机床控制系统设计全文共35页,当前为第20页。图3-7引脚图单片机系统的键盘、波动开关以及LED等的连接都是和几个8155芯片的I/O口相连,这几个8155芯片采用复用共地址线,而片选不同的连接方式与单片机相连,如图3-8所示接法:基于单片机的数控机床控制系统设计全文共35页,当前为第21页。基于单片机的数控机床控制系统设计全文共35页,当前为第21页。图3-8按键与单片机连接图按键连接图如图3-9、3—10所示。基于单片机的数控机床控制系统设计全文共35页,当前为第22页。基于单片机的数控机床控制系统设计全文共35页,当前为第22页。图3-9按键连接图基于单片机的数控机床控制系统设计全文共35页,当前为第23页。基于单片机的数控机床控制系统设计全文共35页,当前为第23页。图3-10按键连接到单片机系统的8155芯片的地址是由8155芯片本身的CE端口以及IO/M端口所决定的,连接好这两个引脚,8155芯片的地址就确定下来了,下面的表给出了本系统用到的四个8155芯片的连接方法和各自寄存器的地址。如图3-11。8155芯片/CEIO/M寄存器地址接键盘P1.7P2.0#0100H接指示灯1P1.5P2.1#0200H接指示灯2P1.2P2.4#1000H接旋钮P1.4P2.2#0400H基于单片机的数控机床控制系统设计全文共35页,当前为第24页。图3-118155芯片连接方法和各自寄存器地址基于单片机的数控机床控制系统设计全文共35页,当前为第24页。连接图如图3-12所示:图3-128155芯片连接图3.4程序分析1.变量的定义单片机程序运行过程中,需要保存一些变量,程序定义的变量以及保存的地址如下:(1)KEY_DataO[0...7]:0,1、2,3,4,5,6,7变量存储在30H。(2)KEY_Datal[0...7]:8,9、-(+)、O,N,G、X变量存储在31H。(3)KEY_Data2[0...7]:Y,Z,M,S,T,F,Q、H存储在32H。(4)KEY_Data3[0...7]:复位、帮助、切换、插人、替换、删除、EOB、取消变量存储在33H。(5)KEY_Data4[0...7]:输人、位置、程序、参数、系统、诊断、图形、上页变量存储在34H。(6)KEY_Data5[0...7]:下页、前、后、左、右变量存储在35H。(7)KEY_Data6[0...7]:F11、F1、F2,F3,F4,F5、F12变量存储在36H。基于单片机的数控机床控制系统设计全文共35页,当前为第25页。(8)KEY_Data7[0...7]:手动冷却、刀库旋转、刀具夹紧、工作照明、自动断电、超程释放、1/2、排屑变量存储在37H。基于单片机的数控机床控制系统设计全文共35页,当前为第25页。(9)KEY_Data8[0...7]:主轴正转、主轴定位、主轴反转、机械锁住、单端运行、空运行、程序启动、主轴定位变量存储在38H。(10)KEY_Data9[0...7]:选择跳过、进给保持、快速变量存储在39H。(11)KEY_Data10[0...7]:一X、一Y、一Z、一4,+X,+Y,+Z,+4指示灯定义变量存储在3AH。(12)Lamp_DATAA1[0...7]:NC就绪、伺服就绪、X轴0位、Y轴0位、Z轴0位、W轴0位、刀库0位、ATC到位变量存储在22H。(13)Lamp_DATAB1[0...7]:主轴故障、气压故障、润滑故障、冷却故障、手动冷却、刀库旋转、刀具夹紧、工作照明变量存储在23H。(14)Lamp_DATAC1[0...7]:自动断电、超程释放、1/2、排屑主轴、正转、字母切换灯(左上面板)变量存储在24H。(15)Lamp_DATAA2[0...7]:主轴停止、主轴反转、主轴定位、机械锁住、单端运行、空运行、程序启动、选择跳过变量存储在25Ho(16)Lamp_DATAB2[0...7]:进给保持、+X,+Y,+Z,+4、快速、一X、一Y存储在26H。(17)Lamp_DATAC2[0...7]:-Z.-4、倍率定义变量存储在27H。(18)TIMES_PORTA[0...7]:主轴倍率0,1,2,3,4,进给倍率0,1,2变量存储在49H。(19)TIMES_PORTAB[0...7]:3,4快速倍率0,1、2、方式选择0,1,2变量存储在4AH。(20)TIMES_PORTAC[0...7]:3变量存储在4BH。各标志变量定义如下:42H位定义为READ_PROT_FLAG:(1)0表示没有键按下或者没有错误按键。(2)从PB和PC口读数:一个键按下时:①为1,表示PB处有键被按下。②为2,表示PCO或PC1处有键被按下。‘③为3,表示PC2处有键被按下。④为4,表示PC3处有一轴键被按下。(3)从以口读时:①一个非轴键按下时:READ_PROT_FLAG加上#10H。基于单片机的数控机床控制系统设计全文共35页,当前为第26页。②一个+X,+Y,+Z,+4、一X、一Y、一Z、一4键被按下时:READ_PROT_FLAG加上#20H基于单片机的数控机床控制系统设计全文共35页,当前为第26页。③两个或两个以上非互斥轴键同时被按下时:READ_PORT_FLAG加上#40H。AXIS_FLAG:变量存在4EH。①OOH:非轴键被按下。②O1H:一个轴键被按下。③02H:两个或两个以上非互斥轴键被按下。TIMES_FLAG:变量存在4CH。①OlH:PA有动作。②02H:PB有动作。③03H:PC有动作。程序首先检测上位机有没有发信息过来,如果有就接收数据并且根据数据来显示机床的状态。没有则开始检测键盘并处理按键事件并向上位机发送按键的信息。一些最主要的模块在上一节关键技术中已有详细讲解。下面讲讲其他的模块。2.灯亮程序系统中还有一部分为亮LED灯的程序,LED的连接如表所示,因为各个按键实现的功能均不一样,所以每个按键灯的亮和暗的实现方法也不尽相同,程序开始时,将一些变量赋值给各个LED灯,作为保存LED的亮、暗的状态。可以将LED亮灯分为3种情况。如图3-13基于单片机的数控机床控制系统设计全文共35页,当前为第27页。基于单片机的数控机床控制系统设计全文共35页,当前为第27页。图3-13灯亮程序(1)上位机向单片机发送信息,单片机接到数据信息后,改变LED灯变量的数值,等到程序运行到亮灯子程序时亮灯。(2)另一种情况是功能键,特点是按键被按下时按键灯亮并一直亮下去,直到按键再次被按才熄灭。其中有两个键是特殊情况,正转和反转按键的按键灯因为按键的功能不能同时实现,所以不能同时点亮按键灯。程序处理这种按键的方法为:按下一个按键就给这个按键的按键灯变量赋值1,同时给同它功能互斥的按键的按键灯变量赋值0。其他机床功能按键灯处理如下:当按下一个按键时,程序就判断原来的变量的数值,若为#OH则将#01H赋给这个变量,若为#O1H,则将数值#OH赋给此变量。此后程序根据这些LED灯变量来点亮LED灯。基于单片机的数控机床控制系统设计全文共35页,当前为第28页。还有一种情况就是轴键的按键灯,比如+Y,+Z、-4,+X、快速、-X,+4、-Z、-Y这几个按键与其他的按键的灯不一样。这几个键被按下时,按键灯亮,按键松开按键灯就会灭。因为这几个按键是直接控制机床的轴,称为轴键。在按下轴键时程序处理如下:让此按键的指示灯灯亮,并置位AXIS一FLAG;在程序循环中返回到程序开头时,要检测AXIS一FLAG,若不为零则说明有轴键被按过、同时轴灯还是亮的,那么就清轴灯,让它熄灭。基于单片机的数控机床控制系统设计全文共35页,当前为第28页。(1)选择连接一个类型LED灯的8155芯片,使其选中。(2)设置被选中的8155芯片的端口方式。(3)将LED灯变量等数据发送到8155端口,使得LED灯按照程序数据点亮。(4)选择连接到其他类型的LED灯的8155芯片,并将LED变量数据传送到8155的I/O口。3.接收程序程序开始时要调用接收程序,如果正在接收则调用延时程序,单片机程序接收上位机传送过来的信息,如果延时程序已经说明接收时串口工作不正常,则不再接收,返回。如果接收到上位机发送数据,则看帧头是否为05H,若不为05H,则发生数据错误返回。若正确则继续接收下一位数据,数据的处理是按照通信协议进行的。接收流程图3-14如下:基于单片机的数控机床控制系统设计全文共35页,当前为第29页。基于单片机的数控机床控制系统设计全文共35页,当前为第29页。图3-14接收程序图基于单片机的数控机床控制系统设计全文共35页,当前为第30页。基于单片机的数控机床控制系统设计全文共35页,当前为第30页。软件程序流程图3-15如下:图3-15软件程序流程图基于单片机的数控机床控制系统设计全文共35页,当前为第31页。基于单片机的数控机床控制系统设计全文共35页,当前为第31页。4.总电路图图4-1总电路图基于单片机的数控机床控制系统设计全文共35页,当前为第32页。基于单片机的数控机床控制系统设计全文共35页,当前为第32页。结论本例首先对控制面板的功能和操作方法做了详细的介绍,对单片机和上位机的通信协议做了详细的分析。在硬件设计上,为了保证系统的温定型,用了MAX1232芯片作为整个单片机系统的看门狗。因为本系统要用到大量的I/O端口,所以用了一些8155芯片来扩展I/O,同上位机通信则用到了MAX232芯片。整个系统分为几个模块来编写,易于整理思路,使程序富有条理。开机后,上位机(PC104)给单片机发送信息,单片机接收到信息后在控制面板上依靠LED显示机床的状态,用户操作时按控制面板上的按键以及转动波动开关,单片机向上位机发送信息告诉上位机用户对机床的操作和对加工过程的一些配置。上位机根据下位机传送的信息来控制机床的运行,与此同时也向单片机传送必

温馨提示

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

评论

0/150

提交评论