PIC單片機驅(qū)動步進電機先正轉(zhuǎn)后反轉(zhuǎn)
本文介紹了利用PIC單片機驅(qū)動步進電機先正轉(zhuǎn)后反轉(zhuǎn)。
本文引用地址:http://www.ex-cimer.com/article/201808/384807.htm//**************************************************
//實驗?zāi)康模?/p>
//熟悉PIC單片機驅(qū)動步進電機,先正轉(zhuǎn)后反轉(zhuǎn)
//**************************************************
//**************************************************
//硬件設(shè)置:
//1、把步進電機接在J10位置上
//2、5腳是5V電源腳,1-4接步進電機線圈
//**************************************************
//**************************************************
//*****************定義頭文件**********************
//**************************************************
#include
//**************************************************
//******************定義配置位*********************
//**************************************************
__CONFIG(0x3541);
//FLASH代碼不保護,RB6和RB7為調(diào)試模式,F(xiàn)LASH不寫保護,數(shù)據(jù)代碼不保護
//RB3為數(shù)字IO口,低電壓復(fù)位使能,上電延時開,看門狗關(guān),4M晶體XT振蕩器
//**************************************************
//******************定義常量***********************
//**************************************************
#define uchar unsigned char
#define uint unsigned int
//***********************************************
//函 數(shù) 名:delay();
//入口參數(shù):無
//出口參數(shù):無
//函數(shù)作用:延時
//說 明:
//***********************************************
void delay(void)
{
uint i;
for(i=400;i>0;i--){;}
}
//***********************************************
//函 數(shù) 名:main(void);
//入口參數(shù):無
//出口參數(shù):無
//函數(shù)作用:MAIN函數(shù)
//說 明:
//***********************************************
void main(void)
{
uint i;
OPTION=0X8F; //分頻給WDT,分頻比為128
ADCON1=0X07; //設(shè)置RA口,RE口為普通IO口
TRISA=0X00; //設(shè)置RD口為輸出口
PORTA=0XDF; //RD口首先輸出高電平
while(1)
{
for(i=400;i>0;i--) //步進電機正轉(zhuǎn)
{
PORTA=0XDD;
delay();
PORTA=0XDB;
delay();
PORTA=0XD7;
delay();
PORTA=0XCF;
delay();
}
for(i=400;i>0;i--) //步進電機反轉(zhuǎn)
{
PORTA=0XCF;
delay();
PORTA=0XD7;
delay();
PORTA=0XDB;
delay();
PORTA=0XDD;
delay();
}
}
}
評論