基于单片机实现的四相步进电机控制器毕业设计_第1页
基于单片机实现的四相步进电机控制器毕业设计_第2页
基于单片机实现的四相步进电机控制器毕业设计_第3页
基于单片机实现的四相步进电机控制器毕业设计_第4页
基于单片机实现的四相步进电机控制器毕业设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工业大学本科毕业设计(论文)第 1 页 共 53 页基于单片机实现的四相步进电机控制器设计指导老师: 作者: 摘要:本设计采用 ATMEL 公司 DIP-40 封装的 AT89S52 单片机实现对四相步进电机的手动和遥控控制。由单片机产生的脉冲信号经过脉冲分配后分解出对应的四相脉冲,分解出的四相脉冲经驱动电路功率放大后驱动步进电机的转动。转速的调节和状态的改变由按键进行选择。通过键盘扫描把选择的信息反馈给单片机,单片机根据反馈信息做出相应的判断并改变输出脉冲的频率或转动状态信号。电机转动的不同状态由 LED 数码管显示。红外信号的发射由另一块单片机和红外线 LED 完成,用红外万能接收头接收红外信号,可以实现对电机的控制进行红外遥控。关键字:四相步进电机 单片机 功率放大 红外遥控 Controller for four phase step motor Abstract:The design adopts two microprocessor (DIP-40 encapsulation, AT89S52) of ATMEL company to control four phase step motor. After admeasured it, the pulse generated by microprocessor become the relevant four phase pulse. These pulses, which are magnified by driving circuit, are used to drive the four phase step motor. Regulating rotate speed and changing estate are used some keys. Pass scanning the keyboard to feed single back to microprocessor. The microprocessor makes the judgment and change the pulse frequent according to the feedback information. LED show different running estate. The infrared single is emitted by another microprocessor and infrared ray LED, using infrared incept module to accept the infrared signal. System can control motor with infrared telecontrol.Keyword: four phase step motor microprocessor power magnify infrared telecontrol哈尔滨工业大学本科毕业设计(论文)第 2 页 共 53 页目 录前言 .31.系统设计 .31.1 功能介绍 .31.2 总体设计方案 .31.2.1 总体设计思路 .31.2.2 方案论证与比较 .31.3 电机的参数 .71.4 系统组成 .72.单元电路设计 .82.1 功率放大驱动电路方案设计 .82.2 显示电路方案设计 .92.3 单片机电源电路设计 .92.4 红外发射电路设计 .103.软件设计 .103.1 编程语言 .103.2 软件实现方法 .103.2.1 双四拍正转 .113.2.2 双四拍反转 .113.2.3 单双八拍正转 .113.2.4 单双 B 八拍反转 .113.3 程序流程图 如下所示: .123.4 三相步进电机程序清单 .164.结束语 .16附录 1 .17附录 2 .18哈尔滨工业大学本科毕业设计(论文)第 3 页 共 53 页前言一般,电动机都是连续旋转,而步进电动机却是一步一步转动的,故称为步进电动机。每输入一个脉冲信号,该电动机就转过一定的角度(有的步进电动机可以直接输出线位移,称为直线电动机) 。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。它有两个工作:其一是传递转矩,其二是传递信息。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将逐渐扩大。步进电动机的种类很多,按励磁方式可分为反应式、永磁式和感应子式;按相数分则可分为单相、两相和多相三种。这里使用的是反应式四相步进电机,它的工作方式有单四拍正转,单四拍反转,双四拍正转,双四拍反转,单双八拍正转,单双八拍反转六种。针对这些状态,设计的控制器能很好地实现状态的转换及转速的改变。1.系统设计1.1 功能介绍一、基本功能(1)步进电机能够在双四拍和单双八拍两种工作方式间切换。(2)能够实现步进电机单步和连续运行。(3)能实现步进电机正反转及速度变换。(4)显示工作状态二、扩展功能红外线遥控实现电机的各种状态之间的启动和转换1.2 总体设计方案1.2.1 总体设计思路用于控制的电机是 MITSUMI 公司生产的 M35SP-7T 型四相反应式步进电机。为满足手动和红外遥控相互独立,采用两块 AT89S52 单片机分别控制手动模块和红外遥控模块。 手动模块完成所有基本功能以及红外接收,遥控模块用来发射红外遥控信号。1.2.2 方案论证与比较1.控制部分的设计方案论证与选择方案一、用逻辑电路实现。用 NE555 定时器芯片产生脉冲,用 74HC74 组成的电路实现脉冲的分配。用组合和时序电路实现频率的调节。整个电路要用到的分立元件太多,电路联接复杂,而且抗干扰能力不强,稳定性和精确度不高。方案二、用单片机实现。由于单片机集成了运算器电路、控制电路、存储器、中断系哈尔滨工业大学本科毕业设计(论文)第 4 页 共 53 页统、定时器/计数器以及输入 /输出口电路等,所以用单片机设计控制电路省去了很多分立元器件。对于脉冲的产生及分配,频率的调节,转速及状态的改变都可以由单片机实现,不必再分别用分立元器件实现。由于单片机的可编程特性,应用单片机程序对四相步进电机进行控制,不仅功能易于实现,而且精确度高,稳定性好,抗干扰能力强。方案三、用 FPGA 实现。众所周知,FPGA 做控制核心,外围电路简单,整体性能好,有更好的稳定性,更高的精度,更强的抗干扰能力。但是其价格昂贵,用于本设计的电机控制性价比不高。综上所述,选择方案二。利用单片机实现主要控制,按键进行选择。2.功率驱动电路的设计方案论证与选择单片机端口输出的电流只有几个毫安,不能直接驱动步进电机。为了给步进电机提供足够的电流,必须设计驱动电路。考虑到本次驱动的电机所带负载和功率不大,对电源的要求也不是太高,故采用单一电压型电源供电。由于绕组是感性的,功率放大器必须设计得能保护晶体管不受电感在接通和断开瞬间时的尖峰信号的冲击。同时,为了使绕组在断电时能够加快电流的衰减,以免断开的相绕组中的衰减电流对电动机起制动效应,还必须为放大电路设计抑制电路或是泄放回路。这里对抑制电路有三种方案如下:方案一:二极管抑制电路二极管抑制电路如图 1.2.1 所示。当绕组通电时,二极管承受反向电压,不导通。当三极管转变为截止状态或是绕组断电时,绕组将产生一个与原来承受的电压极性相反的感应电势,使二极管导通,形成绕组 L 和二极管构成的回路。假设绕组电阻为 R,则回路中电流的衰减时间常数为 T=L/R 。由于 R 一般较小,因而 T 一般较大,只适用于步进电机低速运行。图 1.2.1 二极管抑制电路 图 1.2.2 二极管-电阻抑制电路方案二:二极管-电阻抑制电路二极管-电阻抑制电路如图 1.2.2 所示。在这个抑制电路中,增加了一个与二极管串联的电阻 RS,当绕组断电时泄放回路的时间常数为 T=L/(R+R S) ,这就加快了断电绕组中电流的衰减,减小了泄放回路时间常数。但由于 RS 的存在,使三极管在绕组断电时承受较大的反向电压。方案三:稳压二极管抑制电路这种电路是用一个稳压二极管代替串联电阻,其电路如图 1.2.3 所示。当绕组断电时,哈尔滨工业大学本科毕业设计(论文)第 5 页 共 53 页由于稳压管的稳压特性,给三极管的反向电压也不会太大,泄放回路电流衰减得更快。当断电相绕组的感应电势升高到使稳压二极管击穿并导通时,断电相绕组中的储能以热能形式在稳压二极管内消散。图 1.2.3 稳压二极管抑制电路综上所述,考虑达到设计要求选择方案二。利用二极管-电阻抑制电路和两个 9014 三极管组成驱动电路。3.显示电路的设计方案论证与选择方案一、采用 LED 静态显示。LED 数码管的公共端 COM(位选控制信号)接电源(而对于共阴数码管是接地) ,数码管的段码分别和 I/O 口相连,这样 N 位数码管就需要占用 N 个 8 位(共 8N 位)I/O 口线。特点是占用较多的硬件资源,控制简单方便。图 1.2.4 静态显示方案二、采用 LED 动态显示。LED 数码管的所有段码连接在同一个 8 位的 I/O 口线上,每个 LED 数码管的位码则单独使用一个 I/O 口,这样 N 位动态显示的 LED 数码管只需占用 8+N 位 I/O 口线;特点是占用较少硬件资源(I/O 口) ,功耗相对于静态显示来讲大大降低,但编程较复杂并需要占用系统的软件资源。 哈尔滨工业大学本科毕业设计(论文)第 6 页 共 53 页abfcgdeVCC1234567abcdefg8 dp dp9DS1AMBERCAabfcgdeVCC1234567abcdefg8 dp dp9DS2AMBERCA下下 下下图 1.2.5 动态显示单片机的 I/O 端口较少,且系统要用 8 个 LED 数码管,若选静态显示则需占用太多I/O 端口。采用动态显示不仅可以减少占用硬件资源,降低功耗,而且本系统单片机能提供足够的软件资源。综上所述,选择方案二。4.单片机电源部分的设计方案论证与选择由于本次设计中单片机工作电源为 5V,所以需要稳压,对于 5V 电源这里有以下两种方案。方案一:用固定式三端稳压器,例如 7805 系列稳压器输出固定的正电压 5V,输入端接电容 C1 可以进一步滤除纹波,输出端接电容 C2 能改变负载的瞬态影响 ,使电路稳定工作C1、C2 最好采用漏电流小的钽电容。如果采用电解电容,则电容要比图中数值增加 10 倍。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 15-Sep-2001 Sheet of File: F:My Documents-.ddbDrawn By:Vin1GND2+5V 3U17805GNDC10.1uF+-+5V+-+9V C20.1uF4 图 1.2.6 固定式三端稳压器方案二:虽然 7805 三端集成稳压管内部有过流、过热和安全区的保护电路,但其输出仍有可能发生过压的危险。因此本电路加了过压保护电路,该电路由稳压管 VD3、电阻R3 和晶闸管 VS 组成。另外由于 7805 的最大输出电流为 1.5A,可以通过在 7805 的 1 脚与 VT1 的基极相连,7805 的 2 脚与 VT1 的集电极相连,这样就可输出 1.6A 2A 的电流。如需更大的电流,可再并联几个大功率三极管。哈尔滨工业大学本科毕业设计(论文)第 7 页 共 53 页1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 15-Sep-2001 Sheet of File: F:My Documents-.ddbDrawn By:Vin1GND2+5V 3U17805VD21S1885VD11S1885R1470R34.7KC10.022uFC20.022uF C30.022uFC4220u/25VVD3VT1 2SB683GND+-+-5V/1.6A9V5 5VC56800uF/35VR210KVSC6 0.1uF图 1.2.7 可扩流过压保护 5V 稳压电源综上所述,基于单片机电源只使用到 5V 的电源,所以不必考虑去调节它的稳压值,再加上第二种方案所用元件较多,性能价格比不高,因此我们采用了第一种方案。5.红外线通信的设计方案与选择红外线是波长约大于 770nm 的不可见光。将发射红外线的发光二极管(LED)和感知红外线的接受模块组合在一起就可以实现红外线通信。设计采用基于 PPM 的红外线通信方式。应用红外线接收模块通信时,将所使用的红外线设置成如图所示的频率 40kHz 的方波形式,即 1 秒钟内断续地发送红外线 4 万次。这种调制方式被称为脉冲周期调制(PPM) 。 方案一、采用脉冲个数编码。不同的脉冲个数代表不同的码,最小为两个脉冲,最大为 8 个脉冲。为了使接收可靠,第一个码宽为 3ms,其余为 1ms,遥控码数据帧间隔大于10ms。此种方式易于实现,可靠性佳。 方案二、采用 8 位数字组成的代码编码。第一个数字为 1 代表起始位,接下来的三位为遥控码,剩下的 4 位为停止码。综上所述,采用方案一的编码实现红外通信。1.3 电机的参数转速 n=60f / ZRN。其中 ZR 为转子齿数,N 为运行拍数, f 是控制脉冲的频率。由此可见,反应式步进电动机转速取决于脉冲频率、转子齿数和拍数,而与电压、负载、温度等因素无关。当转子齿数一定时,转子旋转速度与输入脉冲频率成正比,或者说其转速和脉冲频率同步。改变脉冲频率可以改变转速,故可进行无级调速,调速范围很宽。此设计使用的电机步距角 b=7.5o,所以 ZRN=360o/ b=360o/7.5o=48。故 n=60f/48。由于可调频率为 16500Hz,所以转速为 20625r/min。1.4 系统组成哈尔滨工业大学本科毕业设计(论文)第 8 页 共 53 页经过方案比较与论证,最终确定的系统组成框图如图 1.2.8 所示。其中单片机作为主控设备控制系统的输入和输出。红外发射和接收模块实现对四相步进电机的较远距离的遥控控制。功率放大驱动电路放大单片机分配的控制脉冲,显示模块则能显示电机当前的运行状态。按键输入功率放大驱动电路四相步进电 机控制开关 单片机单片机电源状态显示红外接收单 片 机红外发射图 1.2 .8 系统组成方框图2.单元电路设计2.1 功率放大驱动电路方案设计设计电路图如图 2.1 所示。该单元电路采用两级 9014 三极管达林顿接法,能很好的满足放大要求。泄放回路采用二极管-电阻方案,发光二极管通过一级三极管放大用来显示通电的相。根据本次采用的步进电机参数,使用 9014 三极管两极放大能满足驱动要求。参数计算如下: ()/(50.7*2)/30.11*250*.168.5212.12.7568.690.25012IUR mAbibeII mAcII mAbIII mAcc理论计算的最大输出电流为 690.25mA,实际值并没这么大,且电机每一相的运行是断续的,不会给三级管带来太大的负担,所以此方案基本满足步进电机的驱动要求。哈尔滨工业大学本科毕业设计(论文)第 9 页 共 53 页R2 330KR4 330KR3 330KR10100R8100R9100R22 47KR23 47KR24 47KP39014P59014P79014P49014P69014P89014P29014B1 C2E3P19014R21 47KR7100ABCDVSSVT19013VT29013VT39013VT49013R31100R32100R33100R34100D1D3D4D2IN1IN2IN3IN4L1LEDL2LEDL3LEDL4LEDR1 330K图 2.1 驱动电路电路图2.2 显示电路方案设计采用动态显示的方法实现状态的显示:44P(双四正转) ,44N(双四反转) ,48(单双八拍正转) ,48N(单双八拍反转) ,以及频率的显示。本设计单片机系统的状态显示电路如图 2.2 所示。S8KEY8S7KEY7D03 Q0 2D14 Q1 5D27 Q2 6D38 Q3 9D413 Q4 12D514 Q5 15D617 Q6 16D718 Q7 19OE1LE11 U374HC373R20 10KR21 10KR22 10KR23 10KVCCD0D1D2D3D4D5D6D7E1D2H3G5463829112C4B7A11F10 LED71LED7SS5KEY5S6KEY6S4KEY4S3KEY3S2KEY2S1KEY1E1D2H3G5463829112C4B7A11F10LED70LED7SQ39012 Q29012 Q19012 Q09012R10470R11470R12470R13470R14470R15470R16470R17470Q79012 Q69012 Q59012 Q49012R24 10KR25 10KR26 10KR27 10K VCC VCC VCC VCC VCC VCC VCC VCCKBIT1KBIT2KBIT3KBIT4KBIT5KBIT6KBIT7KBIT8D1 D2 D3 D4 D5 D6 D7 D8图 2.2 显示电路电路图哈尔滨工业大学本科毕业设计(论文)第 10 页 共 53 页该单元电路主要采用总线来扩展 I/O 单元,其中有 8 个共阴 LED 数码管和一个数据锁存器 U3。KBIT1KBIT7 是数码管的位选控制信号, KEY-BEC 是键盘输入检测信号。数码管在系统中是分时扫描控制的,当控制数码管显示时,KBIT1KBIT7 控制八个数码管的位码,KBIT1KBIT7 为低电平,三极管 Q0-Q7 导通,数码管点亮,显示段码的数据。当键盘控制时,KEY-BEC 是连在单片机的 T1 口上的(该口内部有上拉电阻) ,给 D0-D7输入高电平,控制单片机扫描 KEY-BEC 口,如果键盘有键按下,与键盘相连的二极管导通,将电平钳制在 0.7V,所以只要扫描到 KEY-BEC 变为高电平,就可以判断有键按下了。2.3 单片机电源电路设计该电路主要由 1 个 7805 芯片 U2,1 个整流桥 D 以及一些电阻和电容组成。输出固定的正 5V 电压,输入端接电容 C12 可以进一步滤除低次纹波,C3 滤出高次谐波。C11 能改变负载的瞬态影响。输出端接电容 C4 和 C11 再次滤波,使输出电压更稳定。电路如图 2.3 所示。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 11-Apr-2005 Sheet of File: F:下下下下下下下下下下下下下Mcu.ddbDrawn By:+C12470u+C11470uR23KVin1GND3+5V 2U2LM7805C30.1u C40.1u12J1CON2P1POWER(+9V)VCCVCCDBRIDGED9LEDSSW SPST图 2.3 单片机电源电路图2.4 红外发射电路设计 此电路用单片机和矩阵式按键实现控制电机运行方式转换及加减速的脉冲发射,单片机采用 AT89S52,其采用最小化应用系统设计。发光二极管显示红外发射管是否发射出红外信号。采用了两个红外发射管同时发射红外信号,实现大范围,宽角度发射,保证接收的可靠性。采用矩阵式按键便于扩展功能。电路图如图 2.4 所示。哈尔滨工业大学本科毕业设计(论文)第 11 页 共 53 页EA/VP31 X119X218 RESET9RD17 WR16INT012 INT113T014 T115P101 P112 P123P134 P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P 30TXD 11RXD 10U2AT89S51S6KEY6 S8KEY8S7KEY7S4KEY4S5KEY5S12MC130pFC230pF KB1KB2KB3KB4KB5XTAL1XTAL2KB6KB7KB8KB1KB2KB3KB4KB5123456789J1CON9KB1KB2KB3KB4KB5KB6KB7KB8VCCXTAL1XTAL2VCCS3KEY3S2KEY2S1KEY1KB6KB7KB8123456J2S51_ISPMOSIMISORESETSCKVCCGNDMOSIMISOSCKRESETR18.2KR24.7KR322VT19013C410uFVCCRESETTT1TT1S9KEY9 S10KEY10 S11KEY11 S12KEY12S13KEY13 S14KEY14 S15KEY15 S16KEY16R114.7KR124.7KR134.7KR144.7KVCCR44.7KR522VT29013VCCTT2TT2C3 0.01u+C11100u12J3CON2VCCGNDT1LEDT2LED图 2.4 红外发射电路图3.软件设计3.1 编程语言本设计中采用汇编语言对单片机进行编程。采用的是自下而上的设计方式,先设计出每一个模块(子程序) ,然后再慢慢扩大,最后组成整个系统。采用汇编语言编程对编程者有着特殊的要求,它不如用 C 语言编程轻松,它要求编程者对单片机的内部结构和外围电路非常了解,尤其是对指令系统必须非常熟悉,而且用汇编语言开发软件是比较辛苦的,程序量也比较大,方方面面都需要考虑,一切问题都需要编程者安排。但是使用汇编语言进行编程所占的资源较少,产生代码质量高,且执行完成情况佳。3.2 软件实现方法软件的设计主要是通过按键查表控制步进电机的转速,并用按键来切换电机的正反转与运行状态,同时,用两个数码管分别显示频率与电机运行状态。本设计可实现对电机转速的调节,运行状态双四拍正转,双四拍反转,单双八拍正转,单双八拍反转之间进行转换。其设计原理框图如图 3-1 所示。 12MHz晶振不同频率脉冲控制电机的转速单片机图 3.1 程序设计原理框图由于所用的晶振为 12MHz,以此作为步进电机的脉冲信号的话电机会出现失步甚至不能启动,且作为运行的频率也太高。因此首先对该晶振进行分频,得到频率比较小的脉冲作为电机的步进脉冲信号。经验证,方波的频率为 1Hz 500Hz 时能很好的驱动电机运行。通过分频的信号叠加产生不同频率的脉冲,这些频率(16HZ-500HZ)被转换成相应的定时哈尔滨工业大学本科毕业设计(论文)第 12 页 共 53 页器基值,然后以表的形式存储在单片机程序存贮器中。通过按键查表更新定时器基值,从而实现电机的调速。3.2.1 双四拍正转双四拍正转运行方式是 ABBCCDDAAB。对应的功能如表 3.3 所示。3.2.2 双四拍反转 双四拍反转运行方式是 ACCBBAAC。对应的功能如表 3.4 所示。表 3.1 双四拍正转表 3.4 双四拍反转输出代码 通电绕组 P2 口输出00001001 AD 09H00001100 DC 0CH00000110 CB 06H00000011 BA 03H3.2.3 单双八拍正转单双八拍正转运行方式是 A ABB BCCCDD DA A。其功能如表 3.5 所示。3.2.4 单双八拍反转 单双八拍反转运行方式是 A ACC CBBBAA 。其功能如表 3.6 所示。表 3.5 单双八拍正转 表 3.6 单双八拍反转3.3 程序流程图输出代码 通电绕组 P2 口输出00000011 AB 03H00000110 BC 06H00001100 CD 0CH00001001 DA 09H输出代码 通电绕组 P2 口输出00000001 A 01H00000011 AB 03H00000010 B 02H00000110 BC 03H00000100 C 06H00001100 CD 0CH00001000 D 08H00001001 DA 09H输出代码 通电绕组 P2 口输出00000001 A 01H00001001 AD 09H00001000 D 08H00001100 DC 0CH00000100 C 04H00000110 CB 06H00000010 B 02H00000011 BA 03H哈尔滨工业大学本科毕业设计(论文)第 13 页 共 53 页开始初始化遥控程序手控键扫描?遥控键扫描?否否是 是返回 主程序流程图手控程序中断开始接收并对低电平脉冲计数按脉冲个数至对应程序中断返回低电平脉宽2ms?高电平脉宽3ms?NYNY遥控接收程序流程图哈尔滨工业大学本科毕业设计(论文)第 14 页 共 53 页换拍键扫描手控开始换拍标志=0?正反键扫描正反转标志 1=0?显示“44”正反转标志 1=1?显示“44-P”显示“44-N”正反转标志 1=2?正反键扫描正反转标志 2=0?显示“48”正反转标志 2=1?显示“48-P”显示“48-N”正反转标志 2=2?YYYYNNNNYNYNN停止执行键扫描加速键扫描减速键扫描电机状态输出停止执行键扫描加速键扫描减速键扫描电机状态输出返 回Y手控程序哈尔滨工业大学本科毕业设计(论文)第 15 页 共 53 页开始初始化调用键扫描处理子程序扫键开始逐列扫描查键号按键号转至相应的发射程序键按下?返回NY发射开始装入发射脉冲个数(R1)发 3ms 脉冲停发 1ms发 1ms 脉冲停发 1ms(R1 )1= 0 ?返回NY遥控发射程序流程图哈尔滨工业大学本科毕业设计(论文)第 16 页 共 53 页3.4 三相步进电机程序清单三相步进电机程序清单见附录 2。4.结束语控制器能完成以下功能:(1)通过调节单片机输出脉冲频率控制电机加速和减速;(2)改变电机运行状态;(3)实现手动和红外遥控控制两种控制方式;(4)显示电机运行状态和脉冲频率;在软硬件的结合下,控制器能达到设计要求。主要采用单片机实现对系统的控制。软件方面采用汇编语言编程实现,并下载到自制的实验板上测试通过。参考文献1 杜坤梅.电机控制技术M. 哈尔滨:哈尔滨工业大学出版社, 2002 年第二版2 美丹尼斯. 克拉克,迈克尔 .欧文斯,译宗光华.张慧慧.机器人设计与控制M. 北京:科学出版社,2004 年第一版3 日船仓一郎,土屋尧,掘桂太郎,译 宗光华.杨洋.唐伯燕.机器人控制电子学M. 北京:科学出版社,2004 年第一版4美迈克.普瑞德科, 译 宗光华 .李大寨.机器人控制器与程序设计M. 北京: 科学出版社,2004 年第一版5 陈隆昌.阎治安.刘新正.控制电机M.西安:西安电子科技大学出版社, 2000 年第三版6 陈永甫.红外探测与控制电路M.北京:人民邮电出版社, 2004 年第一版7 童诗白.华成英.模拟电子技术基础M.北京:高等教育出版社, 2001 年第三版 8 张洪润.马平安.张亚凡.单片机原理及应用M.北京: 科学出版社,2002 年第一哈尔滨工业大学本科毕业设计(论文)第 17 页 共 53 页附录 1 元器件清单名称 型号 参数 数量单片机 AT89S52AT89S51各 1数码管 四位一体共阴 2锁存器 74HC373 1发光二极管 LED 7二极管 12三极管 9013,9014 4,8红外线发射管 红外 LED 1红外线万能接收头 1整流电桥 WXDH 2稳压管 7805 2排阻 10K 2电阻 若干晶振 12M 1下载口 2电源接口 2电解电容 100f470f14电容 104300.1f30pf4 4插座 单片机插座所存器插座40 引脚,24 引脚21按键 电源按键普通按键224哈尔滨工业大学本科毕业设计(论文)第 18 页 共 53 页附录 2程序清单如下:;-;- 基于单片机 AT89S52AT89S51 的四相步进电机控制程序 - ;- 作者: 凌鑫华 肖远青 谭辉;- 2004.3.23 -;- ;伪定义TELECON0 EQU 08H ;遥控键 1 标志 TELECON1 EQU 09H ;遥控键 2 标志 TELECON2 EQ 10H ;遥控键 3 标志 TELECON3 EQU 11H ;遥控键 4 标志 TELECON4 EQU 12H ;遥控键 5 标志 TELECON5 EQU 13H ;遥控键 6 标志 B0 DATA 29H ;B0-B12 均为计数单元B1 DATA 30HB2 DATA 31HB3 DATA 32HB4 DATA 33HB5 DATA 34HB6 DATA 35HB7 DATA 36HB8 DATA 37HB9 DATA 38HB10 DATA 39HB11 DATA 40HB12 DATA 41HLOCK DATA 42H ;数码管位锁单元FLAG1 DATA 43H;双四拍显示选择标志FLAG2 DATA 44H;单双八拍显示选择标志COUNT1 DATA 45H ;双四拍查表计数COUNT2 DATA 46H ;单双八拍查表计数D1 DATA 47H;定时器计数基值高位存储单元D2 DATA 48H ;定时器计数基值低位存储单元CT1 DATA 49H ;调速计数高位 CT2 DATA 50H ;调速计数低位CT3 DATA 51H ;查表 TABAL2 计数CT4 DATA 52H ;查表 TABAL3 计数CT5 DATA 53H ;查表 TABAL4 计数哈尔滨工业大学本科毕业设计(论文)第 19 页 共 53 页CT6 DATA 54H ;查表 TABAL5 计数 DISP0 DATA 55H ;频率个位显示DISP1 DATA 56H ;频率十位显示DISP2 DATA 57H ;频率百位显示 ORG 0000HLJMP START ;转入主程序ORG 0003H ;外部中断 INT0入口地址RETI ;返回,不用ORG 000BH ;定时器 T0 入口地址LJMP INTT0 ;转入 T0 中断服务程序ORG 0013H ;外部中断 INT1入口地址LJMP INTEX1 ;转入 INT1 中断服务程序 ORG 001BH ;定时器 TRETI ;不用,返回ORG 0023H ;转入串行中断服务程序RETI ;不用,返回;-;- 初始化程序 -CLEARANCE: MOV D1,#00BH ;定时器低位初值存储单元初值 (-16HZ-)MOV D2,#0DCH ;定时器高位初值存储单元初值 MOV FLAG1,#0H ;步进电机双四拍状态显示标志清 0MOV FLAG2,#0H ;步进电机单双八拍状态显示标志清 0MOV COUNT1,#4H ;步进电机双四拍查表计数初值MOV COUNT2,#8H ;步进电机单双八拍查表计数初值 MOV CT1,#10H ;频率低位存储单元 (-16HZ-)MOV CT2,#00H ;频率高位存储单元MOV CT3,#00H ;TABAL2查表计数MOV CT4,#00H ;TABAL3查表计数MOV CT5,#00H ;TABAL4查表计数MOV CT6,#00H ;TABAL5查表计数MOV DISP0,#0H ;频率显示个位MOV DISP1,#0H ;频率显示十位MOV DISP2,#0H ;频率显示哈尔滨工业大学本科毕业设计(论文)第 20 页 共 53 页百位MOV P1,#0H ;电机输出口 P1 清 0 CLR 00H ;换拍标志清 0CLR 01H ;启动与停止标志清 0MOV 21H,#00H ;遥控键各标志清 0MOV SP,#70H ;堆栈指向70HMOV TMOD,#01H ;定时器T0 -1 方式 MOV TL0,D2 ;定时器低位给定初值MOV TH0,D1 ;定时器高位给定初值MOV IP,#4H ;外部中断1 高优先级 MOV TCON,#5H ;外部中断 1 低准电平触发SETB EA ;开总中断SETB EX1 ;开外部中断CLR ET0 ;禁止定时器中断 CLR TR0RET;-;- 程序开始 -START:TELECON:LJMP TELECONTROL ;转入遥控程序HANDCON:LJMP HANDCONTROL ;转入手控程序HANDCONTROL:LCALL CLEARANCE ;调用初始化程序SETB TELECON4 ;手控标志置 1MAIN1:JB TELECON4,HAND LJMP TELECON ;手控标志不为转入遥控程序HAND:JB 01H

温馨提示

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

评论

0/150

提交评论