本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)_第1页
本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)_第2页
本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)_第3页
本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)_第4页
本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)/本科毕业设计基于单片机的步进电机运动方式控制(电路图可画-程序可用-proteus仿真)摘要随着数字化技术发展,数字控制技术得到了广泛而深入的应用。步进电动机由于其将电脉冲信号转换成相应的角位移或线位移的微电动机,最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制与制动等,并且用其组成的开环系统既简单、廉价,又非常可行。因此,随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,并且在打印机、手工业自动控制、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、数控机床等办公自动化设备以与各种控制装置等众多领域有着极其广泛的应用。步进电机是一种将电脉冲转化为角位移的执行机构,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本设计基于Proteus设计环境,运用了AT89C51芯片、数码管显示电路和步进电机以与7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转与调速系统。绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。该步进电机的正反转与调速系统具有控制步进电机正反转的功能,还可以对步进电机进行两档调速。关键词:步进电机,时序控制,正反转,调速AbstractWiththedevelopmentofdigitaltechnology,digitalcontroltechnologyhasbeenappliedwidelyanddeeply.Steppingmotorbecauseofitsmicromotorelectricpulsesignalintocorrespondingangulardisplacementorlineardisplacement,itsmostprominentadvantageisthatbychangingthepulsefrequencyinawidefrequencyrangetoachievespeed,quickstartandstop,positivecontrolandbraking,andthecompositionoftheopen-loopsystemissimple,cheap,andverypractical.Therefore,withthedevelopmentofmicroelectronicsandcomputertechnology,thedemandofsteppingmotorgrowwitheachpassingday,andintheprinter,thehandicraftindustryautomaticcontrol,combinedmachinetool,robot,computerperipheralequipment,camera,hasanextremelywiderangeofapplicationsinmanyfields,projector,digitalcamera,CNCmachinetoolsandotherofficeautomationequipmentandvariouscontroldevice.Steppingmotorisakindofelectricalpulsesintoangulardisplacementoftheimplementingagencies,itsworkingprincipleistheuseofelectroniccircuit,thepowersupplywillbeaDCcomponent,phasesequencecontrolcurrent,thecurrentinthemotorpowersupplyforthestep,stepmotortoworkproperly,powerdriverforstepmotortime-sharing,multi-phasesequentialcontroller.Popularpointofview:whensteppingdrivereceivesapulsesignal,itdrivessteppermotorrotateinthedirectionsetbyafixedangle(i.e.stepangle).Youcannumberofpulsestocontroltheangulardisplacementofthecontrol,soastoachievethepurposeofaccuratepositioning;atthesametime,youcancontrolthepulsefrequencytocontrolmotorrotationspeedandacceleration,soastoachievethepurposeofspeed.TheProteusdesignenvironmentbasedonAT89C51chip,use,digitaltubedisplaycircuitandsteppermotorand7smallpowerdrivechipULN2003A,buttons,lightsandotherauxiliaryhardwarecircuit,thedesignofthesteppermotorpositiveinversionandspeedregulationsystem.Drawtheflowchartofthesoftware,thesoftwaredesignandprogramthesourceprogram,thejointdebuggingofhardwareandsoftwaresystem.Positiveinversionandspeedcontrolsystemofthesteppingmotorisreversingthesteppermotorcontrolfunction,butalsoonthesteppermotortwostallspeed.Keywords:Steppermotor,timingcontrol,reverse,speed目录TOC\o"1-2"\h\z\u摘要 I1绪论 11.1课题背景 11.2设计要求 12方案论证 22.1控制方式的确定 22.2驱动方式的确定 23硬件设计 33.1硬件总体介绍 33.2步进电机 33.3单片机 83.4转向显示电路 123.5数字显示电路 143.6步进电机驱动电路 183.7按键电路 204软件设计 224.1主程序流程图 224.2步进电机运行子程序流程图 234.3显示子程序流程图 245设计仿真 255.1KeiluVision4模拟仿真 255.2proteus模拟仿真 26结论 30致谢 31参考文献 32附录1 33附录2 34附录3 391绪论1.1课题背景现在社会,对精度的要求越来越高,特别是在空调、航空等方面,通风口打开多少度、太阳能帆板展开多少度等等的要求非常高,而普通电机达不到这样的精度,这时就需要用到步进电机。步进电机最早是在1920年由英国人所发明,它是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。1.2设计要求本次毕业设计是基于单片机的步进电机运动方式控制系统。简而言之就是要求用单片机控制一台步进电机的运转,实现步进电机正转、反转,并且可以同时可以实现加速、减速。同时采用proteus软件进行系统仿真。本文所采用的步进电机是一台四相八拍步进电机,采用的单片机是AT89C51单片机,采用的放大驱动器是ULN2003。采用汇编语言编程,单片机输出的信号经过ULN2003的放大来驱动步进电机运转。通过改变步进电机通电相序改变步进电机转速,通过改变每步之间的延时长短来改变步进电机的转速。2方案论证2.1控制方式的确定步进电机控制是一个比较精确的。步进电机开环控制系统具有成本低、简单、控制方便等优点。在采用单片机的步进电机开环系统中,控制系统的脉冲的频率或者换向周期实际上就是控制步进电机的运行速度。系统可用两种办法实现步进电机的速度控制。一种是定时,一种是延时。定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号,从而可方便的控制系统输出脉冲的周期。当定时器启动后,定时器从装载的初值开始对系统与其周期进行加计数,当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序。将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。由于从定时器装载完重新启动开始至定时器申请中断止,有一定的时间间隔,造成定时时间增加,为了减少这种定时误差,实现精确定时,要对重装的计数初值作适当的调整。调整的重装初值主要考虑两个因素一是中断响应所需的时间。二是重装初值指令所占用的时间,包括在重装初值前中断服务程序重的其他指令因。用定时中断方式来控制电动机变速时,实际上是不断改变定时器装载值的大小。此方法较为复杂,控制不简便,并且占用中断功能,故不采用。延时方法是在每次换向之后调用一个延时子程序,待延时结束后再执行换向,这样周而复始就可发出一定频率的脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和,就是脉冲的周期,该方法简单,占用资源少,全部由软件实现,调用不同的子程序可以实现不同速度的运行,并且不占用中断功能,故采用延时方法。2.2驱动方式的确定步进电机的驱动一般有两种方法:一种是通过CPU直接来驱动,这种方法一般不宜采用,因为CPU的输出电流脉冲是特别小的它不能足以让步进电机的转动;别一种是通过CPU来间接驱动,就是把从CPU输出的信号进行放大,然后直接驱动或是再通过光电隔离间接来驱动步进电机,这种方法比较安全可靠。故本次设计应采用CPU间接驱动步进电机。3硬件设计3.1硬件总体介绍本次设计,采用AT89C51作为单片机控制,P0口串接反相器连接驱动电路ULN2003,用来驱动步进电机,P1口输出显示电路,P2口实现显示电路的动态显示以与正反转指示灯的控制。P3口实现中断功能。总体设计方框图如图3-1所示ATAT89C51单片机ULN2003驱动电路步进电机时钟电路数码管显示电路图3-1总体设计方框图复位电路按键电路3.2步进电机步进电机是将电脉脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。3.2.1步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。图3-2步进电机虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉与到机械、电机、电子与计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。3.2.2步进电机在构造上有三种主要类型:反应式(VariableReluctance,VR)、永磁式(PermanentMagnet,PM)和混合式(HybridStepping,HS)。反应式:定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2°、但动态性能差、效率低、发热大,可靠性难保证。永磁式:永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5°或15°)。混合式:混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。按定子上绕组来分,共有二相、三相和五相等系列。最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。该种电机的基本步距角为1.8°/步,配上半步驱动器后,步距角减少为0.9°,配上细分驱动器后其步距角可细分达256倍(0.007°/微步)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。3.2.3步进电机和驱动器的选择方法:判断需多大力矩:静扭矩是选择步进电机的主要参数之一。负载大时,需采用大力矩电机。力矩指标大时,电机外形也大。判断电机运转速度:转速要求高时,应选相电流较大、电感较小的电机,以增加功率输入。且在选择驱动器时采用较高供电电压。选择电机的安装规格:如57,86,110等,主要与力矩要求有关。确定定位精度和振动方面的要求情况:判断是否需细分,需多少细分。根据电机的电流、细分和供电电压选择驱动器。通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率与电动机各相绕组的通电顺序来控制步进电机的转动。3.2.通常见到的各类电机,内部都是有铁芯和绕组线圈的。绕组有电阻,通电会产生损耗,损耗大小与电阻和电流的平方成正比,这就是我们常说的铜损,如果电流不是标准的直流或正弦波,还会产生谐波损耗;铁心有磁滞涡流效应,在交变磁场中也会产生损耗,其大小与材料,电流,频率,电压有关,这叫铁损。铜损和铁损都会以发热的形式表现出来,从而影响电机的效率。步进电机一般追求定位精度和力矩输出,效率比较低,电流一般比较大,且谐波成分高,电流交变的频率也随转速而变化,因而步进电机普遍存在发热情况,且情况比一般交流电机严重。1、相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。2、拍数:完成一个磁场周期性变化所需脉冲数。导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A。3、步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度/(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。4、定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以与机械误差造成的)。5、静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压与驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热与机械噪音。3.21、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。2、失步:电机运转时运转的步数,不等于理论上的步数。称之为失步。3、失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。4、最大空载起动频率:电机在某种驱动形式、电压与额定电流下,在不加负载的情况下,能够直接起动的最大频率。5、最大空载的运行频率:电机在某种驱动形式,电压与额定电流下,电机不带负载的最高转速频率。6、运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。其它特性还有惯频特性、起动频率特性等。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。要使平均电流大,尽可能提高驱动电压,采用小电感大电流的电机。7、电机的共振点:步进电机均有固定的共振区域,二、四相感应子式的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。8、电机正反转控制:当电机绕组通电时序为AB-BC-CD-DA或()时为正转,通电时序为DA-CD-BC-AB或()时为反转。3.2.6步进电机是将脉冲信号转换为角位移或线位移。一是过载性好。其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,步进电机使用时对速度和位置都有严格要求。二是控制方便。步进电机是以“步”为单位旋转的,数字特征比较明显。三是整机结构简单。传统的机械速度和位置控制结构比较复杂,调整困难,使用步进电机后,使得整机的结构变得简单和紧凑。测速电机是将转速转换成电压,并传递到输入端作为反馈信号。测速电机为一种辅助型电机,在普通直流电机的尾端安装测速电机,通过测速电机所产生的电压反馈给直流电源,来达到控制直流电机转速的目的。1、电机旋转的角度正比于脉冲数;2、电机停转的时候具有最大的转矩(当绕组激磁时);3、由于每步的精度在百分之三到百分之五,而且不会将一步的误差积累到下一步因而有较好的位置精度和运动的重复性;4、优秀的起停和反转响应;5、由于没有电刷,可靠性较高,因此电机的寿命仅仅取决于轴承的寿命;6、电机的响应仅由数字输入脉冲确定,因而可以采用开环控制,这使得电机的结构可以比较简单而且控制成本;7、仅仅将负载直接连接到电机的转轴上也可以极低速的同步旋转;8、由于速度正比于脉冲频率,因而有比较宽的转速范围。3.21、如果控制不当容易产生共振;2、难以运转到较高的转速;3、难以获得较大的转矩;4、在体积重量方面没有优势,能源利用率低;5、超过负载时会破坏同步,高速工作时会发出振动和噪声。3.2.1、能够提供较快的电流上升和下降速度,使电流波形尽量接近矩形。具有供截止期间释放电流流通的回路,以降低绕组两端的反电动势,加快电流衰减。2、具有较高韵功率与效率。步进电机驱动器,它是把控制系统发出的脉冲信号转化为步进电机的角位移,或者说:控制系统每发一个脉冲信号,通过驱动器就使步进电机旋转一个步距角。也就是说步进电机的转速与脉冲信号的频率成正比。所以控制步进脉冲信号的频率,就可以对电机精确调速;控制步进脉冲的个数,就可以对电机精确定位。步进电机驱动器有很多,应以实际的功率要求合理的选择驱动器。3.3单片机3.自1946年第一代电子计算机研制成功后,计算机的发展经历了电子管计算机、晶体管计算机、集成电路计算机和大规模集成电路计算机4个阶段,即我们通常所说的第一代、第二代、第三代和第四代计算机时代。现在广泛使用的微机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微机的一个分支。自1971年微机问世以来,由于实际应用的需要,微机向着两个不同的方向发展:一是朝高速度、大容量、高性能的高档微型方向发展;二是朝稳定可靠、体积小和价格低廉的单片机方向发展。但两者在原理和技术上是紧密联系的。单片机,就是把中央处理器(Centra;ProcessingUnit,CPU)、随机存取存储器(RandomAccessMemory,RAM)、只读存储器(ReadOnlyMemory,ROM)、定时器/计数器以与输入/输出(Input/Output,I/O)接口电路等主要计算机部件,集成在一块集成电路芯片上的微机。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微型系统的属性,为此称它为单片微机(SingleChipMicroComputer,SCMC),简称单片机。3.3.2单片机发展与应用3.3单片机的发展分以下4个阶段。第一代:20世纪70年代后期,4位逻辑控制器件发展到8位,使用NMOS工艺(速度低。功耗大、集成度低),代表产品有MC6800,Intel8048.第二代:20世纪80年代初,采用CMOS工艺,并逐渐被高速、低功耗的HMOS工艺代替,代表产品有MC146805和Intel8051。第三代:近十年来,MCU(MicroControllerUint,微控制器)的发展出现了许多新特点。(1)在技术上,有可扩展总线型向纯单片型发展,即只能工作在单片方式。(2)MCU的扩展方式从并行总线型发展出各种串行总线。(3)将多个CPU集成到一个MCU中。(4)在降低功耗,提高可靠性方面,MCU工作电压已降至3.3V。第四代:FLASH的使用使MCU技术进入了第四代。现在可以说是单片机百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,为单片机的应用用提供了广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势大致如下。1.低功耗CMOS化MCS-51系列的8031推出时的功耗达630mW,而现在的单片机功耗普遍都在100mW左右。随着对单片机功耗的要求越来越低,现在单片机制造商基本都采用了互补金属氧化物半导体工业(CMOS)。例如80C51就采用了高密度金属氧化物半导体工艺(HMOS)和互补高密度技术氧化物半导体工艺(CHMOS)。CMOS虽然功耗较低,但由于其物理特征决定了其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合在要求低功耗如电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。2.微型单片化现在常规的单片机普遍都是将CPU、RAM、ROM、并行和串行通信接口、中断系统、定时电路、时钟电路集成在一块单一的芯片上;增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗),有些单片机将液晶(LED)驱动点亮都集成在单一的芯片上,这样单片机包含的单元点亮就更多,功能更强大。有些单片机厂商甚至还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,其体积也要小。目前,许多单片机都具有多种封装样式,其中表面封装(SMD)越来越受欢迎,使得由单片机构成的系统朝着微型化的方向发展。3.主流与多品种共存现在的单片机的品种繁多,各具特色,以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机,以80C51为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近几年的单片机产量与日俱增,以其低价质优的优势,占据一定的市场份额。此外还有Motorola公司的产品,以与日本几大公司的专用单片机。在一定的时期内,这种情形将仍将延续,而不存在某品牌单片机一统天下的垄断局面,走的是一寸互补、相辅相成、共同发展的道路。3.3自单片机诞生以来的近30年中,单片机已有70多个系列的近500个机种。8051系列单片机产品繁多,主流地位已经形成,今年来推出的与8051兼容的主要产品有:ATMEL公司融入Flash存储器技术的AT89系列;Philips公司的80C51,80C552系列华邦公司的W78C51,W77C51高速低价系列;ADI公司的ADuC8xx高精度ADC系列;LG公司的GMS90/97低压高速系列;Maxim公司的C8051F系列高速SOC单片机Cygnal公司的C8051F系列高速SOC单片机。非8051结构单片机新品不断推出,给用户提供了更为广泛的选择空间,今年来推出的非8051系列的主要产品有:Intel的MCS-96系列16位单片机;Microchip的PIC系列RISC单片机;TI的MSP430F系列16位低功耗单片机。3.3单片机的应用主要体现在以下几个方面。(1)在工业自动化方面。如过程控制、数据采集和监控技术、机器人技术、机械电子计算机一体化技术。(2)在仪器仪表方面。如测试仪表和医疗仪器——数字化、智能化、高精度、小体积、低成本。,便于增加显示报警和自诊断功能。(3)在家用电器方面。如冰箱、洗衣机、空调机、微波炉、电视机、音响设备等。(4)在信息和通信产品方面。如计算机的键盘、打印机、磁盘驱动器、传真机、复印机、电话机、考勤机。(5)在军事方面。如飞机、大炮、坦克、军舰、导弹、火箭、雷达等。3.单片机系统分为硬件部分和软件部分。单片机系统的硬件部分主要由单片机和外围器件构成,如图3-3所示:运算器CPU寄存器组控制器片内内存单片机片外中断控制逻辑并行I/O通用接口串行UART定时/计数器T/C定时/计数器:8253模数转换器:ADC0809数模转换器:DAC0832外围器件(片外扩展接口)串行通信扩展:8251并行通信扩展:8255A,8155驱动器DSP等图3-3单片机组成3.3MCS-51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。上电复位:上电复位电路是—种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。电路图如图3-4:图3-4上电复位电路图上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。3.3时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路图如图3-5:图3-5时钟电路AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。3.4转向显示电路本次设计中,步进电机正反转运转信息由发光电路显示。发光电路采用发光二极管显示。其中,绿灯亮时指示步进电机正转,红灯亮时指示步进电机反转。图3-6发光二极管3.4.1基本介绍发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路与仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。这种电子元件早在1962年出现,早期只能发出低光度的红光,之后发展出其他单色光的版本,时至今日能发出的光已遍与可见光、红外线与紫外线,光度也提高到相当的光度。而用途也由初时作为指示灯、显示板等;随着技术的不断进步,发光二极管已被广泛的应用于显示器、电视机采光装饰和照明。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。3.4.2发光二极管的发光二极管只能往一个方向导通(通电),叫作正向偏置(正向偏压),当电流流过时,电子与空穴在其内复合而发出单色光,这叫电致发光效应,而光线的波长、颜色跟其所采用的半导体材料种类与掺入的元素杂质有关。具有效率高、寿命长、不易破损、开关速度高、高可靠性等传统光源不与的优点。白光LED的发光效率,在近几年来已经有明显的提升,同时,在每千流明的购入价格上,也因为投入市场的厂商相互竞争的影响,而明显下降。虽然越来越多人使用LED照明作办公室、家具、装饰、招牌甚至路灯用途,但在技术上,LED在光电转换效率(有效照度对用电量的比值)上仍然低于新型的荧光灯,是国家以后发展民用的去向。3.4.3LED的优点一、体积小LED基本上是一块很小的晶片被封装在环氧树脂里面,所以它非常的小,非常的轻。二、耗电量低LED耗电相当低,一般来说LED的工作电压是2-3.6V。工作电流是0.02-0.03A。这就是说:它消耗的电不超过0.1W。三、使用寿命长在恰当的电流和电压下,LED的使用寿命可达10万小时。四、高亮度、低热量LED使用冷发光技术,发热量比普通照明灯具低很多。五、环保LED是由无毒的材料作成,不像荧光灯含水银会造成污染,同时LED也可以回收再利用。六、坚固耐用LED是被完全的封装在环氧树脂里面,它比灯泡和荧光灯管都坚固。灯体内也没有松动的部分,这些特点使得LED可以说是不易损坏的。发光二极管具有单向导电性,且节能,只需5V电源,就可以驱动,AT89C51完全可以满足这个要求,但为了限流,串一个电阻。电路图如图3-8: 图3-8发光电路3.5数字显示电路本次毕业设计的显示电路主要用于显示步进电机的档位、转速等功能。可以用来显示转速信息的显示期间有很多,比如液晶屏,数码管等。但本次设计只需显示步进电机的转速,并不需要显示其它信息,如果采用液晶屏显示,程序太过于复杂,成本太高,所以用数码管显示。本次设计显示采用四位共阳极八段数码管。数码管是一种半导体发光器件,其基本单元是发光二极管。3.5.1数码管分类数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管;按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。3.5.2结构led数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。图3-910引脚的LED数码管3.5.3驱动方式概述数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象与发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。本次设计采用动态显示电路,由单片机P1口控制数码管段,由单片机的P2口的P2.3、P2.4、P2.5、P2.6控制数码管的位选择。电路图如图3-10所示:图3-10数码管动态显示电路3.5.4应用范围数码管是显示屏其中一类,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。数码管实物如图3-11:图3-11数码管实物图自行代码与16进制的转换驱动代码表:如表3-1表3-1共阳极数码管驱动段码表显示数值dpgfedcba驱动代码(16进制)000111111C0H100000110F9H201011011A4H301001111B0H40110011099H50110110192H60111110182H700000111F8H80111111180H90110111190HA0111011188HB0111110083HC00111001C6HD01011110A1HE0111100186HF011100018EH_01000000BFH.100000007FH熄灭00000000FFH3.6步进电机驱动电路3.6.1概述步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电动机和步进电动机驱动器构成步进电机驱动系统。步进电动机驱动系统的性能,不但取决于步进电动机自身的性能,也取决于步进电动机驱动器的优劣。对步进电动机驱动器的研究几乎是与步进电动机的研究同步进行的。3.6.2系统控制步进电动机不能直接接到直流或交流电源上工作,必须使用专用的驱动电源(步进电动机驱动器)。控制器(脉冲信号发生器)可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。3.6.3基本原理步进电机驱动器的原理,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。驱动器相当于开关的组合单元。通过上位机的脉冲信号有顺序给电机相序通电使电机转动。3.6.4组成结构步进电机驱动器主要结构主要有以下部分作用为:1.环行分配器根据输入信号的要求产生电机在不同状态下的开关波形。2.信号处理对环行分配器产生的开关信号波形进行PWM调制以与对相关的波形进行滤波整形处理。3.主开关电路用功率元器件直接控制电机的各相绕组。4.保护电路当绕组电流过大时产生关断信号对主回路进行关断,以保护电机驱动器和电机绕组。5.传感器对电机的位置和角度进行实时监控,传回信号的产生装置。3.6.5驱动器的选择步进电机的驱动器有很多种,常用的有ULN2003、LM297、LM298等等,这几种驱动电路的不同之处在于驱动能力的不同,ULN2003的驱动电路有500mA,可以驱动一些小型的电机,298,297可以带动2A以上的电机,当然若电机的功率更大,可以使用三洋的STK系列驱动集成块,价格当然也相对较高。但本次设计只需要驱动一个四相八拍的步进电机,ULN2003足以胜任,而且它的结构简单,价格便宜,使用方便。所以,本次毕业设计的驱动器采用ULN2003。3.6.6ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003的芯片引脚图如图3-12所示图3-12ULN2003芯片引脚3.6.774LS04由于ULN2003中有反相结构,而所编程序中不需要反相,于是在ULN2003后部串接一个74LS04反相器将信号再反过来。74LS04是一个六相反相器。反相器是可以将输入信号的相位反转180度,这种电路应用在摸拟电路,比如说音频放大,时钟振荡器等。在电子线路设计中,经常要用到反相器。其引脚功能图如图3-13所示:图3-1374LS04引脚功能图本次设计只用了1、2;3、4;5、6;8、9四组反相器。3.6.8驱动器接线图ULN2003由七个达林顿管组成,但本次毕业设计只用了前四位。74LS反相器由六组反相器组成,也只用前四位。具体电路图如图3-14所示:图3-14ULN2003接线图3.7按键电路该电机控制电路中共设置了四个按键,分别是启动、换向、加速、减速作用,如图3-15。设计中按键设置为共阴极,当按键按下时单片机电位被拉低。单片机检测到电位拉低,立即中断,再进行相应的启动、换向、加速、减速动作。图3-15按键电路4软件设计本次设计,采用四个中断,分别实现正转、反转、减速、加速,分别使用的是外部中断0、外部中断1、定时中断0、定时中断1。4.1主程序流程图主程序流程图如图4-1所示图4-1主程序流程图4.2步进电机运行子程序流程图步进电机运行子程序流程图如图4-2所示:图4-2步进电机子程序流程图4.3显示子程序流程图显示子程序流程图如图4-3所示:图4-3数码管显示子程序流程图图4-3显示子程序流程图5设计仿真本次设计采用KeiluVision4进行软件编译,采用proteus软件进行硬件仿真。5.1KeiluVision4模拟仿真2009年2月发布KeiluVision4,KeiluVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM[1]公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeiluVision4,其编译器、调试工具实现与ARM器件的最完美匹配。目前使用KeiluVision4的产品有KeilMDK-ARM,KeilC51,KeilC166和KeilC251。最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。uVision4在μVision3IDE的基础上,增加了更多大众化的功能。·多显示器和灵活的窗口管理系统·系统浏览器窗口的显示设备外设寄存器信息·调试还原视图创建并保存多个调试窗口布局·多项目工作区简化与众多的项目KeiluVision4由国内米尔科技提供销售和技术支持服务,他们是ARM合作伙伴,也是国内领先的工控板以与嵌入式解决方案提供商。本设计KeiluVision4编译图如图5-1所示所示:图5-1KeiluVision4编译图本设计KeiluVision4编译运行图如图5-2所示:图5-2KeiluVision4编译运行图5.2proteus模拟仿真Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机与外围器件。它是目前最好的仿真单片机与外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器本设计的Proteus仿真电路图如图5-3所示:图5-3Proteus仿真电路图上图为没有按下任何键,电机处于停转状态。当按下正转按钮时,步进电机开始正转,档位为1,同时数码管显示转速。其状态如图5-4所示:图5-4正转一档仿真运行图此时,按下加速按钮,步进电机以2档正转运行,其运行仿真图如图5-5所示:图5-6正转二挡仿真运行图此时按下反转按钮,步进电机以2档反转运行,其电路图如图5-7所示:图5-7反转二挡运行图此时,按下减速按钮,步进电机以一档反转运行,其运行仿真图如图5-8所示:图5-8反转一档运行图结论通过系统的设计实现了预期的设计目标,完成了全部的设计任务,具体功能如下:完成了整个系统的硬件设计和软件编程,能通过键盘电路控制步进电机的转速控制,能实现启动、正转、反转、加速、减速控制;通过编程实现了通过单片机能输出四相八拍的脉冲控制序列。整个电机的转速,转动方向,检测到的电机电流的大小等都能通过数码管显示出来;整个的成果形式是最终以步进电机控制电路仿真的形式展示出来了。由于在本次设计中更多的是注重整体功能的实现,注重的是操作简单,所以本系统采用了开环控制的方式,电机也是选用的最常用的步进电机。通过在本设计中的学习和查阅资料,想要得到更高性能的控制,可以选用混合式步进电机,采用闭环的细分驱动电路。此外,在设计的过程中考虑到时间和成本的问题,没有完成焊接出电路板的任务。仿真出的程序和显示状态与电路板的操作有点差距的,不能完全显示出步进电机的运行情况和数码管的稳定显示。所以建议以后有做类似设计任务或者实际应用的时候,尽量采用PCB电路板的形式,这样最大的好处就是硬件的可靠性高,外观美观简洁,尤其是在大量设计的时候,采用PCB电路板成本也不高,值得采用。致谢时光如梭,转眼四年的大学本科生活就要结束了,在大学四年学会了很多不仅在知识方面更重要的是在为人处世方面。回想起四年前那个刚刚踏进这所大学校门的我,有时候会偶尔的感到幼稚的好笑,深深的感受到了时间在自己身上留下的痕迹。两年的时间里有过欢笑也有过泪水,无论是好的还是不好的,都将是我人生中永远无法湮灭的美好的回忆。

人生就是如此吧,每个段落结束的时候,我们总会感慨时光飞逝。

曾经以为,离开学校的时候不会难过,毕竟,这已不是第一次离开校园。可在写下这篇致谢词的时候,眷恋和惆怅还是涌上心头。这两年,在我的生命历程中无疑是美丽的,它是我一辈子享受不尽的财富。

本论文是在姚广芹老师的悉心指导下完成的,姚老师对学术的严谨和精益求精的工作作风给我留下了深刻的印象,受益匪浅。在毕业设计期间,导师为我创造了优越的学习和实践环境,使我获取宝贵理论知识同时又在实践中不断提高自己。在思想上和人生态度等方面姚老师给予了谆谆教诲,老师严谨的治学作风、科研工作的不断探索、追求和勇于进取的工作精神、平易近人的态度使我受益匪浅,终生难忘,为了即将步入工作岗位的我做了表率作用。在此谨向姚老师表示由衷的敬意和诚挚的谢意!另外在论文的材料收集工作、论文写作过程中得到了很多同学帮助,使论文工作得到了顺利进行,在此,也向他们表示感谢!由衷感谢我的同学,他们对本论文的各种有益建议和帮助,使我的论文在讨论中不断获得进展。另外,感谢我的亲人,在他们的帮助和关怀下才得以完成学业。最后,感谢曾经帮助过我的所有老师,衷心地感谢为评阅本论文而付出宝贵时间和辛勤劳动的老师和教授们!参考文献[1]张家生.电机原理与拖动基础【M】.北京:北京邮电大学出版社,2006.[2]马淑华,王凤文,张美金.单片机原理与接口技术【M】.北京:北京邮电大学出版社,2007.[3]顾德英,张健,马淑华.计算机控制技术【M】.北京:北京邮电大学出版社,2006.[4]华成英,童诗白.模拟电子技术基础【M】.北京:高等教育出版社,2008[5]张靖武,周灵彬.单片机系统的PROTEUS设计与仿真【M】.北京:电子工业出版社,2007[6]张洪润,蓝清华.单片机应用技术教程【M】.北京:清华大学出版社,1997[7]秦曾煌.电工学【M】.北京:高等教育出版社,1999[8]于海生,等.微型计算机控制技术【M】.北京:清华大学出版社,1999[9]王福瑞,等.单片机微机测控系统设计大全【M】.北京:北京航空航天大学出版社,1998[10]陈理壁,步进电机与其应用【M】.上海:上海科学技术出版社,1989[11]刘保延,等.步进电机与其驱动控制系统【M】.哈尔滨:哈尔滨工业大学出版社,1997[12]季维发,过润秋,严武升等.机电一体化技术【M】.北京:电子工业出版社,1995[13]郭敬枢,庄继东,孔峰.微机控制技术【M】.重庆:重庆大学出版社,1994[14]刘国荣.单片微型计算机技术【M】.北京:机械工业出版社,1996[15]王福瑞.单片微机测控系统设计大全【M】.北京:北京航空航天大学出版社,1998[16]何立民.单片机应用技术选编【M】.北京:北京航空航天大学出版社,1993[17]潘新民等.片微型计算机实用系统设计1.北京:人民邮电出版社,1992[18]百度知道附录1附录2本次设计才用的是汇编语言。具体程序如下:ORG0000H;主程序起始地址设置AJMPMAIN;跳转到主程序入口ORG0003H;外部中断0地址设置AJMPINTR0;外部中断0入口ORG000BH;定时中断0地址设置AJMPEXTINT0;外部中断0入口ORG0013H;外部中断1地址设置AJMPINTR1;外部中断1入口ORG001BH;定时中断1地址设置AJMPEXTINT1;定时中断1入口MAIN:MOVR0,#0FFH;初始赋值MOVR7,#0FEH;初始赋值档位MOVA,#050H;初始赋值转速MOVP0,#00H;初始电机通电相清零START:MOVTMOD,#66H;计数器工作方式控制寄存器赋值,计数器方式2MOVTL0,#0FFH;定时中断0赋值MOVTH0,#0FFH;定时中断0赋值MOVTL1,#0FFH;定时中断1赋值MOVTH1,#0FFH;定时中断1赋值MOVIE,#8FH;中断允许控制寄存器赋值MOVIP,#2FH;中断优先级控制寄存器赋值MOVTCON,#50H;计数器寄存器赋值,开始计数MOVSP,#60HCMP1:CJNER0,#01,CMP2;R0不等01,跳转LCALLFOR;调用正转程序SJMPLOOP1;跳转到数码管显示程序CMP2:CJNER0,#02,CMP1;R0不等02,跳转LCALLREV;调用反转程序LOOP1:CJNER7,#0FFH,LOOP2;不等跳转LCALLDELA3;调用数码管显示子程序MOVP1,#0A4H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LCALLDELA4;调用数码管显示子程序MOVP1,#82H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LCALLDELA5;调用数码管显示子程序MOVP1,#00H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LCALLDELA6;调用数码管显示子程序MOVP1,#0A4H;数码管显示赋值LCALL DELA7;调用数码管延时子程序SJMPCMP1;跳转LOOP2:CJNER7,#0FEH,LOOP1;不等跳转LCALLDELA3;调用数码管显示子程序MOVP1,#0F9H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LCALLDELA4;调用数码管显示子程序MOVP1,#99H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LCALLDELA5;调用数码管显示子程序MOVP1,#30H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LCALLDELA6;调用数码管显示子程序MOVP1,#099H;数码管显示赋值LCALL DELA7;调用数码管延时子程序LJMPCMP1;跳转FOR:CLRP2.1;正转程序,正转指示灯亮SETBP2.2;反转指示灯灭MOVP0,#02H;步进电机2C相通电 LCALLDELAY;调用延时子程序 MOVP0,#06H;步进电机2C、3C相通电 LCALLDELAY;调用延时子程序 MOVP0,#04H;步进电机3C相通电 LCALL DELAY;调用延时子程序 MOVP0,#0CH;步进电机3C、4C相通电 LCALLDELAY;调用延时子程序 MOVP0,#08H;步进电机4C相通电 LCALLDELAY;调用延时子程序 MOVP0,#09H;步进电机4C、1C相通电 LCALLDELAY;调用延时子程序 MOVP0,#01H;步进电机1C相通电 LCALLDELAY;调用延时子程序 MOVP0,#03H;步进电机1C、2C相通电 LCALLDELAY;调用延时子程序 RET;子程序返回REV:SETBP2.1;反转程序,正转指示灯灭CLRP2.2;反转指示灯亮MOVP0,#03H;步进电机1C、2C相通电LCALLDELAY;调用延时子程序MOVP0,#01H;步进电机1C相通电 LCALLDELAY;调用延时子程序MOVP0,#09H;步进电机4C、1C相通电 LCALLDELAY;调用延时子程序MOVP0,#08H;步进电机4C相通电 LCALLDELAY;调用延时子程序MOVP0,#0CH;步进电机3C、4C相通电 LCALLDELAY;调用延时子程序MOVP0,#04H;步进电机3C相通电 LCALL DELAY;调用延时子程序MOVP0,#06H;步进电机2C、3C相通电 LCALLDELAY;调用延时子程序MOVP0,#02H;步进电机2C相通电 LCALLDELAY;调用延时子程序RET;子程序返回EXTINT0:MOVR0,#01;定时中断0,RETI;中断返回EXTINT1:MOVR0,#02;定时中断1RETI;中断返回INTR0:PUSHPSW;外部中断0PUSHACCCJNER7,#0FFH,ADD10;不等跳转MOVA,#0FFH;延时增加MOVR7,#0FFH;档位赋值AJMPADD11ADD10:INCR7;R7加一ADDA,#40H;延时增加ADD11:POPACCPOPPSW

温馨提示

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

评论

0/150

提交评论