微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用定时器编写的4相八拍步进电机程序

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

时间: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++ ;

}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top