STM32F103ZET6+28BYJ-48+ULN 2003 컨트롤러

7297 단어 모터 제어stm32
단편기: STM32F103ZET6, 정점원자보진전기: 28BYJ-48 구동회로:ULN2003칩의 구동판 실현효과: 버튼 KEY1 제어전기 정전기, 버튼 KEY0 제어전기 반전, 전기 운행 시간 속도는 모두 조정 가능한 모터이다.c
#include "motor.h"
#include "delay.h"
#include "led.h"


#define  A1   GPIO_SetBits(GPIOC, GPIO_Pin_3);
#define  A2   GPIO_ResetBits(GPIOC, GPIO_Pin_3);

#define  B1   GPIO_SetBits(GPIOC, GPIO_Pin_4);
#define  B2   GPIO_ResetBits(GPIOC, GPIO_Pin_4);

#define  C1   GPIO_SetBits(GPIOC, GPIO_Pin_5);
#define  C2	 GPIO_ResetBits(GPIOC, GPIO_Pin_5);

#define  D1   GPIO_SetBits(GPIOC, GPIO_Pin_6);
#define  D2   GPIO_ResetBits(GPIOC, GPIO_Pin_6);

void motor_configuration(void)
{
     
	 GPIO_InitTypeDef  GPIO_InitStructure;
		
	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	 //  PB,PE    
		
	 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;				 //PC.012     
	 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //    
	 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO    50MHz
	 GPIO_Init(GPIOC, &GPIO_InitStructure);					 //         GPIOC.5
	 GPIO_ResetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6);						 //PC.012    
		
}
void motor_control_F(int n)
{
     
	A1;
	delay_ms(n);
	A2;
	B1;
	delay_ms(n);
	B2;
	C1;
	delay_ms(n);
	C2;
	D1;
	delay_ms(n);
	D2;
}

void motor_control_Z(int n)
{
     
	A1;
	delay_ms(n);
	A2;
	D1;
	delay_ms(n);
	D2;
	C1;
	delay_ms(n);
	C2;
	B1;
	delay_ms(n);
	B2;
}
void Motor_Ctrl_Off(void){
     
	GPIO_ResetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6);
}


자세한 프로그램은 [프로젝트 파일 다운로드 주소]:(https://download.csdn.net/download/kekebb/16208040)

좋은 웹페이지 즐겨찾기