用定时器编写的4相八拍步进电机程序
这个用了定时器实现步进电机调速这样更省CPU到时候跟其他程序组织的时候可移植性好 TMOD |= 0x10; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 TH1=0x00; //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出 TL1=0x00; EA=1; //总中断打开 ET1=1; //定时器中断打开 TR1=1; //定时器开关打开 { unsigned int k = 30 ; for(;;) { if(i == 5 ) { i = 0 ; P1 = BUJIN[a] ; a++ ; } } TH1 = 0xff ; //重新赋值 TL1 = 0x00 ; i++ ;
#include
code unsigned char BUJIN[] = { 0x01, 0x03 , 0x02 , 0x06 , 0x04 , 0x0c , 0x08 , 0x09 } ;// 节拍代码
unsigned char i ;
void Init_Timer1(void)
{
}
void main( void )
char a = 0 ; // ,
Init_Timer1() ;
if(a == 8)a= 0;
}
void Timer1_isr(void) interrupt 3
{
}
关键词: 定时器4相八拍步进电

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码