第十一届篮桥杯相比十二届来说难度较低。没有什么难点
功能全部实现
部分关键代码
void lcd()
{
// HAL_ADC_Start_DMA(&hadc2,(uint32_t*)(ADC),1);
LCD_SetBackColor(Black);
LCD_SetTextColor(White);
if(B1==1)
{
LCD_DisplayStringLine(Line0,(uint8_t *) " Data ");
LCD_SetBackColor(Black);
LCD_SetTextColor(White);
ave=ADC[0]*3.3/4096;
sprintf(buff, " R37:%.2fV", ave);
LCD_DisplayStringLine(Line3, (uint8_t *)buff);
if(B4==1)
{
sprintf(buff, " Mode:%s", "AUTO");
LCD_DisplayStringLine(Line5,(uint8_t *) buff);
}
else
{
sprintf(buff, " Mode:%s", "MANU");
LCD_DisplayStringLine(Line5,(uint8_t *) buff);
}
}
else
{
LCD_DisplayStringLine(Line0,(uint8_t *) " Para ");
// LCD_DisplayStringLine(Line3,(uint8_t *) " ");
// LCD_DisplayStringLine(Line5,(uint8_t *) " ");
sprintf(buff, " PA6:%d ", PA6_CCR);
LCD_DisplayStringLine(Line3,(uint8_t *) buff);
sprintf(buff, " PA7:%d ", PA7_CCR);
LCD_DisplayStringLine(Line5,(uint8_t *) buff);
}
}
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
void key_scan()
{
if(B1_on)
{
while(B1_on);
B1=-B1;
}
if(B2_on&&B1==-1)
{
while(B2_on);
PA6_CCR=PA6_CCR+10;
if(PA6_CCR>90)
PA6_CCR=10;
}
if(B3_on&&B1==-1)
{
while(B3_on);
PA7_CCR=PA7_CCR+10;
if(PA7_CCR>90)
PA7_CCR=10;
}
if(B4_on)
{
while(B4_on);
B4=-B4;
}
}
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
void pwm_control()
{
if(B4==1&&ave==3.3)
{ HAL_TIM_PWM_Stop(&htim17,TIM_CHANNEL_1);
HAL_TIM_PWM_Stop(&htim3,TIM_CHANNEL_1);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);
}
if(B4==1&&ave==0)
{ HAL_TIM_PWM_Stop(&htim17,TIM_CHANNEL_1);
HAL_TIM_PWM_Stop(&htim3,TIM_CHANNEL_1);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET);
}
if(B4==1&&ave>0&&ave<3.3)
{ HAL_TIM_PWM_Start(&htim17,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
au1=ave/3.3*5000;
au2=ave/3.3*10000;
__HAL_TIM_SetCompare(&htim17,TIM_CHANNEL_1,au1);
__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_1,au2);
}
if(B4==-1)
{ HAL_TIM_PWM_Start(&htim17,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
__HAL_TIM_SetCompare(&htim17,TIM_CHANNEL_1,PA6_CCR*50);
__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_1,PA7_CCR*100);
}
}
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
void led_control()
{
GPIOC->ODR=0xFF00;
if(B1==1)
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_9,GPIO_PIN_RESET);
if(B1==-1)
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_9,GPIO_PIN_SET);
if(B4==1)
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_RESET);
if(B4==-1)
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
}
项目已开源:小恐龙/蓝桥杯 (gitee.com)