- 积分
- 480
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 20
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本人最近在写由430控制的步进电机控制,但是步进电机正转几下,又反转几下,可是我只设置他正转的,而且驱动芯片发热,主要是接口处发热严重?求大虾指教
代码如下
#include <msp430x14x.h>
#define uchar unsigned char
#define uint unsigned int
//函数说明
void delay(uint t);
void front_move(uint step);
void back_move();
//unsigned char forword[8]={0xc0,0x40,0x60,0x20,0x30,0x10,0x90,0x80};
unsigned char forword[8]={0x80,0xC0,0x40,0x60,0x20,0x30,0x10,0x90};
unsigned char back[8]={0xc0,0x80,0x90,0x10,0x30,0x20,0x60,0x40};
int main( void )
{
//sbit key1=P2^0; //正转
//sbit key3=P2^2; //停止
// uchar count=0;
// uint time=0;
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P3DIR = 0xff;
P3OUT = 0XFF;
front_move(12);
return 0;
}
//电机驱动子程序
void front_move(uint step)
{
uchar i=0,j;
for(j=0;j<step;j++)
{
for(i=0;i<8;i++)
{
P3OUT=forword[i];
delay(50);
}
void delay(uint t) /* 对于12M时钟,约延时1ms */
{
uint i;
while(t--)
{
for (i=0;i<800;i++)
{}
}
} |
|