

免费预览已结束,剩余64页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 设 计 论 文题 目 基于单片机控制小型开放式数控平台设计 - 55 -前 言数控技术从发明到现在,已有近50年的历史。现代数控技术集传统的机械制造技术,计算机技术与现代控制技术,传感检测技术,住处处理技术,网络通讯技术,液压气动技术,光机电技术于一体,是现代制造技术的基础,它是的发展和运用,开创了制造来的新时代。数控技术是提高产品加工质量,提高劳动生产率必不可少的技术手段,它的广泛使用给机械制造业生产方式,产业结构,管理方式带来深刻的变化,是制造业实现自动化、柔软化、集成化生产的基础。机床的数控制化改造是一个方兴未的行业,从各种统计数字上看前途应该是十分光明的,例如:在美国,日本和德国等发达国家,它们的机床改造人作为新的经济增长行业,生意盎然,正处在黄金时代。由于机床以及数控技术的不断进步,机床改造是一个永恒的课题。我国的机床改造业,也从老的行业进入到以数控技术为主的新的行业,所以不难看出:机床的数控化改造势在必行以及机床的数控改造市场潜力巨大。依据我国的现有情况来看,现在仍存在大量的老式手工机床,所以在原有机床上进行数控改革,是一种既经济又切实可行的方案。本次设计就是针对这种情况,利用mcs-51单片机,对机床数控系统的控制装置进行改造设计。本次设计的任务是以单片机为核心,构成一个数控系统控制装置,能完成标准数控系统指令的输入、编辑、修改、译码及运行等功能。其中着重研究了键盘/显示器接口、i/o接口以及数据存储器、程序存储器等许多芯片的内部结构和工作原理以及如何扩展等;重点解决了人机对话和步进电机的自动进给等方面的问题。针对这些问题,在第三章的硬件设计和第四章的软件设计做了具体的研究。在硬件上,就怎样对一个51单片机进行扩展、用pwm控制步进电机、扩展米字型显示器、实现数控机床的各种功能、如何实现手动输入等进行设计,在软件上,就怎样实现译码、控制速度、如何输入、进行显示等进行了编程。目 录摘要iabstractii第1章 绪论11.1数控机床的产生11.2计算机数控的发展1第2章 总体方案的设计32.1 技术要求及功能3 2.1.1 对数控机床的总体要求3 2.1.2 数控机床的功能要求及步进机的选择3 2.1.3数控机床操作的自动控制及实现32.2 总体方案4第3章 硬件设计7 3.1 单片机的选择73.2 数据存储器和程序存储器的扩展10 3.3 输入输出i/o的设计103.4 单片机与计算机(pc)机通讯的设计123.5 步进电机功率电路133.6 电源电路143.7 掉电保持系统状态电路153.8 各功能模块的组合153.9 设计的细节问题16第4章 软件设计204.1 监控与操作程序20 4.1.1 系统初始化21 4.1.2 命令处理循环22 4.1.3 数据输入处理23 4.1.4 指令分析与执行25 4.1.5 管理程序254.2 步进电机输出控制程序264.3 闭环调节程序264.4 系统诊断程序274.5 步进电机控制软件28第5章 调试305.1 显示部分的调试305.2 译码程序的调试305.3 步进电动机的调试315.4 操作说明32 5.4.1 工作方式换挡开关32 5.4.2编辑键盘32 5.4.3手动控制键33 5.4.4其它键及按钮33 5.4.5 指示灯34 5.4.6 显示器34 5.4.7 电源开关35结束语36参考文献37致谢38附录a 系统原理图附录b 程序清单39摘要:数控机床作为精密、高效的加工设备在机械制造和加工业中的应用越来越普遍,特别是单片机数控系统控制装置的机床,由于它的经济性和易操作性,具有很大的发展潜力和市场。这次设计以mcs-51单片机对数控机床的控制装置进行设计。在系统中,选用8031单片机作为数控系统控制装置的核心,并对其进行外部存储扩展,输入输出接口芯片主要采用了可编程i/o接口芯片8255来完成有关手动操作、开关命令、状态检测等动作。在显示方面,利用8279对其扩展,实现人机界面。软件设计方面,主要采用模块化设计,利用mcs51汇编语言,对各个模块分别进行编程来实现数控设计。本次设计是基于mcs-51单片机对数控系统控制装置进行设计,其自动化程度比较高,且经济性能又好。关键词:单片机; 数控系统; i/o接口; 控制装置; 人机界面 abstract: numerical control machine tool as the exactitude, highly effective machining instrument is using more and more frequently in the machinery manufacture and processing industry, especially the single-chip numerical control system instrument machine, because of its economic and easy accessibly, it has enormous development potential and market.this design uses mcs-51 single-chip to do the design as the numerical machine control instrument. in the system, we choose 8031 single-chip as the core control chip as the numerical system control instrument, and give it the outside expansion, input and output interface chip mainly adapt the programming i/o interface chip 8255 to achieve the related manual operation, switch command, status detection, etc. as to the display aspect, we mainly use the modular design, and utilize the mcs-51 assembly language programming to realize numerical design of every modular.this design based on mcs-51 single chip to devise the numerical system control instrument, the automation degree is comparably high, and has good economic performance.keywords: single-chip; numerical system; i/o interface; control instrument;numerical design of every modular第1章 绪论 随着社会的进步,自动化的程度越来越高,对机械设备的要求也就越来越高,这就直接导致了机床的性能的增强,特别是计算机控制在机床上的应用,使机床本身产生革命性的变化。数控机床的产生,不仅提高了生产率,而且对零件加工的精度更是上升了几个阶层,能够完成一些人工无法完成的工作。数控机床作为精密、高效的加工设备,越来越成为机械制造业技术改造的首选设备,并对国民经济的发展起到了重要的作用。1. 1数控机床的产生机床数字控制技术又简称机床数控技术,是以数字化的信息处理实现机床自动控制的一门技术。采用数字化信息处理控制的机床称为数字控制机床,简称数控机床。而20世纪计算机的出现和应用,为人类提供了实现机械加工工艺过程自动化的理想手段。当科技人员首次把计算机作为一种处理信息装置移直到古老机床中时,一种新的产品数控机床诞生了。 科学技术和社会生产的不断发展,对机械产品的质量和生产率提出了越来越高的要求。但是,在机械制造工业中并不是所有的产品零件都具有很大的批量,单件与小批量生产的零件约占机械加工总量的绝大部分以上。尤其是在造船、航天、航空、机床、重型机械以及国防部门,其生产特点是加工批量小,改型频繁,零件的形状复杂而且精度要求高,采用专用化程度很高的自动化机床加工这类零件就显得很不合适,因为生产过程中需要经常改装与调整设备,对于专用生产线来说,这种改装与调整甚至是不可能实现的。而这些问题,在数控机床上都能得到解决。数控机床既是高新技术产业不可缺少的基础装备,又是传统产业更新换代的重要手段,对解决复杂零件的加工制造,提高产品加工效率和质量,增强企业竞争能力意义重大。数控机床是装备国防、航空、航天等工业的核心,被视为战略物资和战备性工业受到高度重视;而包括位置、速度、加速度、轨迹控制在内的运动控制又是数控技术的关键,直接决定了工件加工的精度、光洁度和效率。在这种背景下,数控机床很快得到发展和壮大,成为现在社会上不可缺少的加工设备,在机床领域里,逐步占领着主导地位,并不断的壮大和发展!1.2 计算机数控的发展装备工业的技术水平和现代化程度决定着整个国民经济的水平和现代化程度,数控技术及装备是发展新兴高新技术产业和尖端工业(如信息技术及其产业、生物技术及其产业、航空、航天等国防工业产业)的使能技术和最基本的装备。马克思曾经说过“各种经济时代的区别,不在于生产什么,而在于怎样生产,用什么劳动资料生产”。制造技术和装备就是人类生产活动的最基本的生产资料,而数控技术又是当今先进制造技术和装备最核心的技术。当今世界各国制造业广泛采用数控技术,以提高制造能力和水平,提高对动态多变市场的适应能力和竞争能力。此外世界上各工业发达国家还将数控技术及数控装备列为国家的战略物资,不仅采取重大措施来发展自己的数控技术及其产业,而且在“高精尖”数控关键技术和装备方面对我国实行封锁和限制政策。总之,大力发展以数控技术为核心的先进制造技术已成为世界各发达国家加速经济发展、提高综合国力和国家地位的重要途径。随着电子技术和计算机技术的不断发展,数控系统经历了采用电子管、晶体管、集成电路,直到将计算机引入数控系统的过程。数控系统中引入了微型计算机,使它在质的方面完成了一次飞跃。现代数控技术的发展日新月异,机床的新结构、新技术不断出现。本次毕业设计主要介绍的是经济型数控系统,其中重点介绍了数控系统的基本构成,工作原理,控制软件的功能和结构以及如何进行调试、操作等内容。限于自己的水平和学识,设计中难免存在许多错误和不妥之处,还恳请指正和修改。第2章 总体设计2.1 技术要求及功能2.1.1对数控机床的总体要求1在装置上能完成数控程序的编辑与保存,系统初始状态与预置系统的手动控制与调整,数控程序的单步与连续运行。2具有与计算机(pc)双向通讯功能,能接收来自主机的数控程序及控制命令,能把数控程序及系统状态发送给主机,实现主机对系统的完全控制。3在关机(断电)状态下能保存系统状态和数控程序30天以上。4具有故障显示报警功能。5有较完备的系统状态显示与指示。2.1.2 数控机床的功能要求及步进机的选择1控制x、y、z三个坐标系进给,要求可实现直线三坐标轴联动。2进给伺服驱动采用步进电机,各坐标轴脉冲当量均为0.01mm。步进电动机的型号和规格如下:步进电机一:型号:75bf001,主要规格:3相,额定相电压24vdc,额定相电流3a,每相电阻0.62,最高空载启动频率1750step/s;步进电机二:型号:m062ls515,主要规格;4相,额定相电压5.3vdc,额定相电流1.6a,每相电阻3.3,最高空载启动频率1000step/s。3数控编程采用iso标准代码,能实现绝对值/增量方式混合编程。2.1.3 数控机床操作的自动控制及实现1准备功能:g00、g01、g02、g03、g04、g33、g34、g40、g41、g42、g43、g44、g90、g91、g94、g95等。2坐标功能:x、y、z、u、v、w、i、j、k等,最大坐标值9999.9mm,坐标分辨率0.01mm,自动控制刀具的空间坐标,使其操作在设定误差内;3进给功能:直接指定法,最大进给速度2000mm/min,根据需要来控制进给速度;4主轴功能:直接指定法,主轴转速101000rpm,可逆并连续可调(分辨率5rpm);5刀具功能:t00t99,自动反馈刀具的各项系数,实现对刀具的自动选择;6辅助功能:m00、m01、m02、m03、m04、m05、m06、m08、m09、m11、m19等;2.2总体方案数控系统(cnc)通常由微机基本系统、人机界面接口、通信接口、进给轴位置控制接口、主轴控制接口以及辅助功能控制接口等部分组成。数控装置的总体结构示意图如图2.1所示。主轴电动机主轴驱动装置计算机及外设存储器键盘/显示器键盘/显示器接口主轴控制接口通信接口存储器接口 i/o插槽cpu 、数据线、地址线、控制线封锁接口工作方式接口指示灯接口进给轴位置控制接口按键及开关各种选择开关各指示灯进给轴位置驱动装置动装置步进电机图2.1总体结构示意图由于cpu是整个数控系统的核心,常见的中低档数控系统采用8位或16位cpu,为了节约成本故采用8031。下面介绍系统各接口的作用:1、键盘/显示器接口 键盘在数控系统中也称为数控面板,它由英文字母键,功能键,数字键等组成,大多仍采用扫描矩阵原理,主要完成各程序的编制、参数的输入和功能的选择以及各种状态的显示等。本设计采用两片8279来进行扩展。数控系统处于不同的操作功能时,显示器所显示的内容是不同的。在编程时,其显示的是被编辑的加工程序,而加工时,则显示当前各坐标轴的坐标位置和机床的状态信息。2、存储器接口 主要用来对系统的存储容量进行扩展。由于8031片内无程序存储器,需扩展程序存储器和数据存储器,根据初步系统程序的大小,决定扩展一片27256作为程序存储器,数据存储器采用了一片6264,为了能够保存编辑的数控程序,还扩展了一片e2prom2864a。3、通信接口:通常数控系统均具有标准的rs232串行通信接口,与外设以及上级计算机的连接很方便,主要用于通讯。高档数控系统还具有rs485、map以及其他各种网络接口,从而能实现柔性生产线fma以及计算机集成制造系统cims。4、主轴控制接口:主轴s功能可分为无级变速、有级变速和分段无级变速三大类。当数控机床配有主轴驱动装置时,可利用系统的主轴控制接口输出模拟量进行无级变速,采用一片8255即可。主轴的位置反馈主要用于螺纹切削功能、主轴准停功能以及主轴转速监控等。5、进给轴位置控制接口:实现进给轴的位置控制包括三方面的内容:一是进给速度的控制,二是插补运算,三是位置闭环控制。进给轴位置控制接口包括模拟量输出接口和位置反馈计数接口。模拟量输出接口采用数模转换器dac(一般为十二位至十六位),输出模拟电压的范围为-10到+10v,用以控制速度伺服单元。模拟电压的正负和大小分别决定了电动机的转动方向和转速。位置反馈计数接口能检测并记录位置反馈元件所发回的信号,从而得到进给轴的实际位置。此接口还具有失线检测功能,任意一根反馈信号线断了都会引起失线报警。在进行位置控制的同时,数控系统还进行自动升降速处理,即当机床启动、停止或在加工过程中改变进给速度时,数控系统自动进行线性规律或指数规律的速度升降处理。6、指示灯接口:采用一片74ls273,主要用于对各种工作状态进行显示以及报警显示,通过信号显示灯确定当前工作状态。7、工作方式接口:采用一片8255,主要通过用a口完成对手动、编辑、通讯等工作方式的转换。用b口、c口完成对手动程序的输入。8、封锁接口:采用74ls244完成对三个步进电机进行封锁。数控软件是一系列能完成各种功能的程序的集合。系统软件具有以下功能:系统的管理功能(能完成系统各功能模块的管理与调度),加工程序的管理与编辑功能(可以对零件加工程序进行删除、更名、复制、编辑等操作),参数设置功能(可以对各种参数进行设置,大致有:刀具参数,g53-g59参数,丝杠的间隙与螺纹误差表,系统控制参数等),数控系统软件还提供对其开关i/o的检查功能。软件和硬件的结合,形成一个具有特定功能的计算机控制系统,使该系统能够完成零件程序的输入、编辑、译码、数据计算、插补和伺服控制等工作。数控系统软件主要包括监控和操作软件、插补计算软件、步进电机控制软件、误差补偿软件等。系统软件占用32k程序存储器,主流程图如图2.2所示:图2.2 主流程图第3章 硬件设计任何一个微机控制系统都由硬件和软件组成,硬件是软件运行的基础,用8031单片机组成cnc系统,其数控装置硬件框图如图3.1所示,该系统按模块化设计,主要由主控制系统板、crt控制板、键盘/显示操作板和存储控制板等组成。 图3.1硬件结构框图3.1 单片机的选择在单片机控制的数控机床中,cpu的选择是关键,它关系到系统各方面的性能。在本系统中,由于系统控制装置的操作都是数控系统中的一些基本操作,所以本系统的cpu主要从实用和经济的角度考虑。目前在我国,经济型cnc多数是以8位或16位单片机为主构成的系统,其中以intel公司的mcs系列单片机最为著名,目前已推出mcs-48、mcs-51、mcs-96三个系列。在国内的经济型数控系统中多数使用mcs-51系列单片机。mcs-51系列包含三个产品:8031、8051、8751。三者的引脚完全兼容,仅在结构上有些差异。即内部不含rom的8031、内部含rom的8051、和内部含eprom的8751。mcs-51系列单片机的基本特性如下:cpu为8位;片内有时钟振荡器;具有4kbrom和128ram;具有21个特殊功能寄存器;具有四个8位i/o端口,32根i/o线;具有16根地址线,可直接寻址64kb外部程序寄存器,64kb外部数据寄存器;具有两个16位定时/计数器;可有五个中断源,两级优先权的向量中断结构;具有一个全双工中断源,两级优先权的向量中断结构;串行i/o口;具有位寻址能力,适于逻辑运算。从实用的角度考虑,8位的已经够用,出于经济的考虑,此系统的主控制板以8031为控制器。由它执行系统程序,对加工程序进行译码、预处理并完成插补运算,并将插补运算的结果以脉冲信号的形式输出,进而控制功率放大电路驱动伺服系统工作。同时,cpu还通过接口电路将诸如换刀、主轴变速辅助信号送往机床,并适时响应外设送来的中断信号。下面简单介绍一下其40个管脚功能及工作原理。1)主电源引脚vss和vccvss(20脚):接地vcc(40脚):主电源+5v,正常操作和对eprom编程及验证时均接+5v电源。2)外接晶振引脚xtal1和xtal2xtal1(19脚)和xtal2(18脚):为时钟电路的两个引脚。本机利用8031芯片内部的振荡电路,xtal1和 xtal2管脚接外部定时元件。3)控制信号引脚rst/vpd、ale/prog、psen、ea/vpprst/vpd(9引脚):单片机复位/备用电源引脚,高电平有效。当时钟电路工作时,当该引脚上出现24个周期以上的高电平后,8031内部便处于复位状态。当该引脚由高电平变为低电平时,cpu便从0地址开始执行程序。ale/prog(30脚):地址锁存/编程脉冲输入引脚,当访问片外存储器时,ale的输出用于锁存低8位地址信号。即使不访问外部存储器,ale端仍以时钟频率的1/6周期性地输出正脉冲信号。因此,它可用于对外输出的时钟或用于定时目的。当访问片外数据存储器时,将跳过一个ale脉冲。ale端可以驱动8个lsttl(低功耗身高速ttl)输入。psen(29脚):输出访问片外程序存储器的读选通信号。cpu在由片外程序存储器取指令期间,每个机器周期两次有效。每当访问片外数据存储器时,psen负脉冲作为选通信号,配合地址码,把相应存储单元的指令读到数据总线上。ea/vpp(31脚):程序存储访问标志/编程电压输入,当ea输入高电平时,cpu可访问片内4kb的地址范围的程序存储器。若pc值超出4kb地址时,将自动转向访问片外程序存储器。当ea输入低电平时,则只能访问片外程序存储器,不论片内是否有程序存储器。4)输入/输出引脚p0、p1、p2、p3p0.0-p0.7(39-32脚):双向数据总线和低八位地址总线。p0口是一个8位漏极开路型双向i/o端口。在访问片外存储器时,它分时作低8位地址线和8位双向数据总线用。在eprom编程时,由p0输入指令字节;而在验证程序时,则输出指令字节。验证程序时,要求外接上拉电阻。po能以吸收电流的方式驱动8个lsttl负载。p1.0-p1.7(1-8脚):p1是一个带内部上拉电阻的8位双向i/o口。在eprom编程和验证程序时,由它输入低8位地址,p1能驱动4个lsttl负载。以“x-”为例,当开关sb5未闭合时光耦不导通,+5v电源经排阻给8031的p1.2提供高电位。当开关sb5闭合时,光耦的1和2脚导通,二极管发光,触发三极管c.e结饱和导通,16脚变为低电平,通过驱动器74ls244,将p1.2电位拉低。8031根据接收到的p1.1-p1.4信号,向x或z轴发送正序或逆序的脉冲信号。p2.0-p2.7(21-28脚):p2也是一个带内部上拉电阻的8位双向i/o口。在eprom编程和验证程序时,;由它输入高8位地址。p2可以驱动4个lsttl负载。cpu 访问程序存储器eprom27256时,p0口分时复用地址/数据总线,即在ale信号由高电平转为低电平时,使锁存器74ls273的选通信号的输入端由高电平转变为低电平,因此,由p0口送出的低八位地址信号a0-a7被装入外部地址锁存器74ls273 ;p2口的p25-p27发出的地址信号经地址译码器74ls138译码,选中eprom27256;再由p2口的p20-p24(a8-a12) 及p0口的p00-p07(a0-a7)送出的地址信号选中程序存储器中相应地址。当psen低电平有效时,eprom的 oe为低电平,此时p0口作数据总线把所选中的程序存储器中的相应单元的内容送至数据总线上。p3.0-p3.7(10-17脚):p3口也是一个带内部上拉电阻的双向i/o口。p3能驱动4个lsttl负载。系统中的ram与eprom及编程i/o扩展芯片的数据线和低8位地址线在8031地址锁存信号输出端ale及地址锁存器控制下,公用一组8031的8位总线(p0口),而高8位地址及片选信号,则由8031的另一组8位总线(p2口)结合译码器提供。因8031的外部rom由psen信号选通,外部ram和扩展i/o端口由w/r信号选通,所以ram与eprom的地址可以重复。8031的p1 口输出环形分配脉冲信号或输出控制指令经环形分配器输出的环形分配脉冲信号,经光电隔离和驱动放大电路驱动步进电机。8031的p3口在其第二功能情况下,可完成回转刀架、主轴脉冲发生器信号及外部中断控制等工作。3.2数据存储器和程序存储器的扩展8031需扩展程序存储器和数据存储器,根据系统程序的大小,决定扩展一片27256作为程序存储器,27256是一种32k*8位的可改写只读存储器,28个引脚,片选信号由译码器74ls138产生,需要14根地址线,考虑到以后的扩展,在第15根地址线上接了一个三端的开关,开关的一端接信号地,一端接8031的第15根地址线,当三端开关的中间的公共端接地时,使用27256,当中间的公共端接第15根地址线时,使用27512,使系统有了很好的扩展性。数据存储器采用了一片6264,6264是一片8k*8位的高集成度的随机存取存储器,28个引脚。a0-a13为13根地址信号线,寻址范围8k,d0-d7为8位数据输入/输出线,与单片机数据总线相连,ce为片选信号线,由地址译码产生,we为写允许信号线,与单片机写命令信号wr相连,控制存储器的写入操作;oe为读允许信号线,与单片机读命令信号rd 相连,控制存储器的读出操作,与单片机联结时,主要解决地址分配,数据线和信号线的联结。为了能够保存编辑的数控程序,还扩展了一片e2prom2864a,它是一片8k *8位的电可擦除可改写的只读存储器,能在应用系统中在线改写,断电后数据保存在时间要求比较严格的情况下,可用一片29f64 flash存储器直接替换,它们的管脚都是一样的。flash的写入时间和读出时间都比较短,在计算机主板上大量应用作bios芯片,市场上也比较容易买到。3.3输入输出i/o的设计输入输出在本系统中占重要部分,因为数控系统用非常多的输入输出端口,给硬件设计带来了一定难度,根据毕业设计的要求和常用的简单cnc数控系统的一般要求 ,考虑了以下几类的i/o端口:输出的显示部分,显示包括了输入程序时必要的显示和在数控机床工作时各坐标值的显示、刀具号的显示、主轴速度的显示和进给速度的显示。输出状态显示,包括了各工作状态的显示,主轴给定速度的显示,手动时必要的显示等。步进电机的输出,步进电机的输出有一点特殊,因采用不同相的步进电机和不同工作方式的步进电机输出的端口的数量都不同,在设计时要考虑充分的裕量。手动操作时输入,手动操作时的操作比较多,有各坐标轴的增加、减小、封锁,回零。主轴的启动、停止、反向,冷却液的开启和关闭,刀具号的增加和减小,工件的夹紧和松开,报警的复位/停,机床的启动,夹紧完成和传感器输入等。要对主轴速度测定,也要占一个端口。用霍尔传感器将主轴速度转换成一定频率的脉冲信号。通过对频率信号的计数就可得到当前的主轴速度。程序的输入要靠一个键盘来实现,一般要有30个键以上。一类比较特殊的输入端口是机床的限位开关,机床限位开关在工作状态发生变化时要求cpu进行判断,进行处理。由以上的分析,可得到初步的方案,常用的并行i/o口扩展好像是唯一的比较好的方案,而一些变化不大的输出端口,也可考虑采用多路d触发器,这样也能节省成本。数量如此多键盘和显示用专用的键盘显示芯片8279是一个减轻cpu工作量的好方法。由具体数量的端口和裕量的考虑,决定扩展2片8255,其中一片8255专用于步进电机的输出。8255是具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路,它是一片使用单一+5v电源的40脚双列直插式大规模集成电路,通用性强,使用灵活,通过它cpu可直接与外设相连接,它具有三个相互独立的输入/输出通道,三通道可以联合使用,构成单线、双线或三线联络信号的并行接口。扩展一片8155,主要是考虑到8155中的ram可以利用作为一些输出数据的暂存。一片8d触发器74ls273作为各坐标轴的符号的显示和运行/联机状态的显示。扩展一片74ls244作为驱动。键盘和显示在参考一些资料后发觉只有2片8279才能完成任务,一片用于键盘和米字型led的显示,一片工作在传感器状态,用于输入机床的限位开关和各坐标值的日字型led的显示。2片8279使用不同的中断。8279芯片是一种具有40条引脚的双列直插式芯片,40条引线中与cpu一侧相关的共15条,与键盘、显示接口相关的共23条,电源、地线各一条。各引线功能如下:d0-d7:双向数据线,用于cpu和8279芯片之间传输数据、命令和状态信息。clk:系统时钟,为8279芯片提供内部定时。reset:复位线,高电平时复位8279到:16个字符显示(左进方式);编码扫描键盘(双键锁定);时钟设置为31。/cs:片选线,由i/o端口地址译码器产生低电平时8279芯片被选中。/rd:读信号,低电平有效。/wr:写信号,低电平有效。a0:地址线,进行片内端口选择。为0时,选中数据寄存器;为1时选中命令/状态寄存器。irq:中断请求线,高电平有效,向cpu申请中断。sl0-sl3:扫描线,用来扫描键盘或显示器,可编程设定为编码输出或译码输出。rl0-rl7:返回线,用作键盘矩阵列线的返回信号输入。shift:移位信号,高电平有效,是键盘数据的d6位,用于扩充键的功能,如作为上下档功能键。cntl:控制线,高电平有效。键盘工作方式时,是数据键盘的d7位,用于扩充键的控制功能控制功能键。outa0-outa3,outb0-outb3:a组、b组显示信号输出线,与扫描线sl0-sl3同步,实现分时数据显示,即刷新各位显示字符。两组可独立使用,也可合并使用。/bd:显示消隐线,低电平有效,用来在显示数据切换时或收到消隐命令时,将显示消隐。8279芯片作输入接口时,可编程工作于扫描键盘方式、扫描传感矩阵方式或选择输入方式。在扫描键盘输入方式中,键盘可设置64(8*8)个键,经扩充可达128(8*8*2)个键,读入键值时具有去抖动功能。8279作显示输出接口时,设有16*8位显示ram存储字形编码,经编程可接16个8段数码显示器或8个8段数码显示器。不使用8段数码显示器也可与指示灯连接。3.4 单片机与计算机(pc)机通讯的设计8031有一个全双工的异步串行口,计算机有以rs232c为标准的串行口,在前几代的计算机中,计算机的串行口由一片8250或8251控制,现在的串行口控制芯片已经集成在主板上了,8251可以工作在同步或异步方式下,两种方式下的字符位数5-8个,同步方式时传输率可达0-64k,异步方式时传输率可达0-19.2k ,异步传输时,可自动产生一个起始位,程控产生1个、1.5个、2个停止位,并具有奇偶错、数据丢失和桢错误和检测能力,同步方式时,可自动检测,插入同步字符。8251在使用之前必须由程序对其工作状态进行设定,其中包括:同步方式还是异步方式、传输波特率、字符代码位数、校严方式、停止位位数等。与我们采用的ttl电平有所区别,所以单片机在计算机接口时要进行电平转换,常用的方法有用三极管的方法可以沿用。rs232c的电还有一种方法是采用专用集成电路进行电平转换。常用的型号有max232。为了使系统工作更平标准是高电平是5v15v,低电平是5v15v电容巧妙的得到rs232c电平。可靠,我们采用后一种方法能达到比较可靠的要求。35 步进电机功率电路不仅电动机是一种将电的脉冲信号转换成相应的角位移或线位移的机电执行元件,它能将指令脉冲变成步进电动机输出轴的旋转。步进电动机的特点是:步进电动机的角位移或线位移与脉冲数成正比,它的转速与脉冲频率成正比,能快速地启动,制动和反转;在一定频率范围内各种运动都能任意地改变且不会失步,当停止输入脉冲后,只要维持控制绕组电流不变,电动机可以保持在某一固定位置上,所以步进电动机具有自整步能力;还有步进电动机没有一周累积误差,定位精度较高。选择步进电动机必须保证步进电动机的输出转矩大于负载转矩,使步进电动机的矩-频特性有一定的裕量,以保证运行可靠,即在实际工作时,各种频率下的负载转矩必须在矩-频特性曲线范围内,要求计算的机械系统负载转动惯量与步进电动机转子的转动惯量相匹配,并有一定裕量,必须使最高连续工作频率能满足产品快速移动的要求,还必须使步进电动机的步距角与机械系统相匹配,以得到机床所要求的脉冲当量。三相反应式步进电动机定子上绕有线圈的u、v、w三对磁极,分别称为u相、v相和w相,转子是一个带齿的铁心。如果先将脉冲加到u相励磁绕组,定子u相磁极就产生磁场,并对转子产生磁拉力,使转子的1、3两个齿与定子的u相磁极对齐,而后再将电脉冲通入v相励磁绕组,定子v和磁极便产生磁场,并对转子产生磁拉力,这时转子2、4两个齿与定子v相靠得最近,于是转子便沿着逆时针方向转过30度角,使转子2、4两个齿与定子v相磁极对齐。如果按u-v-w-u的顺序通电,转子则沿着逆时针方向一步步转动,每步转动30度角,如果按u-w-v-u的顺序通电,步进电动机将沿着顺时针方向一步步转动。由于单片机输出的电平不足以驱动步进电机,必须进行功率的放大,在放大时还要考虑隔离。由单片机输出到工业现场的i/o端口一律采用光电隔离。光电隔离有效地提高了单片机系统的抗干扰和安全。从工业现场来的强电不会影响到单片机系统,另一方面,光电隔离使单片机系统和功率系统不共地,进一步提高抗干扰的能力。进电机的驱动用集成功率芯片8751进行驱动,而报警的电铃用继电器进行驱动。为使步进电动机实现双向调速,晶体管脉宽调制系统(pwm)的主回路必须采用桥式电路,如图3.2所示:图3.2 pwm-m系统的主回路电路图如图所示:四个大功率晶体管vt1- vt4组成电桥,如果在vt1和vt3的基极上加正脉冲的同时,在vt2和vt4的基极上加负脉冲,这时vt1和vt3导通,vt2和vt4截止,电流沿+90v-c-vt1-d-m-b-vt3-a-0v的路径流通。设此时电动机的转向为正向。反之,如果在晶体管vt1和vt3的基极上加负脉冲,在vt2和vt4的基极上加正脉冲,则vt2和vt4导通, vt1和vt3截止,电流沿+90v-c-vt2-b-m-d-vt4-a-0v路径流通,电流的方向与前一情况相反,故电动机反向旋转。显然,如果改变加到vt1、vt3和 vt2、vt4上的控制脉冲的正负和导通率,就可以改变电动机的转向和转速。3.6 电源电路电源是系统稳定的前提,一个稳定的电源可以使系统能够稳定的工作,现在常用的有串联稳压电源和开关电源。串联稳压电源应用已经有一段非常长的时间了。它有技术成熟,结构简单,纹波系数小等优点,但它的效率较低,如果输出电流较大时,功耗将非常大。开关电源是近年来的新型电源,它的效率高,体积小,重量轻,发热量小,且在市场上能很方便地买到模块化的电源,简化了设计,但开关电源也有缺点,它的纹波系数比较大,只有在使用功率在设计功率的80时纹波才比较小。如果开关电源的拓扑结构是非隔离型的,在故障时容易引入300v以上的直流高压,使系统大面积损坏。衡量以上的优缺点,决定采用开关电源,通过精心挑选,选用了一个合适的开关电源模块,它采用的隔离变换电路,不会引入直流高压,在功率方面,估计系统的总功率后,选用合适的功率,用滑线变阻器模拟系统的功耗,得到满意的结果。3.7 掉电保持系统状态电路掉电保持系统的状态可以在停电时保存系统当前的状态,可以在系统恢复供电时继续工作,这在系统在运行时是非常重要的,因为在系统运行时,如果断电,一切都必须重新来,如果数控机床是在加工一个非常复杂的工件或成本非常高的工件时,发生断电,该工件就报废了。将会造成重大损失,可能还会损坏设备或造成人身伤亡。掉电保存系统状态的电路主要是有后备电源,在主电源被切断时,后备电源能在系统容许时间条件下马上切换,并给出标志,让cpu执行相关的操作,例如:保存当前ram的内容和pc的值等。为了使后备电源始终处于良好状态,在系统开机时,如果后备电源电压不够,要禁止一切操作,直到后备电源充满电为止。根据以上要求,我们用运放和cmos器件设计了一个用后备电池供电的电路。3.8 各功能模块的组合由于各分立的功能模块都是一些成熟的电路,在分立调试方面只需进行一般的可行性验证。而如何将各功能模块组合成一个系统反而是一个要认真考虑的问题。本系统的器件多,连线多而且复杂。首先根据以上的分析画出系统组成框图如图3.3所示。3.3 系统组成框图据系统框图和138译码器的地址分配,得到以下一个地址分配表如表3.1所示:器件名称器件地址器件名称器件地址272560000hffffh2864ae000hffffh6264c000hdfffh74ls2734100h74ls2444300h82554500h4503h81554600h46ffh4e00h4e05h82554700h4703h82794000h4001h82794400h4401h 表3.1 地址分配表3.9 设计的细节问题:1由上述的分析可知数控系统在步进电机运行时,不能有其它的工作,如果在步进电动机处于运行状态时,使用者按下了键盘,很有可能就会触发了中断,从而中断了步进电机的运行,所以在步进电机运行时要关闭键盘中断,但又不能关闭机床限位开关的中断,我们的解决方法是在步进电机运行时用软件关闭键盘中断,而机床限位开关的中断用硬件来控制。采用8031的一个i/o口控制机床限位开关中断的允许与禁止。28279的扩展,8279是intel公司开发的一种可编程显示接口器件,单个芯片就能完成键盘输入和显示控制两种功能,能对显示器自动扫描以及自动识别键值,减轻了cpu的负担,充分提高了cpu的工作效率,在单片机系统中得到了广泛的应用。但因系统需显示的led较多,如果直接应用8279将不能满足系统的要求,在这里采用8279加译码的方法,在8279的扫描输出端扩展了74ls138译码器和74ls47led译码驱动器。扩展的电路如图所示。8279内部具有16个8位显示ram,存放着显示器的8位段选码,每一个显示ram对应sl0-sl3四条扫描线的一个译码输出位选码。显示过程中,不断从显示ram读出段选码,同时位选码轮流驱动被选中的显示器,可以实现最多16位7段led显示器动态扫描显示。16段“米”字形显示器需要16位段选码,我们可以按一定的规则把16段显示分解为两个8段,占用两个显示ram单元,并将该两个显示ram 的位选线同时选中一个显示器,而把两个显示ram的内容分别送往该显示器的两个8段,就能由8279实现对“米”字形显示器自动扫描动态显示。在下面的用8279扩展16段“米”字形显示器硬件电路图中,8279的片选线接到8031的p2.7,8279的系统时钟clk接到8031的ale,经内部软件分频得到100khz的基本频率。8031的p0.0经地址锁存接8279的a0,提供8279命令/状态口与数据口地址,8279的sl1、sl2经74ls138译码并反向作为位驱动,sl0及/sl0则分别接到上下两组74244的使能端,以在不同的时候将8279显示数据输出口的内容送往不同的组实现段驱动,对应sl0-sl2各种状态下的段选,位选情况如表3.2所示。根据上表,地址为0和1的两个显示单元同时选中显示位l0,由sl0控制段驱动的选通,分别将0和1两个显示ram中的8位段选码送往l0的上下两个8段驱动部分。同理,显示ram单元2和3,4和5,6和7分别同时选中l1,l2,l3,用8位段选码来实现16段的驱动。 3.3 显示部分电路图sl2sl1sl0显示ram地址段驱动选通选择显示位0000上l00011下l00102上l10113下l11004上l21015下l21106上l31117下l3表3.2 位选情况表3抗干扰的的考虑。为了防止强电干扰以及干扰信号通过i/o控制回路进入8031,影响其工作,本系统采用光电隔离,使8031与强电部件不共地,阻断干扰信号的传导。为了将弱电信号转变成强电信号,采用了图3.5所示驱动电路,当控制脉冲来时,t1、t2、t3全导通,并使脉冲变压器tf的副边产生一定宽度的脉冲电流,使t4导通,使d3处于反向偏置,将低压vl与绕组lmotor切断,高压电源vh通过t3、t4为步进电机某一相绕组lmotor供电,使其电流上升沿变陡。经过tb时间后脉冲电流消失,使t4截止, vh与绕组之间被切断。vl通过t3、d3为lmotor供电,提供电动机所需的额定电流。通过调整脉冲变压器的磁芯和r7可改变高压供电的时间宽度tb。3.4 抗干扰驱动电路图4电路板的设计,电路板采用双面板,顶层和底层采用不同方向的布线,减小层间的平行走线构成分布电容,减小谐振的产生。5输入输出点的连接,键盘采用薄膜开关,通过专用插座与系统板连接,其它的显示和步进电机的输出采用标准插座与系统板连接。 第4章 软件设计本系统不是仅靠硬件就能完成操作的,它还需要软件的支持。接下来的工作就是根据硬件部分的设计来进行软件设计,根据硬件设计,我们必须让cpu分时工作在不同的方式下。系统的工作状态有联机、预置、手动、编辑、连续、单步。用一个多位旋钮选择工作工作状态。下面把各工作状态下应该完成的工作描述如下:1连续,在连续工作状态下,要求操作者输入要执行的iso文件号,文件是在编辑状态下输入的程序。操作者在输入了文件号后,系统给出确认的提示(y/n),如果操作者输入的是y,根据iso文件运行程序。如果是n,返回输入文件的提示。2手动运行,在手动状态下,系统扫描键盘,根据操作者的输入来启动相应的操作。3单步运行,在单步运行状态下,要求操作者输入iso文件号,在确认为y后,按一下确认键运行一步程序,直到程序结束。4编辑,编辑是各种操作中最复杂的,也是程序最复杂的部分,编辑状态与我们常说的监控程序类似,它的编程方法也与监控程序差不多。但在本系统中就复杂的多。在编辑状态下,首先要操作者输入要编辑的iso文件号。在文件号确认为y后,进入编程状态,用户使用键盘输入程序,同时米字显示器上显示所输入键。在编程状态下可使用退格键修改输入错误。如果输入的文件号非空文件,还应能使用查找功能。在编辑状态下还能对输入的文件进行格式化,使文件符合iso标准。键盘大部分的功能键都与编辑有关,功能键的增加使的编辑更加容易,但也给程序带来了难度。要在单片机上作一个类似计算机文本编辑的程序非常复杂。我们这次的毕业设计大部分力量主要是编辑功能的设计。5.联机,联机是通过串行口与计算机进行通讯,主要是接收计算机编辑好的程序。在联机状态下,首先,要求操作者输入要接收的文件号,确认后从计算机接收编译好的程序,直接保存在ram6264中,接收完了后,将数据保存在数据存储器2864中。4.1 监控与操作程序监控与操作程序用来实现人机对话、系统监控,指挥整个系统软件协调工作等。它包括系统的初始化、命令处理循环、零件加工程序的输入、零件加工程序的编辑修改、指令分析与执行、系统自检等。4.1.1 系统的初始化开机或人工复位后,数控系统要进行必要的初始化处理。如:设置系统软件,包括cpu及其可编程i/o芯片的工作状态;设置中断方式;对系统变量赋予初值;初始化输出端口的内容以及使机床处于正确的初始工作状态以及系统硬件部件的自检。初始化程序框图如图4.1所示: 图4.1 初始化程序框图4.1.2 命令处理循环在完成初始化工作以后,程序进入命令处理循环。在这个循环过程中,程序扫描键盘或操作面板输入的操作命令,对命令进行识别分析,然后,根据识别分析的结果转向相应的处理程序模块。经济型数控一般采用两种键盘处理方式,一种是键盘扫描中断方式,一种是采用专用可编程键盘显示芯片8279管理模式,本系统选用8279芯片,同时键入输入和显示器输出,其键盘中断流程图如图4.2所示,键盘显示流程图如图4.3所示: 图4.2 键盘中断流程图 图4.3 显示程序流程图4.1.3 数据输入处理:(1)零件程序的输入 经济型数控系统零件加工程序通常是通过键盘逐段输入的。输入的数据经处理程序将输入的十进制数与指令转换为bcd码存于规定的缓冲区,即源程序区。输入程序的任务是将输入的源程序顺序读入,并根据字地址把有关数据送至指定的存储单元,同时将坐标值bcd码转换成二进制数码(2)零件加工程序的编辑修改编辑修改程序可看作为一个键盘命令处理程序。它与键盘输入通常成为一体,既可以用来从键盘输入新的零件加工程序,也可用来对已输入的零件加工程序进行编辑与修改。当按下检索命令键或在系统开关预置编辑方式下进入编辑修改程序,进入编辑修改状态后,检索需编辑修改的程序,对该程序中的指令和数据进行必要的删除或插入等编辑修改工作。其编辑修改程序框图如图4.4所示。图4.4 编辑修改程序框图4.1.4 指令分析与执行数控系统要对输入的指令进行识别,识别指令功能并执行相应的操作。如m辅助功能能主要涉及主轴启停、切削液的开关、工件松卡等动作以及控制加工暂停和加工结束。s功能是主轴转速功能,控制主轴的转速;t功能是刀具功能,控制换刀等动作;g准备功能,规定着各种运动方式。g功能种类很多,处理较复杂。g功能分析程序通常采用中断矢量法,就是经过g功能分析后,将相应的g功能处理子程序的地址写入中断程序矢量的单元中,在加工过程中由速度处理程序设置的定时时钟发出中断信号,每中断一次,相应的g功能作为中断服务程序就执行一次。g功能分析程序框图如图4.5:图4.5 g功能程序流程图4.1.5 管理程序上面所叙述的系统初始化、键处理及显示、输入数据处理以及操作面板的一些开关和按键等,均要由管理程序来进行协调。4.2 步进电机输出控制程序系统用8255的pb 口作为输出口,输出信号经过功率放大后,分别控制x,z轴两个三相六拍步进电机激磁绕组的通电顺序,以控制刀架在正负x和正负z方向的运动。用软件实现脉冲分配,节省了硬件费用。软件分配脉冲采用查表法,按正向运转的通电顺序列出各相绕组的脉冲分配表,每个电机设定一个指针寄存器,初始化时使指针指向分配表的表首。步进电机需正向运行一步时,指针下移一行,同时输出该行状态,当指针到达分配表表尾时自动回到表首;步进电机反向运行时,指针上移一行,并输出该行脉冲值,当指针到达表首时自动回到表尾。其程序流程图如图4.6: 图4.6 步进电机输出脉冲分配流程图4.3 闭环调节程序:奔系统采用数字调节门方式实现闭环控制。工作原理为:当指令值减去反馈值后大于,数字调节门打开,系统进行反馈控制;当指令值减去反馈值后小于或等于,数字调节门关闭,系统转去执行下一条指令,为判终步数,由机械特性决定,根据实验测得。4.4 系统诊断程序该程序检测cnc系统各个硬件功能的正确性,指示可能存在故障的位置和性质,辅助维修人员确定故障部件,缩短系统维修时间,提高系统的可靠性。不同的数控系统,其诊断功能和诊断程序可能差别很大,但诊断原理基本是相同的,就是用软件对数控系统中某一环节后某一预设状态进行检测,发现非正常情况,给出错误信息。数控系统在执行所有功能时,都不断地对其自身是否正常工作进行诊断,一旦发现异常,立即产生报警,并停止系统的运行,报警可分为如下几类: 计算机系统报警:奇偶校验错,除法溢出,超时等; 伺服单元报警:过流,超速,过压,过热等; 位置控制报警:反馈失线,跟随误差过大等; 机床报警:软硬极限超程,急停,螺纹切削超程等; 由于编程或操作错误而引起的错误指示,但不属于系统故障。 下面是经常用到的诊断程序。 定时/计数器的诊断 数控系统中,定时/计数器往往是必不可少的,如经济型数控系统对步进电动机的控制,多数采用定时中断功能。由于定时/计数器的定时功能诊断不需要外部条件,而计数功能的诊断需从外部引入脉冲源,故一般诊断程序只诊断其定时功能。定时功能的诊断基本方法是:让被诊断的计数器工作,如能正常送出,就可诊断为基本无故障。中断功能的诊断 cnc系统有多个中断源,实际中不可能对每个中断进行诊断,一般选一个最频繁的中断源进行中断。基本方法是:先打开中断,并在中断子程序中进行一段操作通知诊断程序,则可根据此操作是否发生来判断中断是否发生;再关闭该中断源,看中断是否还能发生。这样就可判断中断是否正常。rom区的诊断 利用累加和的方法来诊断固化在rom区的系统控制程序的故障。在控制程序固化到rom中时,将控制程序的每个字节累加,得出累加和,将累加和取补后也固化到rom中。诊断时,若累加和为零,则说明rom完好,否则认为有错。此时,系统停止工作并给出报警信号和出错内容。ram区的诊断 开机时,对每个要检查的单元先写入一个常数,如55h,并读出检查是否是55h,若是,再对每个单元写入aah, 然后,读出检查是否是aah,这两个检查若有一个不对,则表明ram区有错。写入55h和aah是通过逻辑0和1对每位进行检查。键盘诊断 经济型数控系统多数采用键盘方式输入零件加工程序或控制命令,若有一键失灵,将导致操作者无法对数控系统进行控制和进行程序输入。所以键盘诊断是很重要的,其基本方法是:在系统键盘管理程序中加入使按键发声子程序,当有键按下时,发出标识声音,每当按下键时若听到该标识声,表明无故障,否则键出故障。4.5 步进电机控制软件微机控制步进电机的驱动系统,不仅可用程序代替可变脉冲源和环形分配器等硬件,还很容易用程序实现步进电动机升降速控制等功能。用软件完成环形分配的优点是线路简单,成本低,可以灵活地改变步进电动机的控制方案,而驱动功率放大功能仍由硬件完成。单片机p1的低三位为输出位,分别控制步进电动机u、v、w三相绕组通断。用软件进行环形分配,就是用软件改变p1口低三位的输出值,来控制二相绕组的通电顺序和方式。同时,在两控制字间应加入软件延时来保证一定的时间间隔,以此控制步进电动机速度。如要控制步进电动机反转,只需将输出的控制字按u-v-w-u的通电顺序输出即可。生产实际中,要求步进电动机不仅运转速度快,而且要求能快速启动、停止。但由于步进电动机本身特性的限制,如果启动时脉冲频率较高,步进电动机转子在最初一些节拍不能转移相应的转角,则产生“丢步”,严重时步进电动机不能启动。停止转动时会产生“过冲”。因此,微机应能对步进电动机的脉冲频率进行升降频控制,使脉冲频率开始时较低,步进电动机不“丢步”地启动,然后逐渐升高到较高的连续运行频率。同理,在要求停止转动时,为防止“过冲”,使脉冲频率逐渐降到零。微机实现升降频控制,可采用均匀地改变步进脉冲间隔的方法,进行升降速控制,也就是控制步进电机脉冲的个数和步进脉冲的间隔,而其间隔又可转化为某基准延时子程序的循环次数。因此,可以方便地用软件来控制步进电动机的运行,实现步进电动机不丢步地快速启动、停止。假如要求时间间隔为1ms,控制步进电机三相三拍正转的程序框图如图4.7所示:如果要控制步进电动机反转,只需将输出的控制字按u-w-v-u的通电顺序输出即可。 图4.7 控制步进电动机转向流程图第5章 调试程序的调试分各组独立调试和联合调试。根据各程序的特点,决定将一套系统和仿真器用于键盘显示程序的调试,一套系统用于步进电机驱动程序的调试,而译码程序的调试用计算机仿真进行调试。5.1 键盘显示的调试:1. 8279的调试:8279的调试包括初始化,按下一个相应的键后显示它的键值。8279的调试通过后就是监控程序的调试,监控程序的调试要严格按照定义好的标志位进行。我们在编程中先以最重要的功能着手,达到能输入数控程序后,在进行其他功能键的设计。调试中出现的问题:1.键盘显示程序1)在切换工作方式时能正常显示,但在编辑状态下时输入字母和数字时显示不变化。分析:能正常显示,说明8279工作是正常的,不能输入字符首先考虑是否产生了键盘中断,在单步调试时可以看出程序跳入了中断服务程序,中断也是没有问题的,对照流程图,发现在对输入字符的处理前还有各种工作是否正常的判断,单步执行程序,发现在判断错误0(程序名错误时)一直是错误的,把该标志位修改后,在继续执行程序,重点在错误0判断模块,经过一步一步分析,修改了错误0判断程序后故障排除,可以正常进行编辑。(2)能正确编写程序,在保存按下y键后,程序并没有保存。分析:程序在编辑好后,按下保存键后,根据程序号保存在2864相应的单元中,在保存程序以前,编辑好的程序是保存在6264中。断点运行程序到程序编辑完的地方,检查6264单元中的内容,各个单元的内容是正确的。而单步运行保存程序的程序也是正确的,我们检查了硬件接线,发现2864的写使能附近的电源线有一点焊锡接在一起了。2864始终处于只读状态,而程序中也没有判断能否写入的程序,结果就走了弯路,只考虑到软件调试的问题,而没有考虑到硬件的问题。 5.2 译码程序的调试码程序首先要一个格式化好了的数控程序,我们根据键盘的键值组合了一个包括各种编程语句的最简程序,译码程序就根据这个程序来进行变换,通过观察相应存储器的内容来判断程序的对错。 译码程序比较简单,而且在计算机上进行仿真,各步的值的改变都有很好的记录,问题应该是没有的。但在接到数控系统上调试时不能译码,对比两个程序,仅仅是修改dptr指向不同的内存单元,难道是dptr指向的内存单元不对,对该部分进行单步运行调试,发现是在调用dptr的前子程序把累加器的值修改了,使程序不能正确指向相应的内存单元。把该子程序进行入栈和出栈处理后,问题解决了。5.3 步进电机的调试步进电机的驱动各类参考文献都有例程序参考,一般来说,程序是成熟的,在本次的设计中,调试好一个合适的启动频率后,步进电机基本上能运行。程序的联调:在各个组都完成了子系统的设计后,我们开始总体的联调,首先要求各组把要和其他组共享的内存单元,传递参数列了一个表,在各个部分出现问题时,根据该表就能很快找到问题的所在了。键盘显示与译码的参数只有2864中的程序,基本不会存在冲突问题。而步进电机的程序参数都依靠译码来传递,而显示部分又要调用到键盘显示程序,冲突的可能性比较大,是我们在调试中要注意的重点。我们现把程序组合成一个文件,键盘显示程序在前,译码程序在中间,步进电机的启动在最后。用仿真器进行联调。联调中出现的问题: 1.在刚开始联调时,全速运行程序,只有键盘显示程序能进行编辑和一些简单的功能键,而步进电机的问题最大,不是不动,就是动几秒,停几秒。用断点运行程序时也看不出程序不衔接的地方,只好单步执行程序,在按下无数次f8键后,大概看出一些毛病,主要是一些程序的调转语句在跳转后pc指针指向的地方不一样,在单独运行时,跳转是没有问题的,但组合在一起时,某一些功能模块的跳转就可能跳转到别的功能模块上去了,造成的问题不好判断。于是我联合三个组的负责人,单步运行程序,对照流程图,修改一些功能模块在程序的位置,让程序的跳转符合要求。对于一些不好解决的功能模块就复制一个在调用的地方,减少程序的跳转。在经过近一个星期的联调后,各模块间的问题解决了。剩下的是模块之间的衔接问题了。模块的衔接主要是键盘显示和步进电机程序的衔接。在步进电机工作时,要显示当前的坐标,要把当前坐标送显示,显示属于另一组的程序,要一个能公用的显示程序,而键盘显示组的显示程序不能直接套用,于是我要求该组的同学为步进电机组编一个显示程序,供单独调用。这样程序虽然变的冗长了,但减小不兼容性,还是可取的。在单步运行程序时,要按下确认键后执行下一步程序,要键盘和步进电机能协同工作,在协调时,我并未要求键盘显示组全面编制该部分的程序,而是在现在来确定要传递的参数后在补完成程序,这样能减小程序之间的冲突,而单步运行程序本身并不复杂,主要是要传递的参数比较多,如果在一开始就编好程序,在参数传递出现问题时,再一个一个参数出判断,去改程序,就很麻烦。5.4 面板操作说明本装置用途很广,面板上操作功能较多,我们分几个部分来说明其操作。5.4.1 工作方式换档开关:此换档开关分六档:联机、予置、手动、编辑、连续、单步。在编辑状态下,人们可以用编辑键编辑各种数控程序,并可以对数控程序进行格式化、保存、删除等操作。在连续状态下,我们可以将编辑好的一个程序连续运行完。在单步状态下,人们可以将编辑好的一个程序分段一步一步运行完,运行一步即等待用户按确认键才运行下一步。在手动状态下,人们可以用手动控制键控制各功能。5.4.2 编辑键盘面板上右边有一68的键盘,这就是人们的编辑键盘。此键盘可分为三组:数字键、字符健、功能键。其中数字键用于数控程序中数值的输入。根据iso数控程序格式要求设定了各字符键,各键功能已在编辑方法中详细叙说。功能键为编程的控制键。1)确认键:对各功能的认可键,它既包括对各编辑功能的认可,也可对各工作方式的认可。2)退出键:退出编辑状态的键。按下此键后,数字显示器将提示“ouit?(y/n)”,此时若不想退出编辑状态,则先按y键,再按确认键即可。3)键:在编辑状态上,光标左、右移动一个位置键。4)键:在编辑状态上,光标左、右移动一屏位置键。5)键:在编辑状态上,光标移到程序头、尾的位置键。6)退格键:在编辑状态下,在光标位置向前删除一个字符。7)查找键:在编辑状态下,按此键,米字显示器上将提示“scan_”,此时键入你查找的程序段号,再按确认键,则,你要查找的程序段则显示在米字显示器上。8)段删除键:在编辑状态下,按下此键,将光标移到要删除的段,则此段即删除掉了。但此时删除的是数据区中的程序段,存储程序芯片中仍未删除,若确实要删除此段,则再保存即可完全删除。9)程序删除键:在编辑状态下,按下此键,则显示“del%00”输入要读入的程序名,按确认键,则显示“del%_/n”按“y”“确认”,则此程序完全删除,进入工作方式状态中。10)读入键:在编辑状态下,将光标移至读入程序要插入的位置,按下此键,则显示“read%00”输入要读入的程序名,按确认键,则读入程序插入进来。11)格式化键:在编辑状态下,输入程序后即按此键,则将程序格式化后,从程序首开始显示此程序。12)保存键:程序格式化后,即按此键,则显示“save%03”(03为当前程序名时)按“确认”键后,新文件即存盘后从程序首开始显示,旧文件则显示“ovr%03/n”,按“y”“确认”则存盘后从程序首开始显示。存盘时显示“saving”。5.4.3 手动控制键: 在进入手动工作方式时,按确认键,即可操作各手动控制键。六个手动进给键控制x、y、z方向进给的进、退功能,按一下“”键,则刀具在对应方向向前步进一步,按“”键,刀具在对应方向向后退一步。1)夹紧键:按一下此键,则可控制夹紧刀具,且面板上“已夹紧”指示灯亮。2)松开键:按此键,则松开刀具,面板上“已夹紧”灯灭。3)冷却液开键:按此键,则开冷却液,面板上“冷却液开”灯亮。4)冷却液关键:按些键,则关冷却液,面板上“冷却液开”灯灭。5)刀具键:按此键,则刀具号增1,在刀具的8字显示器上可看见刀具号增1。6)刀具键:按此键,则刀具号减1,在刀具的8字显示器上可看见刀具号减1。7)主轴启动键:按此键,则启动主轴,面板上“主轴启动”灯亮。8)主轴停止键:按此键,则停止主轴,面板上“主轴启动”灯灭。9)回零键:按此键,则控制刀具直线插补回到零点(原点)。5.4.4 其它键及按钮1)系统复位键:当系统运行中出现错误,或按了“急停”按钮时,必按“系统复位”键,使系统软件重新开始初始化,启动系统。2)急停按钮:当系统运行中出现不正常现象,即可按“急停”按钮,以停止整个系统的工作,恢复后必按系统复位键,使系统重新开始工作。3)暂停按钮:在系统运行中出现错误,可按暂停键,此时,可由“启动”按钮恢复暂停工作。4)启动按钮:用于恢复暂停的工作。5)封锁开关:分别有x、y、z三个方向的“封锁”开关,独立工作,无论哪个方向的“封锁”开关向上拨至封锁位置。则此方向的步进即封锁了。不管是连续、单步、手动匀不可步进了,没被封锁的则根据指令而步进。5.4.5 指示灯1)电源指示灯:在面板的右上角有一红色指示灯,指示电源开,打开系统电源开关,此灯则亮,直到电源开关关。面板左上角有六个指示灯,以指示系统运行状态。2)程序运行灯:在单步或连续方式下,数控程序运行期间,此灯亮,直到数控程序运行停止时,此灯灭。3)主轴启动灯:在数控程序中有m03或m04或手动方式下按“主轴启动”键,则此灯亮:在数控程序中有m05或手动方式下按“主轴停止”键,则此灯灭。4)冷却液开灯:在数控程序中有m08或手动方式下按“冷却液开”键,则此灯亮;在数控程序中有m09或手动方式下按“冷却液关”键,此灯灭。5)已夹紧灯:仅受手动方式下的“夹紧”、“松开”键的控制。6)联机方式灯:在工作方式置于“联机”时灯亮。7)电池欠压灯:指示本装置的内电池的电压情况。5.4.6 显示器:1、米字显示器(8个):以显示数控程序,各工作方式等,与编辑键盘一起实现人机通讯。2、日字显示器(37个):37个8字显示器又分为四组功能。1)刀具(2个):显示当前的刀具号(0-99),可由程序中t功能或手动中“刀具”、“刀具”来改变此显示值。2)进给速度(4个):显示当前刀具进给速度,可用f功能来设置,在单步或连续运行中刀具以此进给速度而步进。3)主轴给定(5个):显示当前主轴给定速度,用s功能来设置,并有正、负可分。4)主轴速度(5个):显示当前主轴速度,并以闭环方式控制主轴速度,使之保持主轴给定速度,也有正、负之分。5)x、y、z当前坐标(3*7=21个):分别表示x、y、z三个方向距原点的绝对坐标值,最高位均表示符号,低六位表示坐标值,以十进制表示。以上均为正面板上的功能键等,下面分别就右侧面板、后面板加以说明。5.4.7 电源开关:右侧面板唯一开关。后面板上有保险管、电源插坐(220v)、联计算机的九针插座、连驱动单元的50p插座和连主轴的20p插座。结 束 语 从我国的国情来看,我国现在的零件加工业还处于相对落后的情况,许多机床还是处于手动加工,所以数控技术在我过有很大的发展空间,基于今后的发展着想,我选择了此课题基于单片机的数控控制装置的设计。不知不觉中,我的毕业设计接近尾声,转眼就到了交毕业论文的时候了。这次毕业设计为期一个学期,经过这次毕业设计,我感觉到自己又确实学到了不少的新知识,比如说我们自动化专业以电方面的知识为主,很少涉及到机械方面的知识,而两者之间结合方面更是少之又少,通过此次毕业设计,不但很好地复习了自己的专业知识,也了解了数控机床、数控系统等新知识,真正明白了如何实现机电一体化。在本次毕业设计中,我的课题是设计一个以51系列单片机为核心的数控系统控制装置,这个控制装置是以51系列单片机为控制核心,步进电机作为驱动电机,工作台和刀架作为执行元件,光栅作为位置检测元件而构成的一个闭环控制系统。这里的设计主要包括以下两个核心方面的设计:件设计和软件设计。硬件设计包括存储器扩展,显示/键盘接口的扩展,工作方式的选择,指示灯接口,主轴电机速度接口,封锁接口,步进电机驱动接口。软件设计包括:管理软件和控制软件。而管理软件又有输入,输出模块,显示模块,io模块和诊断模块;控制模块由译码模块,速度模块,插补运算模块等。毕业设计过程中,针对性地查阅了大量的书籍杂志,使我不仅对单片机的知识有了更深的认识,而且对于机械方面也有了一定的认识,更重要的是我对着两者有机的结合,真正的体会了机电一体化。使我具有了更严密的逻辑思维,学会了从多角度,全方位分析、解决问题。这为我今后从事数控系统的设计、操作和管理等面的工作,奠定了良好的基础,使我更有信心,更有准备地面对未来的工作,面对社会的挑战。在此毕业设计过程中,得到了指导老师xxx、xxx老师的大力支持和诸多帮助,在此表示最诚挚的感谢! 参考文献【1】曹琳琳 曹巧媛 主编 单片机原理及接口技术 国防科技大学出版社【2】吴祖育 秦鹏飞 主编 数控机床 上海科学技术出版社【3】胡汗才 主编 单片机原理及接口技术 清华大学出版社【4】张胜昌,钟廷修,胡赤兵,高文元 计算机群控系统的抗干扰研究 机床与液压 2001/5【5】王建校 杨建国 宁改娣 危建国 编著 c51系列单片机及程序设计 科学出版社【6】李勋 主编 单片机实用教程 北京航空学院出版社【7】潘永雄 主编 新单片机原理与应用 西安电子科技大学出版社【8】郭肃丽等 编写 jwk5/3数控微机系统原理与维修 机床电器1999年第一期【9】伍萍辉等 编写 采用8279扩展“米”字形显示器 机床电器2002年第四期【10】吴金戍、沈庆阳、郭庭吉 编著 8051单片机实践与应用 北京,清华大学出版社 2002。【11】王晓名明 编著 电动机的单片机控制 北京航空航天大学出版社【12】李德庆 编著 计算机辅助制造 北京,机械工业出版社 1994【13】何立民 编著 单片机应用技术选编 北京航空航天大学出版社【14】任玉田 编著 机床计算机数控技术 北京理工大学,1996【15】徐爱鈞等 编著 单片机高级语言c51应用程序设计 电子工业出版社,1998【16】张新义 编著 经济型数控机床系统设计 机械工业出版社,1994【17】陈宝江 编著 mcs单片机应用系统指南 机械工业出版社,1999【18】刘乐善等 编著 微型计算机接口技术及应用华中科技大学出版社,2000【19】栾红武等 编写 单片机在经济型车床数控系统的应用 微型机与应用1994年第二期【20】主管:中国科学技术协会 电子世界 j qikanhao 2004.2【21】主管:中国科技协会 电子世界 2004.4【22】中国自动化网 【23】中国金属加工网 致 谢时光飞逝,曰月如梭,毕业即将临近,我也快离开母校了。在这四个多月的毕业设计中,我还真觉得有不少的回忆和收获。经过这次设计,加强了我的实际动手和应用能力,在此我感谢我的同学和我的老师。在那段时间里,虽然很紧张,但也很快乐,紧张的是每天老师都会给我们布置新的任务,我们必须按时完成,快乐的是我们懂得了什么叫团队精神,我们在一起工作,让我们深深的体会团队的重要,伙伴的重要,一座座堡垒被我们攻克,一个个难题被我们解决,成就感油然而生。虽然说,这一切都即将过去了,但带给我的却不仅仅是这些,再过一些日子就要进公司了,那里的挑战会更大,带给我的机遇也会更多,毕业设计这段时间带给我的经验与工作的热情会指导着我在以后的日子里积极的工作。我也感谢跟我们班的许多同学们,他们给了我许多帮助和支持,没有他们我的设计也不会这么顺利的完成。我要特别的感谢我的指导老师,在我们遇到困难时,给我们点拨和无私的帮助,使我们将困难一一克服。每天她都不辞辛苦的为我们解决每一个细小的问题。总而一言,毕业设计教会了很多的东西,在这里我真诚的感谢每一位帮助过我的老师和同学们,也真心的祝福他们每一天都开开心心。 附录b 程序清单: org 0000h ajmp 主程序 org 0003h ajmp 急停中断 org 0013h ajmp 键盘中断 org 0030h 主程序: mov dptr,#4401h mov a,#0dfh movx a,dptr jb acc.7 mov a,#08h movx dptr,a mov a,#2ah movx dptr,a mov a,#90h movx dptr,a 8279初始化: mov dptr,#4001h mov a,#0dfh movx dptr,a movx a,dptr jb acc.7 mov a,#0ch movx dptr,a mov a,#50h movx dptr,a mov a,#2ah movx dptr,a mov a,#90h movx dptr,a mov dptr,#4703h mov a,#80h movx dptr,a mov a,#08 mov dptr,#4700h movx dptr,a mov dptr,#4701h movx dptr,a mov dptr,#4702h movx dptr,a mov 63h,a mov 64h,a mov 65h,a mov dptr,#4e00h mov a,#0fh movx dptr,a mov dptr,#4e03h mov a,#20h movx dptr,a mov dptr,#4000h clr a mov r7,#9h状态显示置零: movx dptr,a djnz r7 mov a,#10h movx dptr,a clr a movx dptr,a mov a,#10h movx dptr,a clr a movx dptr,a inc a movx dptr,a clr a movx dptr,a mov a,#10h mov 60h,#19h mov 5fh,#1 movx dptr,a mov dptr,#4100h mov a,#0ffh movx dptr,a mov p1,#0ffh mov 7ah,#20h clr a mov 78h,a mov r0,#20h清标志区: mov r0,a inc r0 cjne r0,#30h mov r0,#50h清当前坐标单元: mov r0,a inc r0 cjne r0,#63h mov 59h,#0ffh mov dptr,#0ff00h movx a,dptr cjne a,#80h clr a sjmp 找第一个程序名: clr a lcall 第一程序名为零:mov 7bh,a mov 79h,a setb it0 setb px0 setb ex0 setb ea等待键盘中断:jb f0 lcall mov dptr,#4502h movx a,dptr cjne a,78h ajmp 工作开始1: lcall delay lcall delay mov a,r1 anl a,#0fh add a,acc orl a,#90h mov dptr,#4401h movx dptr,a mov dptr,#4400h mov a,#0ffh movx dptr,a movx dptr,a lcall delay lcall delay jb f0 lcall 工作开始2: mov a,r1anl a,#0fhadd a,accorl a,#90hmov dptr,#4401hmovx dptr,a cjne r3,#0ffh mov dptr,#4400h mov a,#0f7h movx dptr,a mov a,#0fdh movx dptr,a ajmp 急停中断: mov dptr,#4001h mov a,#50h movx dptr,a mov dptr,#4000h movx a,dptr jmb acc.0,ww mov 30h,#23h mov 31h,#24h mov 32h,#1fh mov 33h,#20h mov 34h,#0fh mov 35h,#0fh mov 36h,#0fh mov 37h,#0fh mov 38h,#0fh lcall sjmp $ww: jnb acc.1,rrll: orl p1,#40h mov a,p1 jb acc.6,llrr: mov dptr,#4001h mov a,#0f0h movx dptr,a reti光标在数据中: mov dptr,#segtbl mov a,r1 add a,r1 movc a,a+dptr mov dptr,#4400h movx dptr,a mov a,r1 add a,r1 inc a mov dptr,#segtbl movc a,a+dptr mov dptr,#4400h movx dptr,a ajmp 方式判别: mov dptr,#4502h movx a,dptr cjne a,78h ajmp 方式改变: mov 5eh,#00h clr ex1 mov 78h,a jnb acc.0 通讯方式 jnb acc.4 单步运行方式 jnb acc.3 编辑方式 jnb acc.5 连续运行方式 jnb acc.2 手动方式 jnb acc.1 预置方式编辑方式: setb 00h anl 20h,#0f1h mov 30h,#15h mov 31h,#14h mov 32h,#19h mov 33h,#24h mov 34h,#0bh ajmp 手动方式: setb 01h anl 20h,#0f2h mov 30h,#18h mov 31h,#11h mov 32h,#1eh mov 33h,#14h mov 34h,#0ah mov a,#0f0h anl a,7ah swap a mov 35h,a mov a,#0fh anl a,7ah mov 36h,a连续运行方式: setb 02h anl 20h,#0f4h mov 30h,#22h mov 31h,#25h mov 32h,#1eh mov 33h,#13h mov 34h,#0bh ajmp 单步运行方式: setb 03h anl 20h,#0f8h mov 30h,#23h mov 31h,#24h mov 32h,#15h mov 33h,#20h mov 34h,#0bh ajmp 方式显示通讯方式: nop setb 04h anl 20h,#10h mov 30h,#13h mov 31h,#1fh mov 32h,#1dh mov 33h,#1dh mov 34h,#25h mov 35h,#1eh ajmp 预置方式: nop setb 05h anl 20h,#20h mov 30h,#20h mov 31h,#22h mov 32h,#15h mov 33h,#23h mov 34h,#15h mov 35h,#24h方式显示: mov a,#0f0h anl a,7bh swap a mov 35h,a mov a,#0fh anl a,7bh mov 36h,a方式显示1: mov 37h,#0ffh mov r1,#36h mov r3,36h lcall 方式未改变: setb ex1 ret找下一个程序名: nop ret键盘/显示中断: lcall key wait1: mov r4,#12h wait: lcall delay mov dptr,#4401h movx a,dptr anl a,#07h jz rtu mov a,#0ceh movx dptr,a djnz r4,wait lcall key ajmp wait1 rtu: lcall delay mov a,#0ceh movx dptr,a mov sp,#07h mov dptr,#等待键盘中断 push dpl push dph reti delay: push r5 push r6 mov r5,#28h dl1: mov r6,#0ffh dl2: djnz r6,dl2 djnz r5,dl1 pop r6 pop r5 ret key: mov dptr,#4400h movx a,dptr mov dptr,#table1查键值: movc a,a+dptr mov r7,a jnb 70h,无0错误 ljmp 错误0处理无0错误: jnb 71h,无1错误 ljmp 错误1处理无1错误: jnb 0ah,非文件删除状态 cjne r7,#80h,非删除复位 ljmp 删除复位非删除复位: ljmp 文件删除键处理非文件删除状态: cjne r7,#80h,非删除置位 ljmp 删除置位非删除置位: jnb f0,非工作开始状态 ljmp 工作开始3非工作开始状态:cjne r7,#0dh,未确认 setb f0 jb 01h,手动预处理 jb 02h,运行预处理 jb 03h,运行预处理 ajmp 编辑预处理手动预处理: ljmp 手动预处理程序运行预处理: ljmp 运行预处理程序编辑预处理: nop ljmp 显示处理非新数控程序: cjne a,#80h,程序名错误 ljmp 程序读入程序名错误: ljmp 错误0置位未确认:cjne r7,#8bh,非找下一个程序 mov a,7bh lcall 找下一个程序名 mov 7bh,a ljmp 方式显示非找下一个程序: cjne r7,#89h,非找上一个程序 mov a,7bh lcall 找上一个程序名 mov 7bh,a ljmp 方式显示非找上一个程序: clr c mov a,r7 subb a,#30h jc 非数字键 mov r6,a subb a,#0ah jnc 非数字键 mov 35h,36h mov 36h,r6 mov r3,36h jnb 01h,非手动速度 mov a,7ah swap a anl a,#0f0h orl a,r6 mov 7ah,a ajmp 非数字键非手动速度: mov a,7bh swap a anl a,#0f0h orl a,r6 mov 7bh,a非数字键: ljmp 送显示工作开始3: jb 01h,手动状态 jb 02h,连续运行状态 jb 03h,单步运行状态 ajmp 编辑程序手动状态: ljmp 手动程序连续运行状态: ljmp 连续运行程序单步运行状态:ljmp 单步运行程序手动预处理程序: mov r3,63h mov r4,64h mov r5,65h push 60h mov 60h,#0ffh mov a,#08 mov #4700h movx dptr,a mov dptr,#4701h movx dptr,a mov dptr,#4702h movx dptr,a ll6: orl p1,#38h mov 22h,p1 mov dptr,#4500h movx a,dptr jnb 13h,ll22 jb acc.0,ll21 ljmp x上 ll21: jb acc.1,ll22 ljmp x下 ll22: jnb 14h,ll24 jb acc.2,ll23 ljmp y上 ll23: jb acc.3,ll24 ljmp y下 ll24: jnb 15h,ll26 jb acc.4,ll25 ljmp z上 ll25: jb acc.5,ll26 ljmp z下 ll26: jb acc.6,ll27 ljmp 回零 ll27: inc dptr movx a,dptr jnb acc.0,刀具加 jnb acc.1,刀具减 jnb acc.2,冷却液启动 jnb acc.3,冷却液停 jnb acc.4,主轴启动 jnb acc.5,主轴停 jnb acc.6,夹紧 jnb acc.7,放松 ll5: mov dptr,#4502h movx a,dptr jnb acc.2,ll6 mov 63h,r3 mov 64h,r4 mov 65h,r5 pop 60h clr f0 ret刀具减: mov a,#99h add a,5fh da a mov 5fh,a sjmp 送刀具号 刀具加: mov a,5fh add a,#1 da a mov 5fh,a 送刀具号:mov dptr,#4001h mov a,#9dh movx dptr,a mov dptr,#4000h mov a,5fh movx dptr,a lcall 延时l ljmp ll5冷却液启动: mov a,59h clr acc.2 mov 59h,a mov dptr,#4100h movx dptr,a lcall 延时l ljmp ll5 冷却液停: mov a,59h setb acc.2 mov 59h,a mov dptr,#4100h movx dptr,a lcall 延时l ljmp ll5主轴启动: clr p1.2 ljmp ll5主轴停: setb p1.2 ljmp ll5 夹紧: mov a,59h clr acc.0 mov 59h,a mov dptr,#4100h movx dptr,a lcall 延时l ljmp ll5放松: mov a,59h setb acc.0 mov 59h,a mov dptr,#4100h movx dptr,a lcall 延时l ljmp ll5x上: inc r3 cjne r3,#6,ll7 mov r3,#0 ll7: mov r0,#50h mov c,5h mov 4h,c mov r1,#90h lcall bcd码加1 ll8: mov dptr,#六拍表首址 mov a,r3 movc a,a+dptr mov dptr,#4702h movx dptr,a lcall 延时l ljmp ll5 x下: dec r3 cjne r3,#0ffh,ll9 mov r3,#5 ll9: mov r0,#50h mov c,5h mov 4h,c mov r1,#90h lcall bcd码减1 ljmp ll8y 上: inc r4 cjne r4,#6,ll10 mov r4,#0 ll10: mov r0,#53h mov c,6h mov 4h,c mov r1,#93h lcall bcd码加1 ll11: mov dptr,#六拍表首址 mov a,r4 movc a,a+dptr mov dptr,#4701h movx dptr,a lcall 延时l ljmp ll5 y 下: dec r4 cjne r4,#0ffh,ll12 mov r4,#5 ll12: mov r0,#53h mov c,6h mov 4h,c mov r1,#93h lcall bcd码减1 ljmp ll11 z 上: inc r5 cjne r5,#6,ll13 mov r5,#0 ll13: mov r0,#56h mov c,7h mov 4h,c mov r1,#96h lcall bcd码加1 ll14: mov dptr,#六拍表首址 mov a,r5 movc a,a+dptr mov dptr,#4700h movx dptr,a lcall 延时l ljmp ll5 z 下: dec r5 cjne r5,#0ffh,ll15 mov r5,#5 ll15: mov r0,#56h mov c,7h mov 4h,c mov r1,#96h lcall bcd码减1 ljmp ll14 回零: push 60h mov 60h,#5 mov r0,#22h la3: mov r0,#0 inc r0 cjne r0,#2eh,la3 mov a,52h anl a,#0f0h swap a mov 30h,a mov a,52h anl a,#0fh mov 31h,a mov a,51h anl a,#0f0h swap a mov 32h,a mov a,51h anl a,#0fh mov 33h,a mov a,50h anl a,#0f0h swap a mov 34h,a mov a,50h anl a,#0fh mov 35h,a mov a,55h anl a,#0f0h swap a mov 36h,a mov a,55h anl a,#0fh mov 37h,a mov a,54h anl a,#0f0h swap a mov 38h,a mov a,54h anl a,#0fh mov 39h,a mov a,53h anl a,#0f0h swap a mov 3ah,a mov a,53h anl a,#0fh mov 3bh,a mov a,58h anl a,#0f0h swap a mov 3ch,a mov a,58h anl a,#0fh mov 3dh,a mov a,57h anl a,#0f0h swap a mov 3eh,a mov a,57h anl a,#0fh mov 3fh,a mova, 56h anl a,#0f0h swap a mov 40h,a mov a,56h anl a,#0fh mov 41h,a mov a,59h mov c,acc.5 mov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子控制四轮驱动装置合作协议书
- 抗击八国联军课件教学
- 扫黄打非安全培训总结课件
- 2025年协和学校考试题目及答案
- 2025年江西消防考试题目及答案
- 2025年初级监理考试题目及答案
- 2025年艺术结业考试题目及答案
- 弱电项目招标文件
- 联衡中学考试真题及答案
- 情感家庭教育培训课件
- 2025秋人教版(2024)七年级上册英语学期教学计划
- 【初一】【七年级】【语文上】【秋季】开学第一课《“语”你相遇今朝》【课件】
- 2024年司法考试完整真题及答案
- 思想道德与法治全册教案
- 公共政策分析陈庆云
- 人音版六年级上册音乐全册教案含教材分析
- 螺杆式冷水机组招标技术要求
- 高处作业吊篮安装验收表(范本模板)
- 主要负责人任职证明
- 沥青搅拌设备项目说明(参考模板)
- 质量环境职业健康安全内审检查表
评论
0/150
提交评论