第九届决赛试题(电子秤),在群文件里找到,应该是第九届的决赛题目。
先放上去代码及题目,后面博客慢慢写哈!
因为时间很久了,记不清楚具体资料是哪个了,把失效链接删除,下面这个是更新的全部蓝桥杯的资料。
链接:https://pan.baidu.com/s/1rYnqlmYpoFHUOg3wadH-uQ
提取码:b7xl
1、题目要求
- 通过资源扩展板电位器RP5 模拟称重传感器输出信号,STM32 采集 此电压信号,并计算货物重量。电子秤称重范围0-10kg。
- 通过按键选择不同货物、计费及货物单价参数设置等功能。
- 通过LCD 显示所称货物重量和货物价格等信息。
- 设备基本工作流程:选择货物(按键操作)——称重——计费(按键操作)——更新显示及串口输出。
可以看出来第九届国赛使用了扩展板的内容,并且使用到的外设主要有ADC、GPIO、串口、LCD。
2、初始化
void init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
ADC_InitTypeDef ADC_InitStructure;
DMA_InitTypeDef DMA_InitStructure;
USART_InitTypeDef USART_InitStructure;
/*********************RCC********************/
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_ADC1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |RCC_APB2Periph_GPIOD, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
/*********************LED********************/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //初始化LED引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //初始化锁存器引脚
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_SetBits(GPIOC, GPIO_Pin_All); //关闭LED
GPIO_SetBits(GPIOD, GPIO_Pin_2); //锁存器下降沿
GPIO_ResetBits(GPIOD, GPIO_Pin_2);
/*********************ADC********************/
GPIO_InitStructure.GPIO_Pin