Học liệu

Lập trình điều khiển động cơ bước với MSP430

  • 31/10/2018
  • Học liệu

#include <msp430g2553.h>
#define SW1 0x01 //SW1 (P2.0)
void motor_left(void);
void motor_right(void);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P2DIR &= 0x00; // Define Switch-Pins SW1as input
P1DIR |= 0x3F; // Set P4.0-P4.5 to Output direction Stepper
while(1) // Loop forever..............
{
if (P2IN & SW1) //Check Switch SW1 ON/OFF
motor_left(); // Rotate clockwise
else
motor_right(); // Rotate counter clockwise
}
}

void motor_right (void)
{ unsigned int k;
P1OUT=0x08;
for (k = 1; k <= 4; k++)
{
_delay_cycles(100000);
P1OUT=P1OUT >>1;
}
}

void motor_left (void)
{ unsigned int k;
P1OUT=0x01;
for (k = 1; k <=4; k++)
{
_delay_cycles(100000);
P1OUT=P1OUT<<1;
}
}

Các tin khác