单片机课设-直流电机控制

本文由用户“等你陪我看海”分享发布 更新时间:2022-07-28 07:23:26 举报文档

以下为《单片机课设-直流电机控制》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

/

/

void PWM_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_BaseInitStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;

TIM_BDTRInitTypeDef TIM_BDTRInitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

//开启TIM和相应端口时钟

//启动GPIO

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB,

ENABLE);

//启动AFIO

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

//启动TIM1

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

//GPIO做相应设置,为AF输出 //PA8,PB13一组互补输出 A9,PB14一组互补输出

//PA.8/9口设置为TIM1的OC1输出口

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

//PB.13/14口设置为TIM1_CH1N和TIM1_CH2N输出口

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_SetBits(GPIOA, GPIO_Pin_8 | GPIO_Pin_9);

GPIO_SetBits(GPIOB, GPIO_Pin_13 | GPIO_Pin_14);

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ay_ms(500);

TIM_SetCompare2(TIM1,motorValue);

}

}

else

{

TIM_SetCompare1(TIM1,0);

TIM_SetCompare2(TIM1,0);

}

}

}

}

//S1 启动&停止 S2翻转 S3+5 S4-5

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《单片机课设-直流电机控制》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览