PIC单片机驱动步进电机先正转后反转

时间:2018-08-01来源:网络

本文介绍了利用PIC单片机驱动步进电机先正转后反转。

//**************************************************

//实验目的:

//熟悉PIC单片机驱动步进电机,先正转后反转

//**************************************************

//**************************************************

//硬件设置:

//1、把步进电机接在J10位置上

//2、5脚是5V电源脚,1-4接步进电机线圈

//**************************************************

//**************************************************

//*****************定义头文件**********************

//**************************************************

#include

//**************************************************

//******************定义配置位*********************

//**************************************************

__CONFIG(0x3541);

//FLASH代码不保护,RB6和RB7为调试模式,FLASH不写保护,数据代码不保护

//RB3为数字IO口,低电压复位使能,上电延时开,看门狗关,4M晶体XT振荡器

//**************************************************

//******************定义常量***********************

//**************************************************

#define uchar unsigned char

#define uint unsigned int

//***********************************************

//函 数 名:delay();

//入口参数:无

//出口参数:无

//函数作用:延时

//说 明:

//***********************************************

void delay(void)

{

uint i;

for(i=400;i>0;i--){;}

}

//***********************************************

//函 数 名:main(void);

//入口参数:无

//出口参数:无

//函数作用:MAIN函数

//说 明:

//***********************************************

void main(void)

{

uint i;

OPTION=0X8F; //分频给WDT,分频比为128

ADCON1=0X07; //设置RA口,RE口为普通IO口

TRISA=0X00; //设置RD口为输出口

PORTA=0XDF; //RD口首先输出高电平

while(1)

{

for(i=400;i>0;i--) //步进电机正转

{

PORTA=0XDD;

delay();

PORTA=0XDB;

delay();

PORTA=0XD7;

delay();

PORTA=0XCF;

delay();

}

for(i=400;i>0;i--) //步进电机反转

{

PORTA=0XCF;

delay();

PORTA=0XD7;

delay();

PORTA=0XDB;

delay();

PORTA=0XDD;

delay();

}

}

}

关键词: PIC单片机 步进电机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版