单片机控制的步进电机正反转和加速减速 c 程序
[日期:2008-09-06 ] [来源:net 作者:佚名] [字体:大 中 小] (投递新闻)
这是一个群里朋友发给我的步进电机实现正转反转和加速减速的单片机 c 语言源程序,这里
给大家共享下,有需要的朋友直接复制到 keil 里编译就可以了,程序已测试成功。
/*****************************************
单 4 拍正转 zheng[]={0x01,0x08,0x04,0x02}
单 4 拍反转 fang[]={0x01,0x02,0x04,0x08}
双 4 拍正转 zheng[]={0x09,0x0c,0x06,0x03}
双 4 拍反转 fang[]={0x03,0x06,0x0c,0x09}
单双 8 拍正转 zheng[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03}
单双 8 拍反转 fang[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}
*****************************************/
#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
bit front_move,back_move;
uchar jzaj(void); // 单 4 拍 正 转 zheng[]={0x01,0x08,0x04,0x02}; 单 4 拍 反 转
fang[]={0x01,0x02,0x04,0x08};
void ajcl(uchar jz);
void delay(uchar del);
uchar code zheng[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03};
uchar code fang[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
void timer0() interrupt 1
{
static uchar jz;
TH0=0xfc;
TL0=0x18;
jz=jzaj();
if(jz)
ajcl(jz);
}
void main()
{
uchar count=0;
TMOD=0x01;