freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于stm32的bldc控制系統(tǒng)設計畢業(yè)論文-在線瀏覽

2024-08-07 18:47本頁面
  

【正文】 2 timer gathering all dead zone plementary PWM wave, realize the BLDC motor control motors, with LCD nokia5110 the motor speed in real time.Keywords: STM32。 brushless DC motor。 IRF540。//定位到x列y行 while (*s) { Nokia5110WriteChar(*s)。 }}void Nokia5110WriteByte(uint8_t dat,uint8_t ){ uint8_t i。 if(==0) {Nokia5110_DC_Rest。} for(i=0。i++) { if(datamp。} else {Nokia5110_SDIN_Rest。 dat=dat1。 Nokia5110_SCLK_Set。}高級定時器TIM1和普通定時器TIM2外設設置程序include include include include include define PWM_DeadTime 100typedef unsigned int INT32U。uint8_t speed[4]。enum MotorDirection{MotorReverseFlag,MotorForwardFlag}。volatile uint32_t feedback_value。int16_t Huoer_Cnt。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 |RCC_APB1Periph_USART3, ENABLE)。//??NVIC??????? //USART3 // = USART3_IRQn。 // = 2。 //NVIC_Init(amp。 //TIM1 = TIM1_TRG_COM_IRQn。 = 1。 NVIC_Init(amp。 //TIM2 = TIM2_IRQn。 = 0。 NVIC_Init(amp。 }void BSP_PWM_Init (void) //PWM{ GPIO_InitTypeDef GPIO_InitStructure。//基本結構體變量定義 TIM_OCInitTypeDef TIM_OCInitStructure。//死區(qū)剎車結構體變量定義// RCC_ClocksTypeDef RCC_Clocks。 //TIM2 = GPIO_Mode_IN_FLOATING。GPIO_InitStructure)。 //TIM1正通道 = GPIO_Mode_AF_PP。 GPIO_Init(GPIOA, amp。 = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15。 = GPIO_Speed_50MHz。GPIO_InitStructure)。 = 1。//向上計數(shù) =2999。 /*每次從零開始計數(shù)時,產(chǎn)生更新事件(UEV)*/ = 0。TIM_TimeBaseStructure)。 // 啟用了ARR的影子寄存器(直到產(chǎn)生中斷時才能更新) //PWM波輸出 /*in upcounting mode,channelx is active as long as TIM1_CNTTIM1_CCR1,else inactive*/ = TIM_OCMode_PWM1。 = TIM_OutputNState_Enable。// CCR1(CCRCCR3) /*as output OC1,OC1N active high*/ = TIM_OCPolarity_High。 = TIM_OCPolarity_High。 /*set OIS1 bit,OC1=1 (after a deadtime if OC1N is implemented) when MOE=0 reset OIS1N bit,OC1N=0 after a deadtime when MOE=0*/ = TIM_OCIdleState_Set。 TIM_OC1Init(TIM1,amp。 //輸出通道1 /* set OC1P bit,Preload register on TIMx_CCR1 enabled. Read/Write operations access the preload register. TIMx_CCR1 preload value is loaded in the active register at each update event */ TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable)。TIM_OCInitStructure)。 //使能捕獲比較寄存器預裝載(通道2) TIM_OC3Init(TIM1,amp。 //輸出通道3 TIM_OC3PreloadConfig(TIM1,TIM_OCPreload_Enable)。 /*set OSSI bit, This bit is used when MOE=0 on channels configured as outputs When inactive, OC/OCN outputs are forced first with their idle level as soon as CCxE=1 or CCxNE=1. OC/OCN enable output signal=1) */ = TIM_OSSIState_Enable。 //TIM_LOCKLevel_1。 //0x75。 = TIM_BreakPolarity_Low 。 /*AOE=1*/ = TIM_AutomaticOutput_Enable。TIM_BDTRInitStructure)。 //AOE???1 TIM_SelectInputTrigger(TIM1, TIM_TS_ITR1)。 /*trigger interrupt enable*/ TIM1DIER |=0x0040。 //TIM1CR1 |= 0x0001。//MOE位置1 //TIM1BDTR|=115。 //開TIM1計數(shù)器觸發(fā) /*Trigger interrupt enabled*/ TIM1DIER |=0x0040。 // /*Counter enable*/ TIM2CR1|=0x0001。 //開TIM2中斷 }void huan_xiang(){ step = GPIO_ReadInputData(GPIOA)amp。 if(direction_flag==MotorForwardFlag) { switch(step)//根據(jù)轉子位置,決定CCER輸出相位和轉子偏移量 { case 0x06: { /*0011 0100 0010 0000 reset CC3NP CC3P CC3E CC2NP CC2NE CC2E CC1NP CC1NE CC1P CC1E set CC2P OC2 active low,set CC3NE OC3N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS3, OIS3N and CC3E bits set CC4P OC4 active low,set CC4E OC4 signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS4, OIS4N and CC4NE bits */ TIM1CCER =0x3420。 break。// }。 case 0x05: { /*0011 0010 0000 0100 set CC3P OC3 active low,set CC1NE OC1N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits set CC4P OC4 active low,set CC4E OC1 signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS4, OIS4N and CC4NE bits */ TIM1CCER =0x3204。 break。// }。 case 0x03: { /*0011 0000 0100 0010 set CC1P OC3 active low,set CC2NE OC2N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS2, OIS2N and CC2E bits set CC4P OC4 active low,set CC4E OC1 signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS4, OIS4N and CC4NE bits */ TIM1CCER =0x3042。 break。// }。 } } else//倒轉 { switch(step) { // case 0x06: { TIM1CCER =0x3420。 break。 // 3?6 }。 case 0x05: { TIM1CCER =0x3204。 break。 // 1?4 }。 case 0x03: { TIM1CCER =0x3042。 break。 }。 default: { TIM1CCER =0x0000。 } }}//定時器2采集霍爾信號,產(chǎn)生六步換向的觸發(fā)中斷條件void TIM2_Configuration(void){ TIM_TimeBaseInitTypeDef TIM_HALLTimeBaseInitStructure。 TIM_OCInitTypeDef TIM_HALLOCInitStructure。 /*Fills each TIM_TimeBaseInitStruct member with its default value Set the default configuration TIM_TimeBaseInitStructTIM_Period = 0xFFFF。 TIM_TimeBaseInitStructTIM_ClockDivision = TIM_CKD_DIV1。 TIM_TimeBaseInitStructTIM_RepetitionCounter = 0x0000。TIM_HALLTimeBaseInitStructure)。//TIM2_ARR=65535 //PSC預分頻 計數(shù)器的時鐘頻率CK_CNT=fck_psc/(psc[15:0]+1) 1MHz = 71。//CR1 向上計數(shù) = TIM_CKD_DIV1。//RCR TIM_TimeBaseInit(TIM2,amp。 /*Fills each TIM_ICInitStruct member with its default value Set the default configuration TIM_ICInitStructTIM_Channel = TIM_Channel_1。 TIM_ICInitStructTIM_ICSelection = TIM_ICSelection_DirectTI。 TIM_ICInitStructTIM_ICFilter = 0x00。TIM_HALLICInitStructure)。 //CCER 0x0000 1通道禁止捕獲 ??? = TIM_Channel_1。 /*reset the CC1P This bit selects IC1 is used for capture operations. capture is do
點擊復制文檔內容
化學相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1