用c语言编写单片机控制两个步进电机旋转固定角度的程序,51单片机 步进电机旋转角度控制...

#include

typedef unsigned char uchar;

typedef unsigned int uint;

typedef unsigned long ulong;

uchar code beatCode[8] = {

0xE, 0xC, 0xD, 0x9, 0xB, 0x3, 0x7, 0x6

};

ulong beats = 0;

uchar T0RH = 0, T0RL = 0;

void turnMotor(ulong angle){

EA = 0;

beats = angle * 4076 / 360;

EA = 1;

}

void setTimer0(uint ms){

ulong tmp;

tmp = 11059326 / 12;

tmp = tmp * ms / 1000;

tmp = 65536 - tmp;

tmp += 28;

T0RL = tmp;

T0RH = tmp>>8;

}

void interruptTimer0() interrupt 1{

static uchar index = 0;

TH0 = T0RH;

TL0 = T0RL;

if(beats){

uchar tmp = P1;

tmp &= 0xF0;

tmp |= beatCode[inde

你可能感兴趣的:(用c语言编写单片机控制两个步进电机旋转固定角度的程序,51单片机 步进电机旋转角度控制...)