新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用定時器編寫的4相八拍步進電機程序

用定時器編寫的4相八拍步進電機程序

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
這個用了定時器實現(xiàn)步進電機調(diào)速這樣更省CPU到時候跟其他程序組織的時候可移植性好
#include
code unsigned char BUJIN[] = { 0x01, 0x03 , 0x02 , 0x06 , 0x04 , 0x0c , 0x08 , 0x09 } ;// 節(jié)拍代碼
unsigned char i ;
void Init_Timer1(void)
{
TMOD |= 0x10; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
TH1=0x00; //給定初值,這里使用定時器最大值從0開始計數(shù)一直到65535溢出
TL1=0x00;
EA=1; //總中斷打開
ET1=1; //定時器中斷打開
TR1=1; //定時器開關(guān)打開
}
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++ ;
}



關(guān)鍵詞: 定時器4相八拍步進電

評論


技術(shù)專區(qū)

關(guān)閉