




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东华理工大学长江学院毕业设计(论文) 摘要摘 要用单片机控制步进电机的驱动电源是近年来发展起来的一种新型步进电机驱动电源的控制方式。利用单片机控制步进电机不仅灵活、方便、便于实现、编程容易、节约成本,并且结构简单、可靠性好、抗干扰能力强,因此可在工业领域中得到广泛运用。单片机对步进电机的控制有串行控制和并行控制两种方式。本设计采用串行控制方式,此方式下单片机控制系统与步进电机驱动器之间只有两条控制线。一条发出时钟脉冲信号来控制步进电机的转速;另一条发出转向信号控制步进电机的转向。这两个信号都是送入步进电机驱动器的输入端,驱动器中含有环行分配器,对步进电机励磁方式的控制和控制脉冲的分配都是由环行分配器来完成的。由于单片机控制系统与驱动器之间只有两条控制线,从而使系统结构大为简化。控制系统按速度控制的要求从时钟脉冲控制线发出相应的控制脉冲即可对步进电机的转速进行控制。当需要恒速运行时,就发出恒定频率的控制脉冲;当需要加速运行时,就发出频率递增的控制脉冲;当需要减速运行时,就发出频率递减的控制脉冲;当需要锁定状态时,只需要停止发脉冲并通入直流电就可以了。 关键词:单片机系统; 控制; 步进电机; 环行分配器东华理工大学长江学院毕业设计(论文) ABSTRACTABSTRACTStep-by-steps the electrical machinery actuation power source with the monolithic integrated circuit control is one kind which the recent years developed new step-by-steps the motor-driven power source control mode.Step-by-steps the electrical machinery nimbly not only using the monolithic integrated circuit control, convenient, is advantageous for the realization, the programming easily, the frugal cost, and structure simple, reliability good, antijamming ability, therefore may obtain the widespread utilization in the industry domain.The monolithic integrated circuit to step-by-steps the electrical machinery control to have the serial control and parallel controls two ways.This design uses the serial control mode, under this way the monolithic integrated circuit control system with step-by-steps between the electrical machinery driver only then two pilot wires.Sends out the clock pulse signal to control step-by-steps the electrical machinery rotational speed; Another sends out changes the signal control to step-by-step electrical machinery change.These two signals all are send in step-by-step the electrical machinery driver input end, in the driver include move in a circle the divider, to step-by-steps the electrical machinery excitation way control and the control pulse assignment all is by moves in a circle the divider to complete.Because between monolithic integrated circuit control system and driver only then two pilot wires, thus causes the system structure is greatly the simplification.The control system sends out the corresponding control pulse according to the speed control request from the clock pulse pilot wire then to step-by-step the electrical machinery rotational speed to carry on the control.When needs the constant speed movement, sends out the constant frequency the control pulse; When needs to accelerate the movement, sends out the control pulse which the frequency increases progressively; When needs to decelerate moves, sends out the control pulse which the frequency decreases progressively; When needs to lock the condition, only needed to stop sending the pulse and passing over the direct current to be possible.Key words: Single-chip microcomputer system; Control; stepping motor; ring distributor 东华理工大学长江学院毕业设计(论文) 目录目 录绪论11.1 引言11.1.1 步进电机驱动技术发展11.1.2 国外驱动器发展概况11.1.3 国内驱动器概况21.1.4 步进电机驱动软件的发展状况31.2 提出问题31.3 列举设计方案31.4 确定设计方案41.4.1 明确课题任务41.4.2 确定设计方案41.5 研究内容和方法51.5.1 研究内容61.5.2 研究方法61.6课题研究的意义6第2章 三相反应式步进电机及硬件电路82.1 步进电动机概述82.2 三相反应式步进电机的结构和原理82.3 单片机对步进电机的控制原理92.4硬件电路的组成部分9第3章 控制系统软件设计103.1 软件设计思想103.2 程序流程图103.2.1 正反转程序流程图103.2.2 加减速控制程序流程图113.2.3 键输入程序流程图133.2.4 定时器中断服务程序流程图143.2.5 步进电机驱动子程序流程图153.2.6 数码管显示程序流程图163.3 程序清单173.3.1 主程序设计173.3.2 步进电机驱动子程序设计173.3.3正向运行的子程序193.3.4反向运行子程序193.3.5 8255初始化程序193.3.6数码管显示子程序203.3.7 加减速控制程序203.3.8 位控制程序213.3.9 定时器中断服务子程序213.3.10 键输入程序223.3.11 去键抖动程序23第4章 控制系统可靠性设计264.1 抗干扰措施设计264.1.1 软件抗干扰措施26第5章 不足与展望27致 谢28参考文献29东华理工大学长江学院毕业设计(论文) 绪论绪论1.1 引言1.1.1 步进电机驱动技术发展步进电机驱动技术的发展与伺服系统的发展密切相关。目前,世界上的伺服系统可归为步进电机系统、直流电机伺服系统、交流电机伺服系统。交流伺服电机系统由于没有电刷磨损和换向火花,维护简单,可靠性高,高速性优越,在二十世纪八十年代开始应用至今,显示出强大的生命力,但其伺服系统复杂,价格较贵。直流伺服电机系统的性能较好,但制造和维护成本较高,目前已有被交流伺服取代的趋势。步进电机系统由于发展较早,电机成本低、可靠性好、结构简单、驱动电源成本不高,因而具有良好的市场竞争力。1现阶段,单片机控制技术应用越来越广泛,其核心技术是单片机控制系统的设计。对电机控制的基本电路要以单片机为控制核心,组成数据处理电路,在检测和控制软件支持下,调整和控制功率电路的工作状态,同时检测输出电流大小,进行电流的控制。市电经整流滤波、功率校正电路变成直流电送入功率变换电路(DC/DJ),功率变换电路在脉冲宽度调制电路(PWM)和单片机的控制下输出稳定的直流电压。用户可根据需要通过键盘设定开关电源输出的电压值及最大输出电流值,单片机系统自动对电源输出电压和电流进行数据采样,并与用户给定数据进行比较,然后根据设置的调整算法控制开关调整电路,使电源输出电压符合给定值。单片机在调整电源输出电压的同时还要检测电路的输出电流,当输出电流超过给定值时,就启动保护电路,实现保护功能。【5】为了使智能开关电源能可靠、安全地工作,本系统设置了多重监测和保护系统,主要包括过流保护和短路保护。1.1.2 国外驱动器发展概况对步进电机的控制,国外主要采用步进电机及相应的细分驱动器,很多半导体公司早已将单片机用于电机的控制。国外对步进电机驱动技术的研究一直很活跃。目前,国外对步进电机的控制与驱动的一个重要发展方向是大量采用专用芯片,结果是大大缩小了驱动器的体积,明显提高了整机的性能,比较典型的芯片有两类。一类芯片的核心是用硬件和微程序来保证步进电机实现合理的加减速过程,同时完成计长走步、正反转等。对于开环使用的步进电机,实现合理的加减速过程便可使其达到较高的运行频率而不失步或过冲。例如日本的PPMC101B便是这种芯片。采用这类专用集成电路,可驱动35相电机,可选择励磁方式;转速精确,设定的转速范围宽、加减速的过渡时间及上升陡度可根据负载选定;此外还有单步运转和不同的停止方式等功能。另一类芯片的核心是实现细分技术,例如日本东芝公司的TA7774H二相步进电机细分控制芯片,其内部集成了PWM斩波控制和函数型双极驱动电路细分控制功能。TA8435H是东芝公司推出的一款步进电机专用驱动芯片。采用TA8435H构成步进电机驱动器,利用82C53输出步进脉冲的设计方案具有占用CPU时间短、编程容易、结构简单、成本低、可靠性好、抗干扰能力强等优点,因此可在控制和测量领域中得到广泛应用。目前由于集成芯片受到耐压、电流容量的限制,一般只能用于小功率步进电机的驱动。3近年来,国外许多厂商相继推出了多种步进电机控制与驱动芯片和多种不同功率等级的功率模块,仅由几个专用芯片和一个功率模块便可构成一个功能齐全、性能优异的步进电机驱动器,例如意大利SGS公司的L297和L298构成的四相定电流斩波驱动器就属此类。1.1.3 国内驱动器概况步进电机系统由于发展较早,电机成本低、可靠性好、结构简单、驱动电源的成本不高,因而具有良好的市场竞争力,国内出现的经济型数控机床及其高档产品绝大多数使用步进电机系统作为伺服结构。常州宝来电器有限公司生产的BL系列步进电机驱动器为模块式。产品采用恒流斩波,脉宽调制驱动方式,使用电压范围宽,电流可调,具有低噪音,高可靠性等特点。广州数控DY3系列三相混合式步进电机驱动器采用交流伺服控制原理,在控制方式上增加了全数字式电流环控制,三相正弦电流驱动输出,使三相混合式电机运行时低速无爬行,无共振区,噪音小;驱动器功放级的电压达到DC325伏,步进电机高速运转仍然有高转矩输出;具备短路、过压、欠压、过热等完善保护功能,可靠性高;具有细分和半流功能。有多种细分选择,最小步距角可设为0.036。常州德昌电子电器厂生产的DCH30806驱动器是三相混合式步进电机驱动器。驱动电为24V70V,直流供电;正弦波细分恒流驱动;最大输出驱动电流6A/相;最大30000步/转的十六种细分模式可选;输入信号光电隔离;可适应共阳、共阴、单/双脉冲多种模式;脱机保持功能;提供节能的自动半电流锁定功能。8上海市赛格电子生产以下型号的混合式步进电机驱动器:SM201、SM202、SM60、SM62等各种型号的高细分高性能驱动器。可根据不同步进电机的电流需求选择相应的驱动器。细分方式可以是2、4、8、16、32、64、256,或者2、5、10、20、40。电流调档设定,可驱动电流符合的国内外各种四相两相混合式步进电机。111.1.4 步进电机驱动软件的发展状况在微型计算机出现以前,步进电机的控制完全由硬件实现。比如环形分配器,就是由多个标准数字集成电路按照逻辑真值表组合而成,不同类型的电机、不同的工作方式就需要有不同的环形分配器,如果更换了电机类型或改变工作模式,则整个硬件电路需要重新设计。随着单片机的迅速普及,基于软件为核心的通用环形分配器得到了广泛的应用,此类环形分配器仅需更换不同的软件即可适应各种电机,无需变更硬件,具有极大的灵活性。此外,在步进电机的速度控制中,我们寻求的最佳升降速曲线是根据步进电机的动力学特性及矩频特性得到的,在数学上这种曲线方程是比较复杂的,人们很难找到一种硬件电路来模拟它,只能在一定频段内做一种比较大的近似来拟合。现在我们可以通过软件编程来精确的模拟升降速曲线,并且结合当前微型计算机的强大计算功能可实现步进电机的最优化控制。7驱动系统的发展现状表明,在步进电机驱动的研究中,国外所采用的集成技术由于涉及到微电子技术、集成电路加工技术、电力电子技术的前沿,不易在国内开发出来,因而我们利用国外的半导体器件和集成元件设计出适合我国国情的高性能驱动器是比较现实的做法。1.2 提出问题传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的,但此种控制方法工作方式单一且难于实现人机交互,当步进电机的参数发生变化时,需要重新进行控制器的设计。而且由传统的触发器构成的控制系统具有控制电路复杂、控制精度低、生产成本高等缺点。为了克服传统控制器的缺点,满足工业生产新的控制要求,在此设计一种以单片机为核心的新型控制器。1.3 列举设计方案常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应 式步进一般为三相,可实现大转矩输出,步进角一般为1.5度;混合式步进是指混合了永磁式和反应 式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。方案一:单片机对永磁式步进电机的控制其特点是:永磁式步进电动机(PM).它的出力大,动态性能好;但步距角一般比较大 方案二:单片机对反应式步进电机的控制其特点是:反应式步进电动机(VR).它的结构简单,生产成本低,步距角可以做的相当小 方案三:单片机对混合式步进电机的控制其特点是:混合步进电动机(HB).它综合了反映式和永磁式两者的优点,步距角小,出力大, 1.4 确定设计方案本设计所选的是方案二单片机对三相反应式步进电机的控制,因其结构简单成本低等优点 1.4.1 明确课题任务单片机对步进电机的控制有如下几项要求:(1)为用户使用方便,需要实现人机交互。(2)为实现对不同相数的步进电机进行控制而不更换控制器的要求,需要实现励磁方式的可控性。(3)要求实现步进电机的转速可控和旋转角度可控。(4)要求有足够的控制精度。1.4.2 确定设计方案 通过对控制系统的分析,确定了如下的设计方案:(1)确定系统的I/O点数和通道:输入和输出量的确定:输入量:主要是键盘输入。输出量: 步进电机的驱动信号和LED数码管显示信号。输入、输出通道的确定:除了键盘/显示器的输入/输出外,输出通道还有驱动步进电机信号的输出通道。(2)选择单片机:根据控制系统所要求的控制精度、响应速度、开发环境、I/O点数、输入/输出通道数等情况选择了MCS-51系列的8位单片机8051,其具有4KB ROM和256B RAM,因此不需要进行存储器的扩展。(3)确定键盘/显示器。本设计需要一个82的键盘和一个6位的显示器,它们的接口电路采用8255A。8255A是有Intel公司生产的NMOS器件,输入和输出与TTL电平兼容。电源电流最大值为120mA,具有3个8位的并行I/O口,有三种工作方式,可通过编程改变其功能,使用灵活,通用性强。因此,本设计键盘和显示部分选用8255A芯片。(4)设计单片机控制系统图:单片机步进电机驱动驱动驱动脉冲分配器键盘输 入数码管显示图1-1单片机对步进电机控制系统图步进电机接口电路与单片机连接时,为了可靠地实现信号隔离,减少输入输出设备对单片机系统的电信号干扰,需要用光电耦合器。1.5 研究内容和方法本课题的主要任务是设计一个单片机对步进电机进行控制的控制系统,主要研究内容和方法如下。1.5.1 研究内容(1)主要研究内容是通过单片机对步进电机的正转,反转,转速,步距角进行控制。(2)用6位LED显示器组成高亮度的显示电路来显示步进电机的转速等运行参数。(3)用8255A作为键盘和显示电路的接口芯片。(4)用PMM8713作为步进电机的接口芯片。(5)设计单片机控制系统的硬件电路。(6)编写控制系统主程序,绘制程序流程图。1.5.2 研究方法主要研究方法是:用单片机原理及其接口技术,通过软硬件相结合的方法实现对步进电机的工作状态和工作参数的控制。单片机对步进电机的控制有串行控制和并行控制两种方式。本设计采用的是串行控制方式,此方式下单片机控制系统与步进电机驱动器之间只有两条控制线。一条发出时钟脉冲信号来控制步进电机的转速;另一条发出转向信号控制步进电机的转向。这两个信号都是送入步进电机驱动器的输入端,驱动器中含有环行分配器,对步进电机励磁方式的控制和控制脉冲的分配都是由环行分配器来完成的。由于单片机控制系统与驱动器之间只有两条控制线,从而使系统结构大为简化。控制系统按速度控制的要求从时钟脉冲控制线发出相应的控制脉冲即可对步进电机的转速进行控制。当需要恒速运行时,就发出恒定频率的控制脉冲;当需要加速运行时,就发出频率递增的控制脉冲;当需要减速运行时,就发出频率递减的控制脉冲;当需要锁定状态时,只需要停止发脉冲就可以了。因此,可以方便地对电动机的转速进行控制。转向控制线可实现对步进电机转向的控制,当输出高电平“1”时,环行分配器按正方向进行脉冲分配,步进电机正向旋转;当输出低电平“0”时,环行分配器按反方向进行脉冲分配,步进电机反方向旋转。1.6课题研究的意义随着工业技术的发展和电机相关产业的进步,电机驱动器的要求在不断提高。现在驱动器不仅要求稳定性好,还要便于实现。另外,经济型数控机床的普及发展趋势,也要求电机驱动器具备更高的可靠性。传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的,由此种方法构成的控制系统具有电路复杂、灵活性差、控制精度低、生产成本高、调试和维护麻烦等缺点。在本设计中应用单片机接口技术,使用大规模集成电路PMM8713设计了一种新型的步进电机控制系统,这种控制系统具有集成度高、电路简单、成本低、控制精度高、调试和维护方便等优点。这种步进电机的接口电路,可以通过对单片机的设定,用同一种电路,实现对各种励磁方式下3、4相步进电机的控制和驱动,从而大大提高了接口电路的灵活性和通用性。通过本课题的研究,能全面巩固单片机及其控制技术的相关知识和技能;能掌握步进电机的运行原理及控制方法;能了解芯片的选择、程序的编写、软硬件的配合、各种抗干扰措施的应用等方面的知识。总之,本设计既能结合工业生产生活的实际又能达到本次毕业设计的要求。31东华理工大学长江学院毕业设计(论文) 三相反应式步进电机及硬件电路第2章 三相反应式步进电机及硬件电路2.1 步进电动机概述步进电动机是一种将电的脉冲信号转换成相应的角位移或线位移的机电元件,通俗的讲,就外加一个脉冲信号于这种电动机时,它就运行一步。步进电机的种类很多,一般分为反应式、混合式、永磁式、直线式四大类,其中反应式和混合式比较常用。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。6虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。2.2 三相反应式步进电机的结构和原理 本设计中选用的是三相反应式步进电机,下面对其结构和原理作进行简要的说明。反应式步进电机又为磁阻式步进电机,如图2-14所示,这是一台三相电机,定子铁心有硅钢片叠成,定子上有6个磁极(大齿),共有3套控制绕组,绕在径向相对的两个磁极上的一套绕组为一相。转子也是由叠片铁心构成,转子上没有绕组,转子只有4个齿,齿宽等于定子的极靴宽。反应式步进电机的是利用凸极转子横轴磁阻与直轴磁阻之差所引起的反应转矩而转动的。当A相控制绕组通电,而B相和C相不通电时,由于磁通具有力图走磁阻最小路径的特点,所以转子齿1,3的轴线与定子A极轴线对齐。同理,当断开A相,接通B相时,转子便按逆时针方向转过30度,使转子齿2,4的轴线与定子B轴线对齐。断开B相,接通C相,转子再转过30度,使转子齿1,3的轴线与C极轴线对齐。如此按A-B-C-A顺序不断接通和断开控制绕组,转子就会一步步地按逆时针方向连续转动。其转速取决与各控制绕组通电和断电的频率(即输入脉冲的频率),旋转方向取决于控制绕组轮流通电的顺序。若上述电机通电顺序改为A-C-B-A则电机转向变为顺时针。7这种按A-B-C-A方式运行的称为三相单三拍运行。所谓“三相”,指此步进电机具有三相定子绕组;“单”是指每次只有一相绕组通电;“三拍”指三次换接为一个循环,第四次换接重复第一次的情况。除了这种运行方式外,三相步进电机还可以三相六拍和三相双三拍运行。三相六拍运行的供电方式是A-AB-B-BC-C-CA-A这时,每一循环换接6次,共有6种通电状态。三相双三拍的运行方式是AB-BC-CA-AB方式供电。这时,与单三拍运行时一样,每一循环也是换接3次,共有3种通电状态,但不同的是每次换接都同时有两相绕组通电。2.3 单片机对步进电机的控制原理单片机对步进电机的控制有串行控制和并行控制两种方式。本设计采用的是串行控制方式,此方式下单片机控制系统与步进电机驱动器之间只有两条控制线。一条发出时钟脉冲信号来控制步进电机的转速;另一条发出转向信号控制步进电机的转向。这两个信号都是送入步进电机驱动器的输入端,驱动器中含有环行分配器,对步进电机励磁方式的控制和控制脉冲的分配都是由环行分配器来完成的。由于单片机控制系统与驱动器之间只有两条控制线,从而使系统结构大为简化。控制系统按速度控制的要求从时钟脉冲控制线发出相应的控制脉冲即可对步进电机的转速进行控制。当需要恒速运行时,就发出恒定频率的控制脉冲;当需要加速运行时,就发出频率递增的控制脉冲;当需要减速运行时,就发出频率递减的控制脉冲;当需要锁定状态时,只需要停止发脉冲就可以了。因此,可以方便地对电动机的转速进行控制。转向控制线可实现对步进电机转向的控制,当输出高电平“1”时,环行分配器按正方向进行脉冲分配,步进电机正向旋转;当输出低电平“0”时,环行分配器按反方向进行脉冲分配,步进电机反方向旋转。122.4硬件电路的组成部分本设计采用的是8051单片机,利用功率放大来控制三相反应式步进电机。硬件部分包过时钟电路设计、复位电路设计、键盘和显示部分设计、步进电机控制系统设计、功率放大电路设计、光电耦合部分设计及电源电路设计东华理工大学长江学院毕业设计(论文) 控制系统软件设计第3章 控制系统软件设计3.1 软件设计思想软件系统采用MCS-51单片机汇编语言编写,时钟晶振为6MHz,故每条指令周期为2S。根据设计任务的要求进行正反转控制、加减速控制、键输控制等,并根据功能要求进入各个功能模块。主要设计的子程序有步进电机驱动子程序、正向运行子程序、反向运行子程序、定时器中断服务子程序等。在步进电机控制系统中单片机的主要作用是产生脉冲序列,它是通过8051单片机的P1口发送的。系统软件编制采用定时中断产生脉冲序列,不使用软件延时,不占用CPU。CPU在非中断时间内可以处理其他事件,唯有到了中断时间驱动步进电机一个脉冲信号。三相反应式步进电机工作方式为三相单三拍,通电顺序为:A-B-C-A。如果按照上述通电顺序,步进电机反转;反之,如果通电顺序相反,则步进电机正向转动。103.2 程序流程图3.2.1 正反转程序流程图P1.0=1?正转?绝对位置加1步数减1越界?步数=0重装定时常数报警停机停机绝对位置减1NNYYYNYN改变P1.0状态退出图3-1 主流程图3.2.2 加减速控制程序流程图控制步进电机的运行速度,实际上是控制系统发出时钟脉冲的频率或换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减小。 P1.0=1正转级步数=0越界恒速步数=0恒速加速绝对位置减1绝对位置加1报警停机重装定时系统加速步数减1,级步数减1减速一级计算级步数减速步数减1,级步数减1加速一级计算级步数指针指向减速恒速步数减1减速步数=0加速步数=0级步数=0停机减速一级,计算级步数指针指向恒速NYNYYNYNNYYNYNYNN改变P1.0状态退出图3-2 加减速控制流程图3.2.3 键输入程序流程图有键闭合否?调用显示子程序延时6ms键入键号A判断闭合键键号栈二次调用显示子程序延迟12ms调用显示子程序延迟6ms闭合键释放否?有键闭合否?返回开始图3-3 键输入流程图3.2.4 定时器中断服务程序流程图: 保护现场取控制模块关中断恢复现场输出控制模块禁止定时器中断指向下一控制模块恢复模型起始地址步数够否?是控制模块结束标志否?开始返回否是否是图3-4 定时器中断流程图3.2.5 步进电机驱动子程序流程图:当D/ J = 0 时,连续给环形脉冲分配器脉冲时可实现步进电机反转运行;当D/ J = 1 时,连续给环形脉冲分配器时可实现步进电机的正转运行;且正反转的速度与所给脉冲的频率成正比关系。 入口方向输入D/J=0是否结束?是否结束?给脉冲电机反转给脉冲电机正转返回NNYYYN图3-5 步进电机驱动流程图3.2.6 数码管显示程序流程图:RC0,RC5,RC6和R8口都设成高阻态RC0口输出高电平LED1显示字符送R8口延时置R8口为高阻态,熄灭LED3,再令RC6为高阻态LED3显示字符送R8口RC6口输出高电平置R8口为高阻态,熄灭LED2,再令RC5为高阻态延时LED2显示字符送R8口RC5口输出高电平置R8口为高阻态,熄灭LED1,再令RC0为高阻态共阳数码管显示程序延时图3-6 数码管显示流程图3.3 程序清单3.3.1 主程序设计ORG0000HMOT_DRVB:AJMPMAIN;转主程序ORG000BH;T0中断矢量(中断程序入口)LJMPTO_T0SEV;转T0中断服务程序TO_T0SEVMAIN:MOVSP,#0D0H;设堆栈指针MOV6CH,#N;设N为基本运算初值MOV6DH,#90H;预存步1(SETP1)相位脉冲ACALLSTP_DRV;调用步进电机驱动程序ACALLTO_T0SEV;调用T0中断服务子程序ACALLCW;调用正转子程序ACALLCCW;调用反转子程序ACALLAA;调用定时器中断服务子程序ACALLPOS;调用步进电机的位置控制程序ACALLJAJ;调用步进电机的加减速控制程序ACALLBEGIN;调用8255初始化程序ACALLDIR;调用显示子程序ACALLSOMP_ PRG : ; 其它相关程序SJMPSOMP_PRG;3.3.2 步进电机驱动子程序设计STP_DRV:MOVA,6CH;步进电机驱动子程序(取N值)JZFDRT_END;N=0(非法),退出RLA;RLA;INC A;MOV6CH,A;4N+1送回6CH单元MOVP1,#0F0H;预开总相位开关MOVTMOD,#21H;T0初始化为16位定时器MOVTH0,#0EEH;MOVTL0,#05H;5ms延迟后,才开各相位开关SETBEA;打开总中断SETBET0;允许T0中断SETBTR0;开定时器T0FDRT_END:RET;返回TO_T0SEV:PUSHACC;T0中断服务子程序PUSHPSW;JB37H,TO_SV2;37H=1为控制结束标志MOV TH0,#0F8H;MOVTL0,#0CDH;2ms定时MOVA,6DH;MOVP1,A;输出相位控制脉冲MOVC,ACC.4;RRC A;CLRACC.3;循环移位,得到下步控制脉 冲MOV6DH,A;保存DJNZ6CH,TO_RET;总步数未到,循环;否则退出TO_VS1:SETB37H;关电机前延时10毫秒标志MOVP1,#0F0H;关各相位开关,只留总相位开关MOVTH0,#0DBH;MOVTL0,#0FFH;10ms定时SJMPTO_RET;TO_SV2:MOVP1,#0F8H;10ms延时到,关所有开关CLRET0;禁止T0中断CLRTR0;关T0定时器CLR37H;清10ms延时标志TO_RET:POPPSW;POPACC;恢复现场RETI;中断返回3.3.3正向运行的子程序:ORG1000HCW:SETBP1.1;设置正向CLP:SETBP1.0;脉冲高LCALLDELAY1;延迟1CLRP1.0;脉冲低LCALLDELAY2;延迟2DJNZR1,CLP;够步数?RET3.3.4反向运行子程序:ORG12FFHCCW:CLRP1.1;设置反向CCLP:SETBP1.0;脉冲高LCALLDELAY1;延迟1CLRP1.0;脉冲低LCALLDELAY2;延迟2DJNZR1,CLP;够步数?RET3.3.5 8255初始化程序:MOV DPTR,#OFF7FH ;控制字送控制口MOV A, #OBH ;MOVX DPTR,A ;对PC5置1ACALL DELAY ;延时DEC A ;MOVX DPTR,A ;对PC5置03.3.6数码管显示子程序:PLAY: MOV R0,#DISSTART ;取显示单元首地址 MOV R1, #0FEH MOV R2,#08H ;显示8个数码管PLAY1: MOV A,R0 ;取当前显示单元地址 MOV DPTR,#TAB ;取表头地址 MOVC A,A+DPTR ;查表获得显示地址 MOV LED_DATA,A ;显示数据 MOV P2,R1 ;显示当前位 MOV A,R1 ;准备显示下一位 RL A MOV R1, A INC R0 ;取下一个显示单元地址 CALL DELAY1MS ;延时 DJNZ R2,PLAY1 ;重复显示下一个 MOV P2,#0FFH ;关闭显示 RET3.3.7 加减速控制程序:实现对步进电机的控制,微机应能输出有一定周期的控制脉冲。步骤是:先输出一个高电平,延时一段时间后,再输入一个低电平,然后再延时。改变延时时间的长短,即可改变脉冲的周期,脉冲的周期由步进电机的工作频率确定。程序如下: PULSE:MOV R3,#NUM PUSH A PUSH PSWLOOP: SETB P1.0 ACALL DELAY1 CLR P1.0 ACALL DELAY2 DJNZ R3, LOOP POP PSW POP A RET3.3.8 位控制程序: #include”8051io.h” ;一般I/O定义#include”8051bit.h” ;位设定/取消宏定义#include”8051reg.h” ;8051寄存器定义setbit(P1.7) ;设为高电位clrbit(P1.7) ;设为低电位cplbit(P1.7) ;位取反3.3.9 定时器中断服务子程序:本设计使用定时器T0,工作方式1。设用于改变速度的定时常数存在内部RAM30H(低八位)和31H(高八位)中,则定时器中断服务子程序为:ORG2000HAA:CPLP1.0;改变P1.0的电平状态PUSHACC;PUSHPSWCLRCCLRTR0; 停定时器MOVA,TL0; 取TL0当前值ADDA,#08H; 加八个机器周期ADDA,30H; 加定时常数(低八位)MOVTL0,A; 重装定时常数(低八位)MOVA,TH0; 取TH0当前值ADDCA,31H; 加定时常数(高八位)MOVTH0,A; 重装定时常数(高八位)SETBTR0; 开定时器POPPSW; POPACCRETI;返回3.3.10 键输入程序:ORG 0000HSJMP STARTORG 0013HLJMP KEYINT1 ;转到外部中断1服务程序,取出按键键值ORG 0080HSTART: MOV SP, #60H MOV P2,#0FFH ;初始状态 SETB IT1 ;下降延触发 SETB EX1 ;允许外部中断1 SETB EA ;开总中断允许 MOV LEDVAL1,#0CH ;0Bh为“”在表格中的偏移位置 MOV LEDVAL2, #0CH MOV LEDVAL3, #0CH MOV LEDVAL4, #0CH MOV LEDVAL5, #0CH MOV LEDVAL6, #0CH MOV LEDVAL7, #0CH MOV LEDVAL8, #0CH MOV R0, #0F7H ; MOV R1,#LEDVAL1 ;R1指向数码管显示值缓存区的首地址 MOV R2,#06H ;循环扫描次数,有6个数码管要显示 MOV DPTR, #DISPTAB ;段码值存放的表格3.3.11 去键抖动程序: K1 BIT P1.4 K2 BIT P1.5 K3 BIT P1.6 K4 BIT P1.7 FLAG0 BIT 20H.0 ;LED0标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河北中兴冀能实业有限公司高校毕业生招聘(第三批)模拟试卷及一套完整答案详解
- 房屋租赁合同二手5篇
- 初级咖啡考试题库及答案
- 2025年国际护士考试试题及答案
- 2025年贵州省遵义市辅警招聘考试题题库(含参考答案)
- 畜牧饲养技术引进及责任承担合同
- 特岗考试知识点题目及答案
- 船舶轮机员考试题及答案
- 售后服务流程卡客户问题解决与反馈工具
- 单招汽修专业考试题库及答案
- 2025年合肥公交集团有限公司驾驶员招聘180人笔试参考题库附带答案详解
- 2024年上海市大数据中心招聘真题
- GB/T 46104-2025电解水制氢系统功率波动适应性测试方法
- 信贷档案管理培训课件
- 2025年网络安全监测预警体系建设实施方案评估报告
- 2025年会计继续教育网络答题真题及答案
- (2025)安全知识竞赛试题(附完整答案)
- 2025年辅警招聘考试(行政职业能力测验)复习题及答案
- 2025年海南事业单位联考笔试历年典型考题及考点剖析附带答案详解
- 2025年水发集团有限公司招聘(216人)备考练习试题及答案解析
- 试验检测资金管理办法
评论
0/150
提交评论