//實驗目的:步進電機的使用
//1、步近電機的驅動
//2、如何控制步進電機的位移距離
//系統(tǒng)設計
//1、本實驗采用4相4拍步進電機,步進角為7.5
//2、步進電機驅動口連接在RA0-RA3
//硬件要求:
//撥碼開關S1第6位到第8位置ON,S1其他位和其他撥碼開關斷開
#include //調用頭文件
__CONFIG(0x1832);
//芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩
char step1=9; //第1步
char step2=0x0c; //第2步
char step3=6; //第3步
char step4=3; //第4步
void delay(); //申明延時函數(shù)
//**********************主函數(shù)*************************
void main()
{
char loop; //申明循環(huán)變量
ADCON1=0x7; //設置A口做普通數(shù)字口
TRISA=0X00; //設置A口為輸出
for(loop=12;loop--;) //電機旋轉一周需要循環(huán)12次( 360/(7.5*4) )
{
PORTA=step1; //驅動第1步
delay(); //延時
PORTA=step2; //驅動第2步
delay();
PORTA=step3; //驅動第3步
delay();
PORTA=step4; //驅動第4步
delay();
}
while(1) //停止轉動
{
PORTA=0;
}
}
//**********************延時函數(shù)***********************
void delay()
{
char i,j;
for(i=100;i--;)
{
for(j=255;j--;);
}
}