您当前的位置:五五电子网电子知识单片机-工控设备MSP430单片机MSP430单片机步进电机程序 正文
MSP430单片机步进电机程序

MSP430单片机步进电机程序

点击数:7165 次   录入时间:03-04 11:40:29   整理:http://www.55dianzi.com   MSP430单片机

MSP430 单片机 步进电机程序


#include "msp430x22x4.h"
#define uchar unsigned char
#define uint  unsigned int


uchar i=0;

// 扫描式4x4键盘

#define keyin   (P2IN&0x0F)

//数码管值0~f
unsigned char key[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

unsigned char hang[]={0xef,0xdf,0xbf,0x7f};// 选中行码
unsigned char lie[]={0x0e,0x0d,0x0b,0x07};//相应列值
unsigned char save,a,b;

void DELAY(uint aj)
{
  
    while(aj--);
}

void init_port(void)
{
  
  P1SEL |=BIT2+BIT3;                      //TA1,TA2输出功能
  P1DIR |=BIT2+BIT3; 
  
  P2DIR=0XF0;
  P2SEL=0;
  P2OUT=0;
  P2IE=0X0F;
  P2IES=0XF0;
  P2IFG=0;
  
  P3DIR=0XFF;   //p3.0--A P3.1---B  P3.2---C   P3.3---D
  P3SEL=0X00;
  P3OUT=0XF0;
 
  _EINT();
  
  return;
}

void main(void)
{
  WDTCTL=WDTPW+WDTHOLD;                   //关看门狗
  BCSCTL1 =CALBC1_1MHz;                   //设定DCO为1MHZ
  DCOCTL =CALBC1_1MHZ;     
  
  init_port();
  
  while(1)
  {
  while(i==1)   // 单四拍
  {
    P3OUT=0XF1;//11110100
   DELAY(390);

   P3OUT=0XF2;//11110010
   DELAY(390);

   P3OUT=0XF4;//11110001
   DELAY(390);

    P3OUT=0XF8;//11111000
   DELAY(390);
  }
    
   while(i==2)//单四拍反转
    {
        P3OUT=0X08;//D
      DELAY(390); 
     P3OUT=0X04;//C
      DELAY(390);   
       P3OUT=0X02;//B
      DELAY(390);
       P3OUT=0X01;//A
      DELAY(390);
    }   
      
    while(i==3)   //双四拍
    {
      P3OUT=0X03;//AB
      DELAY(390);
      P3OUT=0X06;//BC
      DELAY(390);
      P3OUT=0X0c;//CD
      DELAY(390);      
      P3OUT=0X09;//DA
      DELAY(390);  
    }
    
     while(i==4)   //双四拍反转
    { 
      P3OUT=0X09;//DA
      DELAY(390);
      P3OUT=0X0c;//CD
      DELAY(390);      
      P3OUT=0X06;//BC
      DELAY(390);
      P3OUT=0X03;//AB
      DELAY(390);
    }
    
    while(i==5)//单八拍
    {
       P3OUT=0X01;//A
      DELAY(390);
      P3OUT=0X03;//AB
      DELAY(390);
      P3OUT=0X02;//B
      DELAY(390);
       P3OUT=0X06;//BC
      DELAY(390);
      P3OUT=0X04;//C
      DELAY(390);  
      P3OUT=0X0c;//CD
      DELAY(390);  
      P3OUT=0X08;//D
      DELAY(390);
       P3OUT=0X09;//DA
      DELAY(390);
    }
    
    while(i==6)//单八拍反转
    {  
      P3OUT=0X09;//DA
      DELAY(390);    
      P3OUT=0X08;//D
      DELAY(390);
      P3OUT=0X0c;//CD
      DELAY(390);  
       P3OUT=0X04;//C
      DELAY(390); 
       P3OUT=0X06;//BC
       DELAY(390);
      P3OUT=0X02;//B
      DELAY(390);
      P3OUT=0X03;//AB
      DELAY(390);
       P3OUT=0X01;//A
      DELAY(390);
    }

    while(i==7)//双八拍
    {
     P3OUT=0X03;//AB
      DELAY(390);
      P3OUT=0X07;//ABC
      DELAY(390);
      P3OUT=0X06;//BC
      DELAY(390);
       P3OUT=0X0E;//BCD
      DELAY(390);
      P3OUT=0X0c;//CD
      DELAY(390);      
       P3OUT=0X0D;//CDA
      DELAY(390);
      P3OUT=0X09;//DA
      DELAY(390);
      P3OUT=0X0B;//DAB
      DELAY(390);
    }     
      
    while(i==8)//双八拍 反转
    {
      
      P3OUT=0X0B;//DAB
      DELAY(390);
        P3OUT=0X09;//DA

[1] [2]  下一页


本文关键字:单片机  步进电机  程序  MSP430单片机单片机-工控设备 - MSP430单片机