这个用了定时器实现步进电机调速这样更省CPU到时候跟其他程序组织的时候可移植性好includecodeunsignedcharBUJIN[]={0x01,0
这个用了定时器完成步进电机调速这样更省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++ ;
}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/258108.html