36步进电机的毕业论文_第1页
36步进电机的毕业论文_第2页
36步进电机的毕业论文_第3页
36步进电机的毕业论文_第4页
36步进电机的毕业论文_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

沈阳理工大学学士学位论文PAGEPAGE52摘要单片机亦称微控制器,顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。单片机由于具有低成本、小体积、高可靠性、高附加值等优点,过去一个复杂电路才能实现的功能,现在用一个纯单片机芯片就能实现。因此,单片机控制系统正以空前的速度取代着经典电子控制系统。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。XL600试验仪配有一个标准的32位HT6121编码红外遥控器。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作。步进电机是将电脉冲信号转变为角位移或线位移的控制元件,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。基于AT89S52单片机,采用标准32位HT6121编码红外遥控器实现对步进电机的正转、反转。关键词:单片机;步进电机;红外遥控器AbstructAlsoknownassingle-chipmicrocontroller,asitsnamesuggests,thiscomputersystemhasonlythesmallestpieceofintegratedcircuitsusedtomakeasimplecalculationandcontrol.DuetoSCM’slow-cost,smallsize,highreliabilityandhighvalue-addedadvantages,Thefunctionswhichachievedwithacomplexcircuitofthepastwillbeabletoachievewithapuremicrocontrollerchiptoday.Therefore,theMCUcontrolsystemisatanunprecedentedratetoreplacetheclassicelectroniccontrolsystem.Steppermotorisanelectricalpulsewillbeconvertedintoangulardisplacementoftheimplementingagencies.Whenthestepperdrivepulsesignaltoareceiver,itdrivessteppermotordirectionbysettingafixedangleofrotation(referredtoas"stepangle"),itsangleofrotationisbasedonafixedstep-by-stepoperation.Cancontrolthepulsenumbertocontroltheamountofangulardisplacement,soastoachievethepurposeofaccuratepositioning;andatthesametimebycontrollingthepulsefrequencytocontrolthemotorrotationspeedandacceleration,soastoachievethepurposeofspeed.Steppermotorcontrolcanbeusedasaspecialmotor,donotusetheiraccumulatederror(accuracyof100%)thecharacteristicsofawiderangeofopen-loopcontrol.XL2000testerequippedwithastandard32-bitcodeinfraredremotecontrolHT6121.Universalinfraredremotecontrolsystembytransmittingandreceivingthetwomajorcomponents,theapplicationofencoder/decoderASICchipforcontroloperations.Steppermotoristheelectricalpulsesignalintoanangulardisplacementorlineardisplacementofthecontrolcomponents,inthecaseofnon-overloaded,themotorspeed,andstopdependingonthelocationofonlythefrequencyofpulsesandpulseafew,andnotsubjecttoloadchangesimpact.AT89S52-basedsingle-chip,usingstandard32-bitencodingHT6121Infraredremotecontrolforthesteppermotortoachieveapositiveturnandreverse.Keywords:MCU;SteppingMotor;Infraredremotecontrol目录摘要 IAbstruct II1绪论 11.1课题研究的目的及意义 11.2课题的研究方法 11.3论文构成及研究内容 12AT89S52单片机简介 22.1AT89S52介绍 22.2性能参数和引脚 22.2.1主要性能参数 22.2.1引脚功能及说明 22.3寄存器介绍 52.3.1特殊功能寄存器 52.3.2定时器2寄存器 52.3.3中断寄存器 52.3.4双数据指针寄存器 62.4存储器结构 72.4.1程序存储器 72.4.2数据存储器: 72.5中断 82.6晶振特性 93步进电机的控制原理及其单片机编程实现 113.1控制原理 113.2编程实例 134XLISP系列单片机综合仿真实验仪 154.1系统简介 164.2安装 164.2.1软件安装 164.2.2硬件安装 164.3ISP下载部分的应用 174.4XLISP系列仿真操作指南 17532位HT6121编码红外遥控器 195.1红外遥控器介绍 195.2HT6121编码红外遥控器结构 195.3HT6121编码红外遥控器原理 206本课题的软硬件设计 216.1硬件设计 216.1.1HT6121编码红外遥控器的设置 216.1.2HT6121编码红外遥控器的连接 216.1.3数码管的连接 216.1.4步进电机的连接 226.2软件设计 226.3电路原理图 30结论 31致谢 32参考文献 33附录A英文原文 34附录B中文翻译 411绪论1.1课题研究的目的及意义步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。1.2课题的研究方法采用红外遥控器作为单片机实现步进电机控制的输入端,当遥控器处于控制状态时,使用者每按下一个控制键,CPU从指定的存储单元中读取一系列的二进制数据,串行输出(位和位之间的时间间隔等于采样时的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制,从而控制步进电机一系列动作。1.3论文构成及研究内容本文主要讲述对步进电机的软硬件设计,硬件设计包括AT89S52单片机简介、红外线遥控器的原理、步进电机的结构、原理及应用,并通过实例介绍了单片机在电机控制方面的应用,详细阐述了用单片机来实现步进电机转动控制的原理和方法。根据这一原理及硬件的设计通过KEIL软件编写程序,经过反复运行和调试,最终实现了基于红外遥控用单片机控制步进电机运转的目的。2AT89S52单片机简介2.1AT89S52介绍AT89S52是美国ATMEI公司生产的低功耗,高性能CMOS8位单片机,片内含8Kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准80C51指令系统及引脚。它集Flash程序存储器既可在线编程也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S52单片机可为你提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.2性能参数和引脚2.2.1主要性能参数·与MCS—51产品指令系统完全兼容·8K字节在系统编程Flash闪速存储器·1000次擦写周期·4.0—5.5V的工作电压范围·全静态工作模式:0Hz—33MHz·三级程序加密锁·128*8字节内部RAM·32个可编程I/O口线·3个16位定时/计数器·8个中断源·全双工串行UART通道·低功耗空闲和掉电模式·中断可从空闲模式唤醒系统·看门狗及双数据指针·掉电标识和快速编程特性·灵活的在系统编程2.2.1引脚功能及说明·VCC:供电电压。

·GND:地。

·P0口是一组8位漏极开路型双向I/O口,也即是地址/数据线复用口。作为输出口用时每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0·P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,P1·P2口是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时候,P2口线上的内容,在整个访问期间不改变。Flash编程或校验时,P2·P3口是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3口除了作为一般的I/O线外,更重要的用途是它的第二功能,P3口还接收一些用于FlashP3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)·RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。·ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。·/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。·/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。·XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。·XTAL2:来自反向振荡器的输出。AT89S52管脚图见图2.1所示。

图2.1AT89S52管脚图2.3寄存器介绍2.3.1特殊功能寄存器特殊功能寄存器(SFR)的地址空间映象如表2.1所示。并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据,写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。2.3.2定时器2寄存器寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2.3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。2.3.3中断寄存器各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。表2.1AT89S52特殊功能寄存器映象及复位值2.3.4双数据指针寄存器为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H~83H的DP0和位于84H~85。特殊寄存器AUXR1中DPS=0选择DP0;DPS=1选择DP1(如图2.2所示)用户应该在访问数据指针寄存器前先初始化DPS至合理的值表2.2AUXR1辅助寄存器1表2.3T2CON定时器/计数器2控制寄存器2.4存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。2.4.1程序存储器如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。2.4.2数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV0A0H,#data使用间接寻址方式访问高128字节RAM。例如下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV@R0,#data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。2.5中断AT89S52有6个中断源:两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。这些中断如图2.2所示每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。如表2.4所示,IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。表2.4中断允许控制寄存器(IE)图2.2中断源2.6晶振特性如图2.7所示,AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图2.4所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。图2.3内部振荡电路连接图图2.4外部振荡电路连接图3步进电机的控制原理及其单片机编程实现控制原理步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统和精密机械等领域。例如,在仪器仪表,机床设备以及计算机的外围设备中(如打印机和绘图仪等),凡需要对转角进行精确控制的情况下,使用步进电机最为理想。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进电机靠一种叫环形分配器的电子开关器件,通过功率放大器使励磁绕组按照顺序轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动,随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、转子齿轮数有关。

现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合式步进电机和单相式步进电机等。其中反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现阶段,反应式步进电机获得最多的应用。

步进电机和普通电机的区别主要就在于其脉冲驱动的形式,正是这个特点,步进电机可以和现代的数字控制技术相结合。不过步进电机在控制的精度、速度变化范围、低速性能方面都不如传统的闭环控制的直流伺服电动机。在精度不是需要特别高的场合就可以使用步进电机,步进电机可以发挥其结构简单、可靠性高和成本低的特点。使用恰当的时候,甚至可以和直流伺服电动机性能相媲美。

步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。步进电机两个相邻磁极之间的夹角为60。。线圈绕过相对的两个磁极,构成一相(A-A’,B-B’,C-C’)。磁极上有5个均匀分布的矩形小齿,转子上没有绕组,而有40个小齿均匀分布在其圆周上,且相邻两个齿之间的夹角为9。。当某绕组通电时,相应的两个磁极就分别形成N-S极,产生磁场,并与转子形成磁路。如果这时定子的小齿与转子没有对齐,则在磁场的作用下转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前“走”一步。步进电机的控制方式如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动,从而实现数字角度的转换。转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。以三相步进电机为例,电流脉冲的施加共有三种方式。单相三拍方式——按单相绕组施加电流脉冲双向三拍方式——按双相绕组施加电流脉冲三相六拍方式——单相绕组和双相绕组交替施加电流脉冲单相三拍方式的每一拍步进角为3。,三相六拍的步进角则为1.5。因此,在三相六拍下,步进电机的运行反转平稳柔和,但在同样的运行角度与速度下,三相六拍驱动脉冲的频率需提高一倍,对驱动开关管的开关特性要求较高。步进电机的驱动方式步进电机常用的驱动方式是全电压驱动,即在电机步移与锁步时都加载额定电压。为了防止电机过流及改善驱动特性,需要限流电阻。由于步进电机锁步时,限流电阻要消耗掉大量的功率,故限流电阻要有较大的功率容量,并且开关管也要有较高的负载能力。步进电机的另一种驱动方式是高低压驱动,即在电机移动时,加额定或超过额定值的电压,以便在较大的电流驱动下,使电机快速移步;而在锁步时,则加低于额定电压,只让电机绕组流过锁步所需的电流值。这样,既可以减少限流电阻的功率消耗,又可以挺高电机的运行速度,但这种驱动方式的电路要复杂一些。驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现。现在,脉冲分配器已经标准化、芯片化、市场上可以买到。但硬件方法结构复杂,成本也较高。步进电机控制(包括控制脉冲的产生和分配)也可以使用软件方法,即用单片机实现,这样既简化了电路,也降低了成本。使用单片机以软件方式驱动步进电机,不但可以通过编程方法,在一定范围内自由设定步进电机的转速、往返转动的角度以及转动次数等,而且还可以方便灵活地控制步进电机的运行状态,一满足不同用户的要求。因此,常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。3.2编程实例进电机必须有驱动才可以运转,驱动信号必须是脉冲信号,没有脉冲信号的时候,步进电机停止,如果加入的脉冲信号,就会以一定的角度(成为步进角)转动。转动的速度与脉冲的频率成正比。步进电机有瞬间启动的急速停止的优越性。改变脉冲的顺序,可以改变转动的方向。XLISP系列套件采用的是12V步进电机,为了演示的方便,我们为他提供了5V的电源,此时转动力矩较小,我们也可以吧他应用为12V。该步进电机的耗电流为200ma左右,采用uln2003驱动,驱动端口为P1.0,P1.1,P1.2,P1.3.由于uln2003本身是一个反向器,因此在实际应用中我们在他前面设计了一个74ls14的反向器。使他最终的结果还是相同的。反转正转步数P1.0P1.1P1.2P1.303h1110006h201100ch3001109h41001步数P1.0P1.1P1.2P1.303h1110009h210010ch3001106h40110步进电机的正转程序:接线方式,用一根4PIN排线一端插入P1.0—P1.3,另一端插入步进电机JP31口。

loop:movR3,#0FFh

;30h送ff即-1

main:INCR3

mova,R3

tt:

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP1,A

;送显示

movr7,#5

decr7

lcalldelay

;延时一段时间

cjnea,#06H,main

;如果是最后一个数据重新开始

ljmploop

;

否则R3清除

ret

TAB:DB03H,09H,0CH,06H;步进电机正转表DELAY:;延时程序MOV

R5,#255

D3:MOVR2,#25

D4:DJNZR2,D4

DJNZR5,D3

RETEnd4XLISP系列单片机综合仿真试验仪4.1系统简介XLISP系列单片机综合仿真试验仪(以下简称XLISP系列)是深圳学林电子有限公司(51测试网)综合多年经验开发出的多功能8051单片机平台(兼容AVR/PIC单片机的部分烧写功能)。本系列目前包含XL600单片机试验仪和XL1000USB型单片机试验仪,集成常用的单片机外围硬件,ISP下载线,单片机仿真器,单片机试验板,编程器功能于一身,特别适合新手学习使用!XL600系统的特点:1全开放的模块化设计:所有硬件资源对用户开放,搭配随心所欲,不会出现硬件束缚软件的情况。既可学习软件,更可深入的了解硬件。2高品质的工艺:本机采用高档透明雅克力面板,铝合金外箱,全贴片机器生产,工艺精美绝伦!XL600的外包装,专业定做包装盒,尽显大家风范。包装尺寸:270*190*65毫米包装重量:1.2公斤XL600的外观采用铝合金包装,黑色双面PCB,全SMT工艺可能是您见到最为精美的单片机实验仪,豪华高贵,一见倾心。3超强的电路资源配备:集成了基本上所有单片机应用中可能遇到的功能模块部份,你再也不必要去找其他零件,即可轻松完成您所需要的开发任务。XL600实验仪硬件组成列表:基本试验资源数字硬件电路试验资源扩展试验资源高级应用试验8位按键开关(端口直接)74LS14反向器1602字符液晶屏(标配)步进电机(标配)8位发光管(端口指示)74LS164串入并出Dac0832数字-模拟89C2051核心监控(稳定高速)8位拨动开关(端口直接)74LS47数码管译码ADC0804模拟-数字18B20数字温度采集(可选)8位数码管显示(动态或者静态)74LS165并入串出24C02串行EPROM12864中文液晶0802(可选)小喇叭警报器(唱歌)74LS138译码器93C46EPROM红外线遥控(标配遥控器)16*16矩阵按键开关(行列式)MAX232串行通信单片机仿真(标配仿真头)ISP下载(单片机在线编程)。4完美的例子程序:集合本公司多年的经验,每个模块都有完整的带中文注释例子程序,原理图,接线方法,很多都可以直接拿来应用。快速提高您的硬件,软件编程水平。(以下是部分程序的截图,更多程序见光盘)。5所有端口全部采用防插反设计,均配有连接照片和中文注解,即便您是初学者,也能轻松掌握。7ISP下载CPU控制编程,不受电脑配置及操作系统影响,稳定性一流。可以作为一台独立的ISP下载线使用,支持芯片包括51/AVR/PIC各系列!同时在板上可以直接对89S51/52等等芯片编程,当作独立编程器使用。6配有40P外接仿真头,可以作为一台独立的51单片机硬件仿真器使用,通过KEILSOFT软件配合,即可对外部硬件以及板上资源实现单步调试,断点,全速等等全部功能。7全中文软件操作导航,独有智能一键通设计,擦除,写入,校验,运行自动完成,软件中英文自动选择,适合港台地区用户使用。特别设计的烧写实验仿真3IN1的公用卡座,CPU插上后即不需要插拔,烧写仿真等公用串口,使用极其方便简洁。4.2安装4.2.1软件安装(1)插入随机的驱动关盘,打开驱动程序\XLISP系列试验仪目录。(2)双击其中的setup.exe,按照提示,点下一步直接完成安装:如果提醒您系统文件过旧则需要重新启动计算机,重启后继续安装。(3)备份的免安装的全部文件,如果您确实没有办法安装,可以直接COPY该目录到您的硬盘,运行XLISP.EXE。另外不要忘记把所有的文件的只读属性去掉。4.2.2硬件安装(1)打开XLISP系列的包装。插入随机的串口线(9针对9针),然后插上随机的USB电缆(用于提供5V电源)。(2)按下电源开关,此时电源指示灯亮。同时注意XL600烧写指示灯亮大约1秒种后熄灭,此时表示系统自检正常!。4.3ISP下载部分的应用ISP(In-SystemProgramming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程,ISP技术是未来发展方向。XLISP系列的ISP部分是业界首创的具备传统编程器的可靠性与下载线的方便性于一身的前卫产品。通过单片机控制时序,232串行通信,彻底解决并口ISP兼容性、可靠性问题。将下载头的相关引脚引入目标板,即可方便快速的对目标板在系统编程。ISP下载部分支持的芯片列表:51系列单片机:AT89S51,AT89S52,AT89S53,AT89S8252,AT89LS51,AT89LS52,AT89LS53,AT89LS8252AVR系列单片机:AT90S2323,AT90S2343AT90S4433,AT90S8535ATmega16,ATmega16L,ATmega161,ATmega161L,ATmega163,ATmega32,ATmega32LATmega323,ATmega323L,ATmega64,ATmega64LATmega8,ATmega8L,ATmega8515,ATmega8515LATmega8535,ATmega8535LATtiny12,ATtiny12L,ATtiny13,ATtiny13LATtiny15,ATtiny15L,ATtiny22,ATtiny22L,ATtiny26,ATtiny26LPIC系列单片机:PIC16F870,PIC16F871,PIC16F872,PIC16F873,PIC16F874,PIC16F876,PIC16F877,PIC16F873A,PIC16F874A,PIC16F876A,PIC16F877AAT24CXX:AT24C01,AT24C02,AT24C04,AT24C08,AT24C16,AT24C32,AT24C64,AT24C128,AT24C4.4XLISP系列仿真操作指南概述:XLISP系列的仿真部份通过随机的SST89E564仿真监控芯片实现。通过和KEIL软件配合使用,不仅可以实现对板上资源的仿真,更可通过随机的40PIN仿真头对外接的目标板进行仿真。.可仿真89C51、89C52、89S51、89S52、89C58等等51内核的单片机。.直接支持KEILC51的IDE开发仿真环境。.USB/RS-232通讯接口,波特率4.8Kbps-57.6Kbps自适应。特别适合无串口的笔记本电脑用户。

.监控程序占用用户的资源少,全速运行不占用资源。

.片内63K程序空间可以随时进行在线程序更新。

.可单步、断点、全速、可参考变量、RAM变量。

.支持汇编、C语言,混合调试。.板载仿真头接口可以和任何的试验板、目标板进行连接,从而达到硬件仿真的无限扩展。硬件安装:首先将9针串口插头接到PC的串口上,比如COM1。然后连接好直流电源,将仿真芯片(不是at89s51)插入试验卡座并锁紧。(注意:此处是串口方式运行,如果是USB方式运行,那么插入USB线)如果直接仿真板上的资源,那么首先用随机的排线根据实验目的把相关IO端口连接到相关的硬件上,仿真结果直接体现到XL1000的试验板上。如果您需要仿真自己的目标板,把仿真头插入目标板,仿真结果将体现到您自己的目标板上。软件安装:直接拷贝光盘\开发工具\keil\到c盘的根目录,去掉所有文件的只读属性.(注意必须是c盘根目录,不要安装在其他目录)执行keil\uv2\uv2.exe即可(可将文件发送到桌面快捷方式)KEIL软件就是他的驱动软件。532位HT6121编码红外遥控器5.1红外遥控器介绍遥控器由红外接收及发射电路、信号调理电路、中央控制器、程序及数据存储器、键盘及状态指示电路组成。遥控器有两种状态:学习状态和控制状态。当遥控器处于学习状态时,使用者每按一个控制键,红外线接收电路就开始接收外来红外信号,同时将其转换成电信号,然后经过检波、整形、放大,再由CPU定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用。当遥控器处于控制状态时,使用者每按下一个控制键,CPU从指定的存储单元中读取一系列的二进制数据,串行输出(位和位之间的时间间隔等于采样时的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。5.2HT6121编码红外遥控器结构XLISP系列试验仪配有一个标准的32位HT6121编码红外遥控器。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。5.3HT6121编码红外遥控器原理当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。

6本课题的软硬件设计6.1硬件设计6.1.1HT6121编码红外遥控器的设置因为本实验的XLISP单片机仿真试验仪已经内配置一个HT6121的遥控器,所以只需对其进行按键编程设置即可。通过汇编程序,使得按遥控器0—9,步进电机正转,按遥控器11—19步进电机反转。HT6121编码红外遥控器的连接用一根IPIN数据线一端插入CPU部分JP53(P3口)的P3.7,另外一端插入红外遥控器部分的输出端JP45。6.1.3数码管的设置数码管动态扫描数据JP5口接P0口,数码管显示控制JP8口接P2口步进电机的连接步进电机采用的是ULN2003驱动,驱动端口为P1.0,P1.1,P1.2,P1.3。由于ULN2003本身就是一个反向器,因此在实际应用中我们在他们前面设计了一个74ls14的反向器,使他最终的结果还是同相。6.2软件设计应用KeilC51编程软件进行程序的编写,本程序设计要实现基于单片机通过红外遥控器来控制步进电机的转动状态。org00hJMPMAIN

ORG30HMAIN:

MOVP1,#0FFH

MOVP2,#0FFH

MOVP3,#0FFHSTART:

JBP3.7,$;等待遥控信号出现SB:

MOVR4,#8;8毫秒为高电平错误SBA:

MOVR5,#250SBB:

JBP3.7,SXB1

DJNZR5,SBB

DJNZR4,SBA

MOVR4,#2

JMPSBCSXB1:MOVR5,#5SXB2:;去掉20US的尖峰干扰信号

JNBP3.7,SBB

DJNZR5,SXB2

JMPSTARTSBC:

MOVR5,#250SB1:

JBP3.7,SB2;2MS内不为高电平错误DJNZR5,SB1

DJNZR5,SB1DJNZR4,SBC

JMPSTARTSB2:;去掉20US的尖峰干扰信号

MOVR5,#5SB2_A:

JNBP3.7,SB1

DJNZR5,SB2_A

MOVR4,#3SB2_1:

MOVR5,#250SB3:;监测4.5MS高电平,如3MS内出现低电平错误

JNBP3.7,SXC

DJNZR5,SB3

DJNZR4,SB2_1

MOVR4,#2

JMPSB3_1SXC:;去掉20US的尖峰干扰信号

MOVR5,#5SXC1:

JBP3.7,SB3

DJNZR5,SXC1

JMPSTARTSB3_1:;监测4.5MS高电平,如5MS内不为低错误

MOVR5,#250SB3_2:

JNBP3.7,SB4

DJNZR5,SB3_2

DJNZR4,SB3_1

JMPSTARTSB4:;去掉20US的尖峰干扰信号

MOVR5,#5SB4_1:

JBP3.7,SB3_2

DJNZR5,SB4_1

MOVR1,#1AH;设定1AH为起始RAM区

MOVR2,#4PP:MOVR3,#8JJJJ:

MOVR5,#250JJJJ2:;1MS内不为低电平错误

JBP3.7,JJJJ3

DJNZR5,JJJJ2

JMPSTARTJJJJ3:

LCALLYS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态

MOVC,P3.7;将P3.7状态0或1存入C中

JNCUUU;如果为0就跳转到UUU

MOVR5,#250JJJJ4:

JNBP3.7,UUU

NOP

DJNZR5,JJJJ4

JMPSTARTUUU:MOVA,@R1;将R1中地址的给A

RRCA;将C中的值移入A中的最低位

MOV@R1,A;将A中的数暂存在R1中

DJNZR3,JJJJ;接收地址码的高8位

INCR1;对R1加1,换成下一个RAM

DJNZR2,PP;接受完16位地址码和8位数据码和8位数据反码,存放在1AH/1BH/1CH/1DH的RAM中

;以下对代码是否正确和定义进行识别

MOVA,1AH;比较高8位地址码

XRLA,#00000000B;判断1AH的值是否等于00000000,相等的话A为0

JNZEXIT;如果不等解码失败退出

MOVA,1BH;比较低8位地址

XRLA,#11111111B;再判高8位地址是否正确

JNZEXIT;如果不相等说明解码失败退出LCALLYS3

MOVA,1CH;比较数据码和数据反码是否正确?

CPLA

XRLA,1DH;将1CH的值取反后和1DH比较不同则无效丢弃,核对数据是否准确

JNZEXIT;如果不相等说明解码失败退出LCALLYS3

CLRP2.6;选中数码管

CLRP3.3;解码成功喇叭响?

AJMPBIJIAO

;判断在118毫秒内是否有连发码AA:MOVR1,#25

XX:ACALLYS2

JNBP3.7,HH;跳转到HH

DJNZR1,XX

EXIT:;对所有端口清零

AJMPSTART

;连发码判断程序段

HH:MOVR6,#4

S:ACALLYS1;调用882微秒延时子程序

JBP3.7,EXIT;延时882微秒后判断P3.7脚是否出现高电平如果有就退出解码程序

DJNZR6,S;重复4次,目的是确认JNBP3.7,$;等待高电?

LCALLYS3

AJMPAABIJIAO:

MOVR0,#18;一共18个按键

MOVDPTR,#TAB_REM;遥控键值查表

LOOKUP_1:

MOVA,R0

;查表偏移量

MOVCA,@A+DPTR

XRLA,1cH

;比较键值

JZREM_BAK0

;相等转移

DJNZR0,LOOKUP_1

;直到18个健比较完毕

JMPEXIT

;都不对退出

REM_BAK0:

;键值处理

MOVA,R0

;R0

MOVR1,A

;

SUBBA,#9

;如果大于9则反转并将值减去9

JCREM_BAK1

;小余或等于9到正转

INCA

;加1

MOVR1,A

;查显示码表

MOVDPTR,#TABLE1

;

MOVCA,@A+DPTR

MOVP0,A

;送显示

CLRP2.6

;开显示REM_REV:

;反转程序

CALLREV

CALLdelay

;转速

DJNZR1,REM_REV

;转动的步数到了停止

JMPAA

REM_BAK1:

;正转程序

NOP

MOVA,R1

;按键数值判断执

MOVDPTR,#TABLE1

;查显示码表

MOVCA,@A+DPTR

MOVP0,A

;送显示

CLRP2.6

;开显示REM_FOR:

;正转

CALLFOR

CALLDELAY

DJNZR1,REM_FOR

JMPAA

for:movr0,#00h

;正转到tab取码指针初值

for1:mova,r0

;取码

movdptr,#table

;

movca,@a+dptr

jzFOREXT

;是否到了结束码00h

cpla

;把acc反向

movp1,a

;输出到p1开始正转

calldelay

;转动的速度

incr0

;取下一个码

jmpfor1

;继续正转

rev:movr0,#05h

;反转到tab取码指针初值

rev1:mova,r0

movdptr,#table

;取码

movca,@a+table

jzFOREXT

;是否到了结束码00h

cpla

;把acc反向

movp1,a

;输出到p1开始反转

calldelay

;转动的速度

incr0

;取下一个码

jmprev1

;继续反转

FOREXT:

RET

YS1:

MOVR4,#20

;延时子程序1,精确延时882微秒

D1:MOVR5,#20

DJNZR5,$

DJNZR4,D1

RET

YS2:MOVR4,#10

;延时子程序2,精确延时4740微秒

D2:MOVR5,#235

DJNZR5,$

DJNZR4,D2

RET

YS3:MOVR4,#2;延时程序3,精确延时1000微秒

D3:MOVR5,#248

DJNZR5,$

DJNZR4,D3

RET

TAB_REM:

;遥控的键值

DB00H

DB10H,03H,01H,06H,09H,1DH,1FH,0DH,19H

DB11H,15H,17H,12H,16H,4CH,40H,48H,04H

delay:

movr3,#40

;步进电机的转速20ms

m3:

movr2,#248

djnzr2,$

djnzr3,m3

ret

TABLE1:db28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h;数码管的码表

;0123456789

table:

db03h,09h,0ch,06h

;正转表

db00

;正转结束

db03h,06h,0ch,09h

;反转

db00

;反转结束

end电路原理图结论在本课题的硬件设计系统中,采用HT6121红外遥控器作为单片机的输入端,用于控制步进电机。单片机P0,P1,P2口作为设计的输出端口。AT89S52单片机的P0口作为数据输出口接到数码管的数据口,对其进行段选。P2口接到用来显示的数码管的显示位口,用作位选。P1口接步进电机。管脚P3.7接红外遥控部分的输出端JP45,用于实现HT6121遥控器对步进电机的控制。软件设计中,对遥控器的按键、步进电机通过汇编编程的设置进而控制步进电机不同的动作,如正转,反转等,使其按下不同的按键后,步进电机有相应的正反转和相应的正反转数。通过试验结果可以看出,用红外遥控器通过单片机来控制步进电机运动的方案是可行的,且软硬件设计原理及方案并不是十分复杂。由此可见,单片机在步进电机控制方面将会有更加广泛的应用。致谢本论文是在导师赵延东的悉心指导下完成的,在整个课题的过程中赵老师投入了大量的精力,给予我很多有益的指导和帮助,使得论文能够顺利完成。在此向赵老师表示忠心的感谢。由衷感谢我的父母。他们在二十多年中不吝对我的疼爱,给我自始至终的支持,给我包容、宽容,给我成长的勇气。正是他们二十多年无私的疼爱和关怀,才使得我能够不断进步成长。没有我亲爱的父母,就没有我的今天。最后,感谢所有关心我的老师、同学和朋友们。有太多一直关心我和帮助我的人,限于篇幅,这儿不能一一写下他们的名字。感谢这么多年以来一直关心我的成长的老师们,感谢这么多年以来一直关心我的奋斗的同学、朋友们。他们对我的所有关心和帮助,我都一一铭记于心。参考文献[1]张毅刚,澎喜源等.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2004[2]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,1999[3]蔡朝阳.单片机控制实习与专题制作[M].北京:北京航空航天大学出版社,2006[4]刘文涛.MCS-51单片机培训教程[M].北京:电子工业出版社,2005:141~145[5]孙育才,.王荣兴,孙华芳.新型AT89S52系列单片机及其应用[M].北京:清华大学出版社,2005:5~127[6]邵贝贝,龚光华.单片机认识与实践[M].北京:北京航空航天大学出版社.2006:45~89[7]严天峰.单片机应用系统与仿真调试[M].北京:北京航空航天大学出版社.2005:36~58[8]陈雪丽,单片机原理及接口技术[M].北京:化学工业出版社,2005:98~145[9]南建辉,熊鸣,王军茹.MCS—51单片机原理及应用实例[M].北京:清华大学出版社.2004:136~171附录A英文原文DesignofInfraredSignalEmissionBasedonMCS-51MicroprocessorZHANGHongnan,JIANGChao,HUANGYayou,andHUSaichunAbstract-Applicationspecificintegratedemissionchipsareincompatiblewithoneanotherintermsofthetelecontrol-codeformats,anobstaclefortheuniversalapplicationofremotecontrollers.InthispaperMCS-51microprocessorisusedtosimulatetheemissionofremotecodesbelongingtoPT2248chips,programsaredesignedtoproducespecifictelecontrol-codes,assistedbyperipheralcircuitstotransmittheinfraredsignal.Thewholesystemissimple,low-costandcanbeuniversallyused.KeyWord:MCU,infraredsignal,remotecodeI.INTRODUCTIONNOWADAYSapplicationspecificintegratedemissionchipsarewidelyusedtotransmitinfraredsignalofremotecontrol,suchasToshibaTC9012andPhilipsSAA3010T.Butthesevariousremotecontrollerscanonlyworkfortheircorrespondentcontrolobjects,becausetheformatofremotecodesbetweenthesechipsisalwaysincompatible.Souniversalitypresentsanissue[1]*InthisdesignweusealowcostMCS-51microprocessortosimulatetheemissionofremotecodesofPT2248(BT5048)chips.Wealsowriteappropriateprogramstoproducespecificremotecodesanddesignauxiliaryperipherycircuitstotransmittheinfraredsignal.Thewholesystemissimple,low-costandcanbeuniversallyused.[2].II.DESIGNPRINCIPLESOurdesignisconsistedofhardwaredesignandsoftwaredesign.A.DesignofHardwareThehardwarepartcanbedividedintotwoparts:localoscillatorandfrequencymixer.Itsfunctionistomodulatethe38ksquare-wavewithcodesproducedbythemicroprocessor.ThelocaloscillatorpartgeneratesaTTLsquare-waveof38k,whichemploysalowcostcapacitypositive-feedbackmultivibrator,asisshowninFig.1Thefrequencymixerpartmodulatesthethe38ksquare-wavewithtelecontrol-codesproducedbymicroprocessor.AccordingtotheformatofPT2248,whenthesignalofbasefrequencyis"0",outputwillbehighlevel.Whenthesignalofbasefrequencyis"1",the38kTTLsquare-wavewillbeproduced,asFig.2shows.thecircuitmeetrequirementswithNANDgatesalone,whichshareonechipwiththeoscillator,hencechipcostisreduced.TheentirecircuitofhardwarepartisshowninFig.3.theNANDgateisSN74HCTOONQUAD4-INPUTNANDgate.WeusethewavegeneratortoproduceTTLsquare-wave(f-36.5KHz)inordertosimulatetheoutputofmicroprocessor[3].Theoutputoflocaloscillatorandfrequencymixerischeckedwithanoscilloscope,andtheresultshowsthattheNANDgatecanrealizefrequencymixing.B.DesignofSoftwareTheeighteenbuttonsofPT2248inputunitformsa6X3matrixwhichconsistsofthebuttoninputsKI1K6andTI1T3,asFig.4shows.Thebuttons1-6areformedbyrespectivecombinationsofKI1K6andTI,theycanoutputcontinuoussignals,andtheinputcanbecarriedonwithatmost6buttons.Similarly,thebuttons718areindividualcombinationsofKI1K6andT2-T3.Theyareone-timetriggerbuttons,oneinputcorrespondtooneoutput.TheemissioninstructionofPT2248isa12-bitcode,includingCl1,C2,C3,H,51,S2,Dl,D2,D3,D4,D5andD6.CIC3arecodebitswhichcorrespondstodifferentcodesbydifferentdecoders.H,SIandS2correspondtoTi1,T2andT3,correspondingtocontinualsignalsorone-timetriggersignals.An

温馨提示

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

评论

0/150

提交评论