




免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
青岛大学毕业设计论文第1章 前言雕刻技术起源于艺术品的加工,是一种很传统的手工工艺,由于深厚的文化内涵和精湛的成品效果使雕刻走入工业生产领域。进入工业生产的初期,雕刻的主要工作是产品形态的精细修整和产品的文字图案雕刻。传统的手工雕刻是以刀斧凿为工具,进行手工加工,产品的质量主要取决于雕刻工人的技艺水平,而且劳动生产率低、成本价格高、可重复性差,很难适应现代化生产的需求。随着市场需求的不断扩大以及模具工业的迅速发展,除首饰、标牌和工艺品的模具制造需要雕刻以外,很多日常生活用品的模具也量需要雕刻加工,促进了雕刻加工向机械化方向的发展。 尽管运用普通的手动机床可以较快的加工出一些简单的饰品,但对一些形状精美、图形复杂的产品,普通机床仍无能为力,精度不够,效率很低。因而,我们考虑设计一简易数控雕刻机,通过一些智能芯片控制机床动作,用户只需通过雕刻机面板上的按键按照自己的想法输入指令信息即可进行雕刻加工,从而改善产品质量、提高生产效率、节约生产成本。本文所研究与设计的雕刻系统实际是一个三维数控系统。由单片机和8279芯片检测键盘按键并控制LED显示。在程序编辑状态时,LED显示由键盘输入的每行数控加工程序,并把程序号、程序的首尾地址保存在某一存储区内,而在点动和自动运行状态时,LED根据单片机发给步进电机的脉冲数显示刀具的坐标,并同时把刀具的三个坐标值存入内部寄存器以便下次开机后的初始化显示。由于本数控系统为极其简易的系统,一次只能显示某一轴向上的坐标,要想查看其他轴向的坐标可通过面板上的显示转换按键获得。点动时,单片机根据按键信息发出脉冲驱动步进电机运动,控制雕刻机x、y、z的进给,自动时,单片机识别数控加工程序不断发出脉冲驱动步进电机运动,从而实现雕刻机的自动化加工。根据其工作原理本文研究的内容包括了单片机数控系统设计、系统运动方式的选择和伺服系统的控制,其中,单片机数控系统的设计主要包括主芯片的选择、接口的设计、键盘以及LED显示的设计、步进电机的控制方案设计等。 用户根据自身需要通过面板上的一系列按键控制雕刻机运动,由8279扫描键盘及控制显示,51单片机经扩展数据、程序存储器后根据按键发出控制信息,实现具有人机交互界面的数控雕刻机的自动化加工。本系统的设计在硬件方面极为简单,是开环控制系统,重点是单片机根据按键信息控制雕刻机运动的软件设计,由于按键较多,所以程序的编制也就较为繁琐。本系统用到了8031单片机、片外程序存储器2764、片外数据存储器2864、8位锁存器74LS373、74LS244、键盘/显示接口芯片8279、8段LED数码管、16段米字管、3/8线译码器74LS138、可编程并行输入输出接口芯片8255等。希望本文的研究内容能为以后功能更加完善和加工更加精细的数控系统的设计提供重要参考。 27 第2章 本组课题及个人任务介绍2.1 课题背景雕刻技术最早起源于艺术品的加工,是一种很传统的手工工艺,由于深厚的文化内涵和精湛的成品效果使雕刻走入工业生产领域。进入工业生产的初期,雕刻的主要工作是产品形态的精细修整和产品的文字图案雕刻。传统的手工雕刻是以刀斧凿为工具,进行手工加工,产品的质量主要取决于雕刻工人的技艺水平,而且劳动生产率低、成本价格高、可重复性差、精度低,很难适应现代化生产的需求。随着市场需求的不断扩大以及模具工业的迅速发展,除首饰、标牌和各种工艺品的模具制造需要雕刻以外,很多日常生活用品的模具也量需要雕刻加工,促进了雕刻加工向机械化方向的发展。最近二三十年来随着工业产品开发速度的加快,尤其是计算机辅助设计的广泛的应用,工业产品的形态更加丰富,变化更加迅速,对制造设备提出了新的要求。这就使以计算机辅助设计和制造(CADCAM)技术、计算机数控技术(CNC)为核心的数控雕刻技术成了雕刻加工发展的主流1。2.2 本组课题基于单片机的数控雕刻机数控系统设计。2.3 个人任务 1、设计控制系统总体方案 2、绘制单片机系统原理图 3、设计系统总体控制软件流程图 4、编制主程序模块 5、编制加工程序输入模块 6、编写设计说明书第3章 相关芯片知识介绍3.1 8031单片机引脚及其功能简介采用CHMOS工艺制造的80C31采用40引脚双列直插式封装,方形,现只介绍本文中用到的部分引脚及其功能,如图3.1所示(各引脚序号也为自行编排):XTAL1:芯片内部震荡电路(单级反向放大器)输入端。XTAL2:芯片内部震荡电路(单级反向放大器)输出端。8031的时钟可由内部方式或外部方式产生,现选择8031的时钟由内部方式产生。利用芯片内部振荡电路,在以上两个引脚上外接定时元件,内部震荡器便能产生自激震荡,定时元件可以采用石英晶体和电容组成的并联谐振电路。晶体可在1.212MHz之间任选,现选择12MHz电容可在2060pf之间选择,现选择30pf。两个电容的大小对振荡频率有微小影响,可起频率微调作用,晶体和电容应尽可能与单片机芯片靠近,以减少寄生电容。 RESET复位信号:时钟电路工作后,在此引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后P0口P3口输出高电平,堆栈指针SP置初值07H,程序计数器PC和其余特殊功能寄存器清零,RAM状态不变。ALE地址锁存信号:当访问外部存储器时,P0口输出的低八位地址由ALE输出的控制信号锁存到片外地址锁存器,之后P0口又能与片外存储器之间传送信息。P0口做地址总线口,ALE高电平期间,P0口上一般出现地址信息,在ALE下降沿时,将P0口上的地址信息锁存到片外地址锁存器,在ALE低电平期间P0口上一般出现指令和数据信息。ALE可驱动八个TTL门。 图3.1 8031芯片内部和外部程序存储器选择信号:为高时,若地址小于4KB则访问内部程序存储器,若地址大于4KB时访问外部程序存储器。由于8031无内部程序存储器,因而电路设计中直接将EA接地处理。片外程序存储器读选通:低电平有效,8031访问外部程序存储器时,程序计数器PC通过P2口和P0口输出十六位指令地址,作为程序存储器读信号输出负脉冲将相应存储单元的指令读出并送到P0口上供8031执行,它也可驱动8个TTL门输入。外部中断0:低电平有效,最高中断优先级,输入引脚信号在每一个机器周期的S5P2被CPU采样并所存到IE0(外部中断0请求标志位),等到下一机器周期CPU查询此状态标志,若为低电平则响应中断,转入中断服务子程序,结束后返回断点继续执行主程序。外部中断1:低电平有效,输入引脚信号在每一个机器周期的S5P2被CPU采样并锁存到IE0(外部中断0请求标志位),等到下一机器周期CPU查询此状态标志,若为低电平且为当前最高级中断则响应该中断,否则就等待更高级中断处理完后再响应此中断转入中断服务子程序,结束后返回断点继续执行主程序。外部数据存储器写选通:外部数据存储器读选通:P0口三态双向口:P0口可作地址/数据复用总线使用,对于有内部ROM型的单片机,P0口也可作通用I/O口使用。访问外部存储器时P0口输出低八位地址信息信号,此信号经锁存后再输出或输入八位的数据信息,因而此口在使用时一般都要接一个八位的锁存器。P0口负载能力为8个LSTTL门电路。P1口准双向口:P1口做通用I/O口使用时用法与P0口和P2口相同,可驱动4个LSTTL门电路。此外,在EPROM编程和验证程序时,它输入低八位地址,在8032/8052系列中,P1.0和P1.1是多功能的,P1.0可作定时/计数器2的外部计数触发输入端T2,P1.1可作定时/计数器2的外部控制输入端T2EX。P2口准双向口:P2口可作通用I/O口和地址总线使用。作通用I/O口使用时是一个准双向口。当系统中有外部存储器时,P2口用于输出高八位地址A15A8,此时P2口的口线状态取决于片内输出的地址信息,这些信息来源于PCH、DPH等。在实际使用中,由于访问外部存储器的操作连续不断,P2口不断送出地址高八位,因而P2口一般只作地址总线口使用,不再作I/O口直接连外部设备。P2口可驱动4个LSTTL门电路。P3口双功能口:P3口的第一功能是作为通用I/O口使用,在这种情况下,P3口的操作与P1口相同。P3口的控制功能实际上就是系统具有控制功能的控制线。P3口可驱动4个LSTTL门电路1。P3口的第二功能定义如表3.1所示:表3.1 P3口功能口 线 第二功能口 线 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0输入)P3.3 (外部中断1输入)P3.4 T0(外部计数器0触发输入)P3.5 T1(外部计数器1触发输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通) 3.2 8255引脚及其功能简介1 8255可编程并行I/O接口芯片,可与8031单片机系统总线直接接口,在此只简单介绍本次设计中用的一部分引脚及其功能,如图3.2所示(引脚序号为自行编排): 图3.2 8255芯片 D0D7:双向数据总线。 RESET:复位输入端,高电平复位。 :片选端,低电平有效。 、:写选通、读选通。 PA0PA7:端口A,双向I/O口。 PB0PB7:端口B,双向I/O口。 PC0PC7:端口C,双向I/O口。 A0、A1:地址线,选择端口地址。在使用8255之前要先写其状态寄存器,对8255的端口寻址如表3.2所示:表3.2 8255端口寻址操 作 A1 A0 功 能输入 0 0 0 0 1 A口数据总线(读端口A)输入 0 0 1 0 1 B口数据总线(读端口B)输入 0 1 0 0 1 C口数据总线(读端口C)输入 0 1 1 0 1 状态寄存器数据总线输出 0 0 0 1 0 数据总线A口(写端口A)输出 0 0 1 1 0 数据总线B口(写端口B)输出 0 1 1 1 0 数据总线C口(写端口C)输出 0 1 1 1 1 数据总线控制寄存器禁止 1 数据总线为高阻态 8255的方式选择字格式如表3.3所示:表3.3 8255方式选择格式D7D6D5D4D3D2 D1D01:方式标志A组B组A组方式PAPCHB组方式PBPCL00:方式001:方式11:方式20:输出1:输入0:输出1:输入0:方式01:方式10:输出1:输入0:输出1:输入 3.3 8279引脚及其功能简介18279为可编程键盘/显示接口,它用硬件完成对显示器和键盘的扫描,在软件上省去了显示和键盘扫描,在此只简单介绍本次设计中用的一部分引脚及其功能,如图3.3所示(引脚序号为自行编排):DB0DB7:双向缓冲数据总线,与CPU总线连接,用于在CPU和8279之间传送命令、数据、和状态信息。CLK:时钟输入线,为8279提供内部时钟。RESET:复位线,高电平复位,复位状态为16字符左入显示,编码扫描键盘,双键互锁,时钟为31分频。、:读写控制线,低电平有效。:片选线,低电平有效。 图3.3 8279芯片A0:数据缓冲器地址输入线。为1时选择命令或状态寄存器,为0时选择数据寄存器。IRQ:中断请求线,高电平有效。本设计中此引脚通过一反相器与8031的INT1相连。SL0SL3:行扫描输出线,用来扫描键盘和显示器。有译码方式和编码方式,本设计中采用的是编码方式。RL0RL7:回送线,内部含有源提升电路,以保持高电平,有键闭合时为低电平。SHIFT:字形变换输入线。CNTL:控制输入线。:显示熄灭信号,在数字切换或使用熄灭命令时为低电平。OUTA0OUTA3:A组显示输出线(显示RAM高四位)。OUTB0OUTB3:B组显示输出线(显示RAM低四位)。第4章 功能分析与方案设计4.1 该系统的功能该系统为一简易雕刻机数控系统,开环控制,开机后机床自动写好中断矢量并初始化显示X坐标值,之后便等待按键中断。在X、Y轴向设置了四个限位开关,雕刻机一旦运行超过行程范围就会压下行程开关,引起中断,此中断为最高级中断。在机床面板上设计了键盘,下面通过该键盘简要介绍该数控系统的主要功能,键盘如表4.1、4.2、4.3、4.4、4.5所示: 表4.1 表4.2编辑点动自动启动暂停 表4.3 表4.4显示转换 清零 急停-X-Y-Z+Z+X+Y 表4.5XZYI删除NGMKH789R回车456T空格123PJD0-.FS 4.1.1 显示转换功能雕刻机开机时七段LED数码管及十六位的米字管显示X坐标值,机床各轴坐标范围为+9999.99mm-9999.99mm。坐标值在显示之前暂存在2区的R7R6R5中,按下编码大于回车键编码的键后,将R7R6R5中的数字对应的显示段码写入显示缓冲区31H36H,30H写负号的显示段码或暗码,由于数码管数量较少,因而在每一时刻只能显示某一轴向上的坐标值,若要查看其他轴向上的坐标值,只要依次按下表4.3中的显示转换键即可。4.1.2 点动功能点动是机床使用者控制雕刻机运动的最直接的功能。当用户按下表4.1中所示的点动键之后机床即进入点动运行状态,此时使用者通过表4.4中所示的按键就能使雕刻机向+X、-X、+Y、-Y、+Z、-Z方向运动,每按下一次,机床移动一个脉冲当量,在机械设计模块中已设计好脉冲当量为0.01mm,通过点动功能用户可以方便快捷的控制雕刻机进行简单运动,而不用编写任何不必要的数控程序。在机床运动的同时,机床会根据脉冲当量和发给每个步进电机(由于要控制雕刻机在三个方向运动,因而有三个步进电机)的脉冲数计算出刀具在各个轴向上的坐标值,并将X坐标的整数部分存入0区的R7R6中,小数部分存入1区的R7中,将Y坐标存入0区的R5R4中,小数部分存入1区的R6中,将Z坐标存入0区的R3R2中,小数部分存入1区的R5中,LED数码管也会同步显示刀具的坐标值。4.1.3 编辑功能编辑功能是雕刻机最重要的功能之一,此功能使用户可以编制自己的加工程序输入并保存到数控雕刻机中,编制完程序后按下自动及启动键机床就能自动识别数控加工程序并进行插补,从而实现雕刻机的自动化加工,这种自动化便是设计数控系统的初衷。使用时,用户按下编辑键后机床便进入编辑程序状态,等待用户输入加工程序。当用户输入程序号后,机床从目录表中查找与此程序号相同的程序,若找到则调出程序供用户编辑,此时LED数码管显示每一行程序,用户使用表4.5中所示的上下箭头键就能方便的查看每行程序,若需修改,只需按下删除键重新输入数控加工程序即可。若找不到相同程序号的程序,则当做一新程序处理,用户可输入新程序代码,雕刻机会自动存储程序代码,并把程序号存入目录表(只要目录表尚未存满)中,LED也会显示每编程者输入的每一行加工程序,当检测到结束指令M02或M30之后将数控加工程序的尾地址存入目录表中。需要注意的是,在用户输入数控程序时不能按下删除键进行重新写入,若输入过程中不慎输入错误代码,则应在整个加工程序全部输入结束后重新编辑此程序,找到出错的行时按下删除键,重新输入正确的代码。4.1.4 急停功能机床在自动运行过程中,可能会因为数控程序的编写错误、数控系统的故障等原因而进入一种危险的运行状态,此时若不及时停止机床运动势必会造成较严重的事故,因而,为安全起见设计了一急停按键,只要用户按下此键,雕刻机就会立即终止程序的云岭,停止动作,直到松开急停键为止。在此说明一下,急停键是一个特殊的按键,它不同于其他按键,其他键在松开手之后会自动弹起,而急停键会一直处于按下状态,直到使用者旋转松开此键为止。操作人员待急停解除之后,可通过上面介绍的点动功能手动操纵机床,退出刀具,远离工件,然后检查机床错误运行的具体原因。4.1.5 暂停功能 数控雕刻机虽然可以自动运行数控加工程序,理论上讲可以不需人的干预,但在实际使用中,为安全起见需要有操作工从旁监视,一旦发现故障马上终止程序运行,而且在加工产品过程中经常要清除切屑以保证加工精度和表面质量,使用暂停键就能在任意时刻根据实际需要临时停止程序的执行。暂停功能有别于急停功能,急停后重新启动程序不能继续运行,要从头开始,而暂停后重新启动程序会继续运行下去。4.1.6 自动功能自动功能是在使用者完成数控程序的编辑工作之后命令机床动作的一项功能,此功能十分简单,但又非常重要。没有这项功能数控机床便失去了实际使用价值。用户将数控加工程序输入到机床之内并确保无误后按下自动键,再按下启动键,机床就会按照编入的数控程序自动加工了。4.1.7 清零功能清零功能是用来设置坐标零点的。每次加工一个新的产品之前都要对刀并设置工件坐标系以方便编程。操作者手动操纵雕刻机,将刀具移动到某一坐标上的零点时,按下该坐标轴(X或Y或Z),然后按下清零键,机床就会清零相应的内部寄存器,并使LED数码管显示0,之后若机床再有动作,坐标值就会从零开始增大或减小。清零功能模块相比编辑模块并不大,但在实际使用机床时又不可或缺。总结以上介绍的数控雕刻机的基本功能,编辑功能的软件实现最为复杂,这一部分的详细设计将在后面的章节中论述,现不赘述。有了这些功能后,一个简易数控系统便初步形成了。具体的方案设计也将在后面详述。4.2 方案设计4.2.1 设计中使用的器件 本文中介绍的简易数控雕刻机系统是基于单片机的,因而其核心控制器件选用8031单片机。8031无内部ROM,而且内部RAM的存储量也较小,远不能满足实际使用要求,因此必须要进行扩展设计,本次设计中使用8K8的EPROM2764作为外部程序存储器,8K8的EEPROM2864作为外部数据存储器。8031的P0口做地址/数据复用总线,因此使用一片74LS373作为八位地址锁存器。前面已经提到,P2口接连不断地输出地址信息,因而不再用作通用I/O口使用,因此8031也需要扩展I/O口,现选用可编程并行I/O接口芯片8255,它可与8031单片机系统总线直接接口,具有3个八位的并行I/O口,机械设计模块选用的步进电机是两相的,一片8255在本系统中已能满足使用需求。系统中按键数目较多,若用软件逐行扫描键盘并控制显示非常复杂,现选用一片可编程键盘/显示接口8279,它用硬件完成对显示器和键盘的扫描,在软件上省去了显示和键盘扫描,工作方式为编码扫描键盘,因此使用了一片3/8线译码器74LS138,8279输出八位数据打入七段LED数码管,其间使用了一片单向数据缓冲器74LS244,保证打入数据的准确性并提高总线驱动能力。根据雕刻机的行程范围设计使用了七个七段LED数码管显示数字、小数点、负号,一个米字管显示字母。4.2.2 整体方案设计设计的雕刻机数控系统极为简易,是开环控制系统,不包括对系统错误的监视,主要是完成上面介绍的一些基本功能,以深化对相关知识的理解。设计包括硬件设计和软件设计两大块。硬件设计在4.2.1中已有简略介绍,更详细的论述在下一章展开,现在先大体介绍一下软件的总体框架。一般数控系统的软件结构包括中断型结构和前后台型结构。前后台型的软件结构一般适合单处理器集中式控制,对CPU的性能要求较高,本系统采用前后台型结构。前台程序是指实时中断服务程序,实现插补、伺服等实时功能,这些功能与机床的动作直接相关。后台程序是一个循环运行程序,完成管理功能和输入、译码、数据处理等非实时性任务,也叫背景程序,管理软件和插补准备在这里完成6。用户开机后机床自动从外部程序存储器的0000H单元运行主程序,写中断矢量,设置堆栈指针并从内部寄存器中调出X的坐标值并通过米字管和七段LED数码管显示出来。这些工作完成之后主程序等待按键中断获取按键有序编码,根据编码转入相应的按键处理程序,结束后返回主程序,继续主程序的执行。程序从开机开始周而复始的循环运行,直到关机为止。4.2.3 系统整体流程图软件系统整体流程图如图4.1所示:初始化显示设置中断矢量等待按键中断,获取按键编码编辑键标志位为1?转入相应的按键处理程序按下的是“P”键?开始NYNY03H位为1?编辑已有程序YN1区的R4置41区R4为0?处理新程序YN继续存数字查询程序号新程序?编辑已有程序N处理新程序 图4.1 总程序流程图 第5章 详细设计5.1 硬件系统 硬件系统以8031单片机为核心,与其他一些智能芯片连接成为一个控制系统。首先扩展程序存储器和数据存储器。8031的P0口通过八位数据锁存器74LS373与2764和2864的低八位地址相连,74LS373的具体连线图如图5.1所示: 图5.1 74LS373连线8031P2口的P2.0P2.4与2764和2864的高五位地址相连,形成8K的寻址线,8031的P2.7作为2864的片选信号,低电平有效,故外部数据存储器的地址范围为0000H7FFFH,因8031无内部存储器,故其片选信号直接接地,始终有效。2764和2864的八位输出端口直接与8031的P0口相连,作为读写存储器时的数据输入输出线,程序存储区为0000H7FFFH。2764和2864的具体连线图如图5.2、5.3所示: 图5.2 2764连线 图5.3 2864连线其次扩展I/O口,8031的P2.0口直接与8255的八位数据输入输出端DB0DB7相连,用来读写8255,8255的片选信号由8031的P2.5提供,低电平有效,8255的地址线A0、A1分别连74LS373的输出端1Q、2Q,用来选择8255的端口地址,具体选择方法见表3.2,各端口工作方式的设置规则见表3.3。8255有三个八位并行I/O端口,现设计PA0PA5用来给三个两相的步进电机输出脉冲信号,PA0输出脉冲信号经光电隔离后输给X向步进电机的A相,PA1连B相,同理,PA2连Y向步进电机的A相,PA3连B相,PA4连Z相步进电机的A相,PA5连B相。PB0PB7和PC0PC7这十六位用来给米字管输入十六位的显示段码,PC0PC7输出高八位,显示缓冲区为38H,PB0PB7输出低八位,显示缓冲区为39H,8031的P1.4输出米字管的选通信号(低电平)。最后是8279的连接,其片选信号由8031的P2.6提供,数据缓冲器地址输入信号A0由8031的P1.5提供,八位数据总线DB0DB7直接连P0口,显示输出线OUTA0OUTA3、OUTB0OUTB3通过八位数据缓冲器74LS244为七个七段LED数码管提供显示段码。行扫描输出线SL0SL2作为3/8线译码器74LS138的选择输入线,分别接A、B、C,译码器的输出作为77键盘行扫描信号,回送线RL0RL6作为键盘的列扫描线,74LS244和74LS138的具体连线如图5.4、5.5所示: 图5.4 74LS244连线 图5.5 74LS138连线根据键盘的盘面安排,各键的有序编码如表5.1所示: 表5.1 按键有序编码键符扫描码回送码扫描键值键符扫描码回送码扫描键值000000000HR0111001CH100000101HN0111011DH200001002HG0111101EH300001103HM10000020H400010004HH10000121H500010105HD10001022H600011006HF10001123H700100008HS10010024H800100109HT10010125H90010100AHP10011026H-0010110BH-Y10100028H.0011000CH+Z10100129H空格0011010DH-Z1010102AH删除0011100EH+X1010112BH0100000FH-X1011002CH01000111H编辑1011012DH 01001012H+Y1011102EH01001113H点动11000030H回车01010014H自动11000131HX01010115H启动11001032HY01111016H暂停11001133HZ01100018H急停11010034HI01100119H清零11010135HJ0110101AH显示转换11011036HK0110111BHLED数码管(共阴极)的段码与显示字形的关系如表5.2所示: 表5.2 数码管显示段码显示字形dpgfedcba段码0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH-0100000040H 米字管(共阴极)段码与显示字形的关系如表5.3所示: 表5.3 米字管显示段码显示字形ponmlkjihgfedcba段码X01010101000000005500HY01010010000000005200HZ01000100001100114433HI00100010001100112233HJ00100010001100102232HK0100100100001100490CHR1000100101111100897CHN000100011100110011CCHG10001010101111108ABEHM010100001100110050CCHH100010001100110088CCHD000000001101110000DCHF1000100000111100883CHS100010001011101188BBHT00100010001100002230HP1000100001111100887CH 表5.3上面对系统的硬件部分的设计进行的阐述,对于本设计的简易系统来说,软件方面的设计是非常重要的,下面再详细介绍一下软件的设计。5.2 软件系统本设计中,软件系统采用前后台型结构。5.2.1 主程序系统设计主程序从程序存储器的0000H单元开始执行,先依次写好中断矢量,然后进入初始化程序,初始化部分的工作主要是清零一系列标志位,为以后使用者操纵数控机床做好准备,控制LED数码管显示等。各标志位的含义如表5.4所示:表5.4 标志位标志位标志对象1状态0状态00H点动按下“点动”键未按下“点动”键01H自动按下“自动”键未按下“自动”键02H小数点已按下小数点未按下小数点03H新、旧程序号已有程序号新程序号04HM键已按下“M”键未按下“M”键05H结束已输入M02或M30未输入M02或M3006H移位结束再移一次移位结束移位未结束F0编辑已按下“编辑”键未按下“编辑”键前面已经提到,机床在运行过程中会自动计算各轴方向上的坐标值,并将X坐标的整数部分存入0区的R7R6中,小数部分存入1区的R7中,将Y坐标存入0区的R5R4中,小数部分存入1区的R6中,将Z坐标存入0区的R3R2中,小数部分存入1区的R5中,初始化显示时,将X的显示段码写入米字管显示,将0区的R7R6中的二进制数转化为BCD数存入1区的R3R2中,然后根据十进制数查表寻得对应的显示段码,将其写入显示缓冲区31H34H,再将1区的R7中的二进制数转化为BCD数存入1区的R3R2中,并取显示段码写入显示缓冲区35H、36H。在此先介绍一下缓冲区的分配情况。将8031内部RAM的30H36H开辟为显示缓冲区,临时存放L1L7七个数码管的显示段码,L1用来显示“-”号或不显示,L2L5显示坐标值的整数部分,L6、L7显示坐标值的小数部分。缓冲区写好后就调用显示子程序,在显示程序中,设置好8279的显示方式为左入、显示RAM递增,将缓冲区中的内容从8279显示RAM的00H单元开始依次写入,显示子程序结束后返回主程序继续执行,一旦有按键按下,主程序转入中断服务子程序,同样,结束后再次返回主程序。主程序流程图如4.2.3中的图4.1所示,在此不再赘述。在按键处理程序中数控程序的编辑部分最重要,也最复杂,本次设计主要编写了编辑键的处理程序,源代码附在附录中。下面着重介绍一下编辑程序的设计。5.2.2 编辑程序系统设计使用者按下编辑键后,2区的R7R6R5清零,标志位00H、01H、02H、03H、04H、05H清零,编辑标志位F0置1,系统检测到该标志位之后即进入编辑程序状态。用户在编制数控加工程序时,首先输入的应为程序号,现规定,程序号以P开头,后面紧跟四位数字。用户输入程序号之后,系统从预置的目录区(外部RAM的0000H0FFEH单元)内寻找与之相同的程序号,若找到了相同的,将目录区中数控程序首地址的存放地址存入3区的R5R4中,以便随时获得数控程序的首尾地址,方便后面对程序的编辑,然后跳入相应的程序段,并逐行显示此程序段,用户检查该程序。按上下箭头键就可方便的使LED数码管逐行显示数控程序。按下“”键,系统检查出上一串字母和数字并在LED数码管上显示,3区的R7R6中保存的地址便是正在显示的字母在外部RAM中的存放地址。按下“”键,系统检查出下一串字母和数字并在LED数码管上显示,3区的R7R6中保存的地址也是正在显示的字母在外部RAM中的存放地址。若需修改某行,待数码管显示出那行程序后,按下删除键,系统自动删除正在显示的那一串字母和数字,删除掉多少个字符则在目录区中保存的数控程序尾地址的基础上减去多少,将新的值存入目录区,并且后面的数控程序整体向前移动至刚刚删除的字母的RAM地址处。重新键入一个新的程序代码(不是“”键、“”键和删除键),数控程序向后移一位,此时数控程序尾地址加一,重新存入目录区,按下一串字母和数字后以回车键结束输入,同时数码管会显示新输入的程序,3区的R7R6中仍然保存正在显示的字母在外部RAM中的存放地址。 若没有找到相同的程序号则默认为是新程序,将新程序的程序号存入目录区(接着2区R4R3中已有的目录继续存储),并将此时目录区的地址保存在2区的R4R3中,以便下一次存储程序号时知道从什么位置开始存,同时将程序号存入外部RAM,外部RAM的地址值DPTR要存入3区的R7R6,以便在一系列程序之后DPTR值已经改变的情况下将新的程序代码存入正确的地址内,规定新程序从1000H单元开始存储。之后每按下一个字符,系统将用户输入的数控程序代码(用按键的有序编码表示)存入外部RAM,并判断按键的类型,规定用户在输入新的数控程序时不能按下删除键,若输入过程中不慎输入错误代码,则应在整个加工程序全部输入结束后重新查找编辑此程序,找到出错的行时按下删除键,重新输入正确的代码。若检查出按下的不是数字键,而是编码值大于等于13H(X)的键则要将2区的R7R6R5中保存的数字对应的显示段码写入显示缓冲区,调显示子程序显示,然后再判断按键是否是“M”键,若是M键,则注意接下来按下的数字键,若为M02或M30则意味着数控程序的输入已经结束,将尾地址存入目录区。若按下的是“-”键,表示要输入一个负数,应把“-”的显示段码40H写入显示缓冲区30H,使L1数码管显示“-”,若按下的是“.”键,则置位标志位02H,之后要记录再次按下的数字键的个数,以便知道是几位小数,分成了一位、两位、零位三种,写显示缓冲区的处理方式,这对于正确显示数字非常重要,因为系统设计时规定小数点只在L5数码管上显示,负号只在L1数码管上显示。 具体的按键处理过程如流程图5.3、5.4、5.5所示:入口“P”?1区的R4置403H位为1?YN1区R4为0?N转入已有的数控程序,显示Y将数字存入2区R7R6R5低4位RETINY将新程序号存入外部RAM键值小于12H?YN05H位为1?显示字母和数字清零标志位F0、00H、02H、03H、04H、05H,准备结束NY“M”?回车?回车键处理NYRETI04H位置1,2区R2置0,准备计数将字母对应的显示段码写入米字管YNRETIAB图5.3 编辑程序流程图1是自动键?清零标志位F0、00H、01H、02H、03H、04H、05H是删除键?删除键处理是“”键? 是“”键?显示一串字母、数字3区R7R6保存显示的字母的存放地址移位显示下一串字母、数字,3区R6、R7保存显示的字母存放地址存储新代码,以回车未结束标志显示新字母、数字NY Y YNY NY NRETIRETIRETIRETIRETIA 图 5.4 编辑程序流程图2数字键Y是“一”N是“.”?40H写入30H单元YN2H位为1?数字存入2区R7R6R5低4位N02H位置140H单元加140H位为1Y2区R2加12区R2为1?2区R5为2?数控程序尾地址存入目录区,05H置12区R5为30HY NYN YNYN NRETIRETIRETIRETIRETI YRETIB 图 5.5 编辑程序流程图3第6章 设计总结本次简易数控雕刻机数控系统的设计是在深入分析了传统手动雕刻的过程和方法之后进行的,主要任务是控制系统设计及主要程序模块的编制。主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沧州市中医院CRRT治疗处方制定与监护技能资格认证
- 2025广西桂林荔浦市人民医院招聘16人模拟试卷及答案详解一套
- 2025湖南湘能多经产业(集团)有限公司高校毕业生招聘(第三批)考前自测高频考点模拟试题及参考答案详解
- 2025年河北承德辰飞供电服务有限公司招聘101人模拟试卷及完整答案详解一套
- 2025年聊城幼儿师范学校公开招聘工作人员(70人)模拟试卷及答案详解(网校专用)
- 重庆市人民医院消化道早癌筛查医师能力评估与认证题库
- 天津市人民医院周围神经电刺激术考核
- 石家庄市中医院儿科门诊管理规范考核
- 秦皇岛市中医院临床用血督导考核
- 重庆市人民医院护理持续改进考核
- 锅炉工安全培训知识课件
- 煤气发生炉拆除方案
- 《新概念英语》第三册课文详解及课后答案
- 医院培训课件:《疑难病例讨论制度及护理查房制度解读》
- 聚氨酯管道保温施工方案
- 金匮要略-黄芪桂枝五物汤
- J17J177 钢丝网架珍珠岩复合保温外墙板建筑构造
- 酒店账单-水单-住宿
- 手游经典案例《王者荣耀》的营销分析
- GB/T 24002.1-2023环境管理体系针对环境主题领域应用GB/T 24001管理环境因素和应对环境状况的指南第1部分:通则
- 2023年自考全国10月财务管理学试题+答案
评论
0/150
提交评论