新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用定时器编写的4相八拍步进电机程序

用定时器编写的4相八拍步进电机程序

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



评论


技术专区

关闭