收藏 分销(赏)

基于MSP430单片机的壁挂式空调风门运动控制系统设计.docx

上传人:胜**** 文档编号:952789 上传时间:2024-04-09 格式:DOCX 页数:38 大小:828KB
下载 相关 举报
基于MSP430单片机的壁挂式空调风门运动控制系统设计.docx_第1页
第1页 / 共38页
基于MSP430单片机的壁挂式空调风门运动控制系统设计.docx_第2页
第2页 / 共38页
基于MSP430单片机的壁挂式空调风门运动控制系统设计.docx_第3页
第3页 / 共38页
基于MSP430单片机的壁挂式空调风门运动控制系统设计.docx_第4页
第4页 / 共38页
基于MSP430单片机的壁挂式空调风门运动控制系统设计.docx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、基于MSP430单片机的壁挂式空调风门运动控制系统设计摘 要步进电机是机电数字控制系统中常用的执行元件,由于其精度高,体积小,控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用。本系统的主要工作是应用低功耗MSP430单片机控制步进电机的旋转方向和启停,以实现壁挂式空调风门出风风向的控制。通过分析步进电机的工作原理:电脉冲数决定电机的转动圈数;电脉冲的频率决定电机转动的速度。利用MSP430单片机的四个普通I/O口对步进电机的通电顺序及通电时间进行编程控制,以实现电机的转速和转向调整。本系统由硬件电路设计和软件编程两部分组成。此项设计看似简单,但有机的将步进电机和430单片机的相关知识结

2、合了起来,同时将微机原理和电机学等课程从理论学习上升为实践,因此具有很强的现实意义。此项设计研究将应用于壁挂式空调风门运动的调整,合理地调整将方便于人们的生活,满足人们的各种需求。关键词:msp430单片机;步进电机;空调Abstract Stepper motor is a mechanical and electrical actuators, is commonly used in digital control system because of its high precision, small volume, convenient control and flexible, so

3、the intelligent instruments and has been widely used in position control.The main work of this system is the application of low power consumption MSP430 single chip microcomputer to control stepping motor direction of rotation and rev. Stop, so as to realize the control of wall-mounted air-condition

4、er air door out of the wind direction. By analyzing the working principle of stepper motor, electrical impulses to the motor rotation laps; The frequency of the electrical motor rotational speed. Using MSP430 single chip microcomputer of four common I/O port for the electricity order of stepper moto

5、r and the polarization time programming control, in order to realize the speed of the motor and steering adjustments. This system consists of two parts, hardware circuit design and software programming.The design looks be like simple, but organic will step motor and 430 single chip microcomputer is

6、a combination of relevant knowledge, at the same time, the microcomputer principle and motor learning course from theoretical study to practice, thus has a strong practical significance. Will apply to the design study wall-mounted air-conditioner air door movement adjustment, reasonable adjustment w

7、ill be convenient to the life of people, meet peoples various needs.Key words: MSP430MicroChip ;Stepper motor;air-conditioner目 录第一章 绪论11.1课题研究的目的和意义11.2国内外发展状况21.3本课题设计的主要任务3第二章 步进电机及其工作原理的介绍42.1步进电机概述42.2步进电机的工作原理52.3步进电机的基本参数及其指数标语72.4步进电机的特点和特性92.5步进电机驱动系统介绍10第三章 MSP430G2553芯片及其引脚功能介绍123.1 单片机原理概

8、述123.2 MSP430G2553型单片机概述123.3 Msp430G2553型单片机的各个功能模块143.4 MSP430G2553微控制器的特点和特性153.5 MSP430G2553开发板硬件资源概述16第四章 系统硬件设计184.1 系统总体框架图184.2键盘控制电路194.3基于ULN2003步进电机的驱动电路设计21第五章 软件设计255.1 软件设计平台255.2程序分析265.3程序流程图315.4程序设计过程中出现的问题及其处理方法32第六章 总结与展望34参考文献35附录一 英文原文36附录二 中文翻译40附录三 程序清单43谢 辞47第一章 绪论1.1课题研究的目的

9、和意义1.2国内外发展状况1.3本课题设计的主要任务第二章 步进电机及其工作原理的介绍步进电机由于其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度等的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便,因此我在这次设计中选用工作方式为四相八拍的永磁式步进电机,下面对它进行详细地介绍。2.1步进电机概述2.1.1 步进电机的基本介绍步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度

10、,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,再经功率放大后分别送入步进电动机各相绕组中。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生改变,转子会转过一定的角(称为步距角)。一般情况下,步进电机转过的总角度和输入的脉冲数量成正比;连续输入一定频率的脉冲时,电动机的转动速度与输入脉冲的频率保持严格的对应关系,不被电压波动和负载变化而影响。因为步进电动机能直接接收数字量的输入,因此特别适合于微机

11、控制。2.1.2 步进电机的主要分类步进电机在构造上有三种主要类型: 反应式、永磁式和混合式。反应式:定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2、但动态性能差、效率低、发热大,可靠性难保证。永磁式:永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角(一般为7.5或15)。混合式:混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。按定子上绕组来分,共有二相、三

12、相和五相等系列。最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。该种电机的基本步距角为1.8/步,配上半步驱动器后,步距角减少为0.9,配上细分驱动器后其步距角可细分达256倍(0.007/微步)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。2.2步进电机的工作原理2.3步进电机的基本参数及其指数标语2.3.1 本实验步进电机的基本参数 本实验选用了型号为28BYJ-48的步进电机,它的外形图如图2-4所示,其基本参数如表2-2所示。图2-4永磁步进电机的外形图表2-2 28BYJ-48步

13、进电机的基本参数2.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度(俗称半步)。2.3.3

14、动态指标术语2.4步进电机的特点和特性2.4.1步进电机的主要特点1、一般步进电机的精度为步进角的3-5%,且不累积。2、步进电机外表允许的最高温度。步进电机温度过高首先会使电机的磁性材料退磁, 从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3、步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩

15、下降。4、步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。2.4.2步进电机的主要特性1、步进电机必须加驱动才可以运转,驱动

16、信号必须为脉冲信号, 没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。2、三相步进电机的步进角度为7.5度,一圈360度,需要48个脉冲完成。3、步进电机具有瞬间启动和急速停止的优越特性。4、改变脉冲的顺序,可以方便的改变转动的方向。因此,打印机、绘图仪、机器人等设备都以步进电机为动力核心。2.5步进电机驱动系统介绍步进电机不能直接接到交直流电源上工作,而必须使用专用设备,即步进电机驱动器。步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统由步进电机控制器,步进电机驱动

17、器,和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发出一个脉冲,步进电机驱动器就驱动步进电机的转子前进一个步距角。步进电机转速的高低,升速或者降速,启动或者停止都完全取决于脉冲频率的高低和脉冲的有无。通常,步进电机驱动器由逻辑控制电路,功率驱动电路,保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的步进脉冲信号,控制电路就按预先设定的电机的通电方式产生步进电机各相励磁绕组导通或截止的信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机的功率驱动部分。步进电机驱动电路向步进电机的控制绕组输入电流,使其励磁形成空间旋转磁场,驱

18、动转子运动。保护电路在出现短路,过载,过热等故障情况下迅速停止驱动器和电机的运行。本人在这次设计中采用了基于ULN2003芯片的步进电机驱动器,将在4.3节进行详细的表述。第三章 MSP430G2553芯片及其引脚功能介绍近年来,随着微电子技术的日新月异,世界上的许多芯片制造商纷纷推出自己的新产品,品种极为丰富。由于竞争激烈,其中串行接口多、低功耗、本身具有液晶显示驱动器与看门狗定时器的多功能芯片将成为主流器件。全球著名DSP制造商美国德州仪器(TI)公司所生产的新型芯片MSP430系列,以其独特的性能和丰富的片内外设成为电子技术设计开发人员的新宠。3.1 单片机原理概述单片机(single-

19、chip microcomputer)是把微型计算机的主要部分都集成在一块芯片上的单芯片微型计算机。由于单片机的高度集成化缩短了系统内的信号传送距离,优化了结构配置,大大提高了系统的可靠性和运行速度,同时它的指令系统又非常适合于工业控制的要求,所以单片机在工业过程及设备过程得到广泛应用。3.2 MSP430G2553型单片机概述MSP430G2553外设:(1)通用I/O:可独立编程;可提供输入输出和中断的任意组合;所有寻址指令可对端口寄存器进行读写访问;每个I/O具有一个可编程的上拉/下拉电阻;某些器件或引脚具有触摸按键模块。(2)16位Timer_A2:两个捕获/比较寄存器;丰富的中断功能

20、。(3)WDT+看门狗定时器。(4)欠压复位:可在上电和断电期间提供正确的复位信号;功耗包含于MCU最低功耗时所消耗的电流之中。(5)串行通信:支持IC和SPI的USI以及UART的USCI。(6)Comparator_A:可设定反相和同相输入;可选的RC输出滤波器;可直接输出至Timer_A2捕获输入;具有中断能力。MSP430G2553的引脚图3-2如下:图3-2 Msp430G2553单片机引脚图MSP430G2553开发板各接口引脚介绍MSP430G2553引脚介绍3.3 Msp430G2553型单片机的各个功能模块1、时钟系统:超低功耗/低频振荡器;外接晶体振荡器;数字控制振荡器。2

21、、通用I/O(P端口寄存器):(1)PXDIR输入/输出方向寄存器(0:输入模式,1:输出模式);(2)PXIN输入寄存器,输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。(3)PXOUT输出寄存器,寄存器内的内容不会受引脚方向改变的影响(4)PXIFG中断标志寄存器(0:没有中断请求,1:有中断请求),该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求,这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位。外部中断事件的时间必须大于等于1.5倍的MCLK的时间,以保证中断请求被接受。(5)PXIES中断触发沿选择寄存器(0:上

22、升沿中断,1:下降沿中断)(6)PXIEL功能选择寄存器(0:选择引脚为I/O端口,1:选择引脚为外围模块功能)(7)PXREN上拉/下拉电阻使能寄存器(0:禁止,1:使能)。所有P口都可以作为通用I/O口使用;所有P口都可以进行字节操作和位操作。3、中断:(1)中断源:外部中断、定时器中断、看门狗定时器中断、串口中断、A/D转换中断、比较器中断。(2)中断的一般设置:打开关闭局部中断;打开关闭全局中断;中断的嵌套。4、定时器的计数模式:(1)增计数模式(2)连续计数模式(3)增/减技术模式(4)停止模式5、串行通信:串口是系统与外界联系的重要手段,我们有时需要使用上位机进行系统调试及现场数据

23、的采集和控制,MSP430G2553中有两个串口模块:USCI_A0和USCI_B0。串行异步通信的主要特点:(1)两个独立的移位寄存器:输入/输出寄存器(2)传输7位或8位数据,可采用奇校验、偶校验(3)数据在发送或接受时低位在先(4)独立的发送或接受中断(5)可编程实现分频因子为整数或小数的波特率。3.4 MSP430G2553微控制器的特点和特性3.4.1MSP430G2553微控制器的特点1.处理能力强:MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令

24、;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。2.运算速度快:MSP430系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如 fft 等)。3.超低功耗:MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处:首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165A左

25、右,RAM 保持模式下的最低功耗只有0.1A。其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。3.4.2MSP430G2553微控制器的特性1 低电压电源范围1.8至3.6V2 超低功耗:(1)运行模式 2.3*10-8(A)(2)待机模式 0.5*10-6(A)(3)关闭模式 0.1*10-6(A)3 五种

26、节能模式4 可在不到1*10-6(s)的时间内从待机模式唤醒5 基本时钟模块配置:具有四种校准频率并有高达16MHz的内部频率内部超低功耗低频振荡器32kHz晶体外部数字时钟源。6 两个16位Timer_A分别具有三个捕获/比较寄存器7 多达24个支持触摸感测的I/O引脚8 通用串行通信接口:(1)支持自动波特率检测的增强型异步收发器(2)编码器和解码器(3)同步SPI9 用于模拟信号比较功能或者斜率模数转换的片载比较器10 带内部基准,采样,与保持以及扫描功能的10位模数转换器11 欠压检测器12 串行板上编程:(1)无需外部编程电压(2)利用安全熔丝实现可编程代码保护13 具有两线制接口的

27、片上仿真逻辑电路3.5 MSP430G2553开发板硬件资源概述名为Launchpad的MSP-EXP430G2低成本实验板是一款适用于MSP430G2xxx系列产品的完整开发解决方案。其基于USB的集成型仿真器可提供为全系列MSP430G2xxx器件开发应用所必需的所有软、硬件。Launchpad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430器件能够简便的插入Launchpad电路板中。此外,还可以提供板上FLASH仿真工具,以直接连接至PC,轻松进行编程和调试。图3-3 MSP-EXP430G2553开发板第四章 系统硬件设计本控制系统主要作用是通过MSP430G255

28、3单片机来控制步进电机的正反方向的旋转,而硬件部分是由MSP430G2553单片机、单片机驱动器ULN2003、按键、步进电机之间进行合理的连接。因此,此结果可以应用于遥控壁挂式空调的风门的运动,具有很强的现实意义。4.1 系统总体框架图图4-1 系统设计框图本系统的MSP430G2553单片机由USB供电,步进电机驱动电路由5V独立电压源供电。通过对单片机上的P1.3按键和外围扩展的P2.0按键进行循环扫描来判断按键是否已被按下,若按键被按下,再经过步进电机驱动电路功率放大后,通过这两个按键分别来实现电机的正反转控制,调速系统由软件方式完成,即用中断定时器控制转速。此系统将应用于壁挂式空调风

29、门的控制,具有很强的现实意义,壁挂式风门如图4-2。 图4-2 壁挂式风门4.2键盘控制电路键盘控制模块包括方向控制键、启停键,分别与单片机的P1.3和p2.0相连。实现对步进电机的方向和启动停止控制。4.2.1 按键功能的简单介绍键盘在单片机的应用中能实现向单片机输入数据、传送命令等的功能,是人工干预单片机的主要手段之一。键盘的实质是一组按键开关的集合。键盘所用的开关为机械弹性开关,结合了机械触点的合、断作用。一个电压信号在机械触点的断开,闭合过程中,都会产生抖动,一般为510ms;两次抖动之中为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为开断状态。按键闭合与否,反映在

30、输出电压上就是呈现出高电平或者低电平。通过对输出电平的高低状态的检测,便可以确认按键是否按下。高电平表示按键断开,低电平表示按键闭合状态。并且,为了能直观的表示按键闭合与否,还可以为每个按键相应增加了发光二极管,按键断开时,发光二极管灭,当有键闭合时,相应的发光二极管变亮。4.2.2键盘的抖动与消抖为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖电路设计复杂,本设计只做简单叙述;软件消抖适合按键较多的情况,方便简单。其原理是在第一次检测到有键按下时,执行一段延时10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭

31、合状态电平则确认为真正有键按下,从而消除了抖动的影响。图4-3 4.3基于ULN2003步进电机的驱动电路设计4.3.1 ULN2003芯片的基本介绍实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。 引脚10:脉冲信号输出端,对应7脚信号输入端。 引脚11:脉冲信号输出端,对应6脚信号输入端。 引脚12:脉冲信号输出端,对应5脚信号输入端。 引脚13:脉冲信号输出端,对应4脚信号输入端。 引脚14:脉冲信号输出端,对应3脚信号输入端。 引脚15:脉冲信号输出端,对应2脚信号输入端。引脚16:脉冲信号输出端,对应1脚信号输入端。 图4-5 ULN2003管脚连接图图4-6 ULN

32、2003芯片内部结构4.3.2 ULN2003芯片的特点和功能ULN2003芯片是高耐压,大电流达林顿阵列,它由7组达林顿晶体管阵列和相应的电阻网络和钳位二极管网络构成,它具有同时驱动7组负载的能力,是单片双极型大功率高速集成电路。功率电子电路大多数要求具有大电流输出能力,以便用于驱动各种类型的负载。功率驱动电路是功率电子设备输出电路的一个必要组成部分。ULN2003芯片高压大电流达林顿晶体管阵列产品是可控大功率器件。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2

33、003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2

34、003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统4.3.3基于 ULN2003步进电机的驱动电路与步进电机的结合首先介绍ULN2003步进电机驱动电路板模块的各个功能,如图4-7所示图4-7 ULN2003步进电机驱动电路板模块图4-8 步进电机驱动原理图图4-9 系统实物图第五章 软件设计5.1 软件设计平台CCS(Code Composer Studio)是TI公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数

35、据分析等工作。CCSv5.1为CCS软件的最新版本,功能更强大、性能更稳定、可用性更高,是MSP430软件开发的理想工具。Code Composer Studio(CCS 是用于 TI DSP、微处理器和应用处理器的集成开发环境)。 Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工 具。 它包含适用于每个 TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。 Code Composer Studio IDE 提供了 单个用户界面,可帮助您完成应用开发流程的每个步骤。 借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手

36、并将功能添加至他们的应用。 Code Composer Studio IDE 的交互式描述器可以快速测量代码性能,确保在调试和开发阶段高效地使用 DSP 目标资源。 该描述器使开发人员能够在他们 的应用中轻松描述指令周期或其它事件(例如高速缓冲存储器未命中数/命中数、管道拖延和分支)的所有 C/C+ 函数。 描述范围可用于在优化期间专注于 代码的高使用率区域,帮助开发人员生成经过精细调节的代码。 描述可用于任何组合形式的汇编、C+ 或 C 代码。 为提高生产力,所有描述设备在整个开发周期内均可用。CCSV5软件开发环境界面如图5-1所示。图5-1 CCSV5软件开发环境界面5.2程序分析系统初

37、始化:#include unsigned char MotorStep=0; /步进马达步序,将在Switch包含的语句中得到体现。unsigned int MotorDelay,TIM,CT;/初始变量的赋值。unsigned char key1=1,key2=1;/ 初始变量的赋值。#define speed 4 / 调整速度 数值不要设的太低 低了会引起震动。void SetMotorzheng();/子函数设定电机正传void SetMotorfan();/子函数设定电机反转进入主函数:void main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop WDT

38、(关闭看门狗)。P1DIR |= 0x17;/将P1口P1.3设为输入,其他P1口设为输出状态。P1REN |= 0x08; /由于P1.3按键的高电平没有达到要求,设置寄存器的P1.3位为1,即启动上拉电阻,满足高电平要求。P2DIR |= 0x00;/ 将P2口设为输入,目的将P2.0位设为输入。P2REN |= 0x01; /通过寄存器,将P2.0位设置为1,启动上拉电阻功能。 CCTL0 = CCIE;/ CCR0 interrupt enabled(让中断使能)。CCR0 = 5000;TACTL = TASSEL_2 + MC_1;/ SMCLK, contmode。_BIS_SR

39、(GIE);/ Enter LPM0 w/ interrupt。MotorStep=0;确认一下MotorStep确实给低电平。重复扫描按键:while(1)/重复扫描是否有按键被按下key1=P1IN&0x08;/将P1口输入的值与0X08相与,其实就是P1.3与0X08相与,判断P1.3是否被按下,若被按下则P1.3为低电平,即相与之后key1为低电平。key2=P2IN&0x01;key2同上。if(key1=0)/若key1为低电平。SetMotorzheng();/就调用SetMotorzheng ()子函数。else if(key2=0) 若key2为低电平。 SetMotorfa

40、n();/就调用SetMotorfan()子函数。调用子函数,完成电机转动功能:void SetMotorzhen()switch(MotorStep)case 0:/在此条件下,将A相设为低电平,其他B,C,D为高电平。 if(TIM)/利用Timer A0 interrupt service routine中断程序,可以调整单片机I/O口是否与驱动器的IN导通,即完成调速的功能。 P1OUT = 0x1A; /将A相设为低电平,其他B,C,D为高电平。 MotorStep = 1;/下次调用子函数时,进入Case 1。 TIM=0;/使TIM为0,在中断程序中继续判断,下一次变为1时执行I

41、F语句。 break;跳出Switch语句。case 1:/ AB if(TIM) P1OUT = 0x14; MotorStep = 2; TIM=0; break;case 2:/B if(TIM) P1OUT = 0x15; MotorStep = 3; TIM=0; break;case 3:/BC if(TIM) P1OUT = 0x11; MotorStep = 4; TIM=0; break; case 4: /C if(TIM) P1OUT = 0x13; MotorStep = 5; TIM=0; break; case 5: /CD if(TIM) P1OUT = 0x03

42、; MotorStep = 6; TIM=0; break; case 6: /D if(TIM) P1OUT = 0x07; MotorStep = 7; TIM=0; break; case 7:/DA if(TIM) P1OUT = 0x06; MotorStep = 0; TIM=0; break;void SetMotorfan()/反转与正传原理相同,只是颠倒了通电顺序。switch(MotorStep) case 7: if(TIM) P1OUT = 0x1A; MotorStep = 0; TIM=0; break;case 6: / AB if(TIM) P1OUT = 0x

43、14; MotorStep = 7; TIM=0; break;case 5: /Bif(TIM) P1OUT = 0x15; MotorStep = 6; TIM=0; Break case 4:/BC if(TIM) P1OUT = 0x11; MotorStep = 5; TIM=0; break; case 3: /C if(TIM) P1OUT = 0x13; MotorStep = 4; TIM=0; break; case 2: /CD if(TIM) P1OUT = 0x03; MotorStep = 3; TIM=0; break; case 1: /D if(TIM) P1OUT = 0x07; MotorStep = 2; TIM=0; break; case 0:/DA if(TIM) P1OUT = 0x06; MotorStep = 1; TIM=0; Break;总之,通过不停地扫描按键是否被按下,若按键被按下就调用子函数void SetMotorzheng()或SetMotorfan(),即可完成四相步进电机的八拍方式的转动。定时器中断:#pragma vector=TIMER0_A0_VECTOR_int

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服