
蓝桥杯
文章平均质量分 89
身在江湖的郭大侠
念念不忘,必有回响
展开
-
蓝桥杯嵌入式第十届国赛程序
第十届决赛题目考察的知识点较多,题目较为综合,主要考察两路adc,pwm输入捕获,ds18b20,数码管等。两路ADC,本程序采用注入通道。工程结构init.c#include "stm32f10x.h"#include "lcd.h"#include "init.h"#include "i2c.h"#include "stdio.h"void GPIO_In...原创 2020-04-04 13:03:36 · 1860 阅读 · 3 评论 -
蓝桥杯嵌入式第九届国赛程序----电子秤
第九届决赛题目主要考察了adc按键、串口、adc等。其中要用到两个adc通道(一个用于称重,一个用于测量adc按键)可以用2路规则通道(必须使用DMA),也可以1路使用规则通道,1路使用注入通道,这里采用后者。工程结构init.c#include "stm32f10x.h"#include "lcd.h"#include "init.h"#include "i2c.h"...原创 2020-04-04 12:29:18 · 1070 阅读 · 2 评论 -
蓝桥杯嵌入式第八届国赛程序----频率控制器
第八届决赛题目考察的知识主要是adc和频率发生和捕获。不知是不是第一次用到扩展板的缘故,考察的知识点不算多。工程结构init.c (需要注意的是,因为用到两路adc,这里我们采用注入通道的方法,可以参考前文)#include "stm32f10x.h"#include "lcd.h"#include "init.h"#include "i2c.h"#include "s...原创 2020-04-04 12:10:11 · 811 阅读 · 0 评论 -
蓝桥杯嵌入式第七届国赛程序----温、湿度监控设备
本届国赛题目较为综合,涉及adc、串口、输入捕获、输出比较等。工程结构init.c#include "stm32f10x.h"#include "lcd.h"#include "init.h"#include "i2c.h"void GPIO_Int(void){ GPIO_InitTypeDef GPIO_InitStructure; ADC_InitType...原创 2020-04-04 11:35:46 · 789 阅读 · 0 评论 -
DS18B20温度传感器程序设计
本程序对应的开发板为蓝桥杯嵌入式开发板stm32f103rbt6,为中型mcu。DS18B20是单线接口数字温度传感器,具体特征如下图。DS18B20包括寄生电源电路、64位ROM和单线接口电路、暂存器、EEPROM、8位CRC生成器和温度传感器等。寄生电源电路可以实现外部电源供电和单线寄生供电,64位ROM中存放的48位序列号用于是吧同一单线 上连接的多个DS18b20...原创 2020-04-04 01:38:09 · 4956 阅读 · 2 评论 -
DHT11温湿度传感器程序设计
本程序对应的开发板为蓝桥杯嵌入式开发板stm32f103rbt6,为中型mcu。DHT11是单线接口数字温湿度传感器,温度测量范围是0~50℃,湿度测量范围是20%~90%RH,温度测量精度是±2℃,湿度测量精度是±5%RH。DHT11包含一个电阻式感湿元件和一个NTC(负温度系数)测温元件,通过双向单线输出温湿度数据,一次数据输出为40位(高位在前,大约需要4ms),数据格式为:8位湿度...原创 2020-04-04 01:23:11 · 7225 阅读 · 0 评论 -
adc键盘
本程序对应的开发板为蓝桥杯嵌入式开发板stm32f103rbt6,为中型mcu。开发板的矩阵键盘采用adc实现,电路图如下通过测量adc测量电压从而得出按键位置。这里给出一个各按键对应的电压值和转换值的表[转换值=4095*电压值/(10000+电压值)]按键 s1 s2 s3 s4 ...原创 2020-04-04 01:08:40 · 1847 阅读 · 0 评论 -
数码管显示
本程序对应的开发板为蓝桥杯嵌入式开发板stm32f103rbt6,为中型mcu。嵌入式竞赛开发板上的3位数码管是共阴极静态显示,使用输出锁的8位移位寄存器74LS595驱动,其引脚功能如下硬件连接P4.1(PA1)-P3.1(SER)P4.2(PA2)-P3.2(RCK)P4.3(PA3)-P3.3(SCK)同时断开J1.3(PA3)-J2.3(RXD2)J1.4(...原创 2020-04-04 00:23:15 · 914 阅读 · 0 评论 -
矩形波输出与输入捕获
本程序对应的开发板为蓝桥杯嵌入式开发板stm32f103rbt6,为中型mcu。本程序用TIM1通道2(PA9)输出1kHz、占空比为25%的矩形波,并用TIM2(PA1)测量矩形波周期和脉冲宽度。初始化程序//TIM1通道2(PA9)输出矩形波初始化子程序 频率1kHz,(72000000/(999+1)*(71+1))占空比25% (249+1)/(999+1)void TIM...原创 2020-04-04 00:04:09 · 894 阅读 · 0 评论 -
嵌入式实现双路adc通道转换
本程序对应的开发板为蓝桥杯嵌入式开发板stm32f103rbt6,为中型mcu。当涉及两路甚至多路adc通道时,常用的方法有两种dma方法和注入通道,本文采用后者。adc初始化void ADC_Config(void){ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RC...原创 2020-04-03 11:22:42 · 1051 阅读 · 0 评论 -
蓝桥杯嵌入式独立按键——实现长短按
前文模板用到的是按键实现方法较为简单,但若是涉及长短按,还是建议如下的方法。//按键初始化void Key_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitSt...原创 2020-04-03 00:24:00 · 1579 阅读 · 0 评论 -
蓝桥杯嵌入式LED灯——实现状态的反转
比赛用到板子上的led较普通的多了寄存器,pd.2。同时比赛中,led是必考的,通常要求对某一个或者几个灯定时开关。这里介绍一种常用的方法——利用GPIO_Write函数实现。void LED_Disp(unsigned char ucLED){GPIO_SetBits(GPIOD,GPIO_Pin_2);GPIO_Write(GPIOC,~((ucLED)<<8));G...原创 2020-04-03 00:17:34 · 2761 阅读 · 0 评论 -
蓝桥杯嵌入式第十届省赛程序
第十届赛题程序部分较为简单,客观题相对较难。主要会用adc+led即可ok,本科组甚至没有用到EEPROM(本代码我把该功能加入)先看目录初始化函数头文件:初始化程序#include "stm32f10x.h"#include "lcd.h"#include "init.h"#include "i2c.h"void GPIO_Int(void){ GP...原创 2020-03-11 12:59:58 · 2071 阅读 · 2 评论 -
stm32各种输出的区别
最近在看数据手册的时候,发现在 Cortex-M3 里,对于 GPIO 的配置种类有 8 种之多: (1)GPIO_Mode_AIN模拟输入 (2)GPIO_Mode_IN_FLOATING浮空输入 (3)GPIO_Mode_IPD下拉输入 (4)GPIO_Mode_IPU上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out...原创 2019-03-21 19:49:59 · 1449 阅读 · 0 评论 -
一、工程的建立和流水灯的实现
笔者最近准备蓝桥杯,因而写一些心得和赛友等其它朋友共同探讨比赛,因为先前用过一段时间的stm32f10xzet6所以有点基础(捂脸),欢迎大家指出我的错误、共同进步(握爪)下面就从最基础的建工程和第一个——流水灯的实现。1.建立工程如图,在考场的电脑上面基本上会提供3.5版本的固件库,还有lcd的驱动程序以及该实验所要用的代码;有人说直接在已经写好的lcd上修改不就不用建工程了吗,其实...原创 2019-01-16 10:54:47 · 797 阅读 · 0 评论 -
三、串口、AD转换
1.串口串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段, 其重要性不言而喻。现在基本上所有的 MCU 都会带有串口, STM32 自然也不例外。而本次实验主要用到串口,rbt6有3个串口,这里我们用串口2;①、添加库文件 ②、 这里我们主要实现的功能是利用串口发送和接受消息;变量的定义:u32 TimeDelay=0;uint8_t RxBuff...原创 2019-01-30 00:29:47 · 2154 阅读 · 0 评论 -
四、定时器、PWM
1、定时器STM32F1 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。 STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 STM32 的每个通用定时器都是完全独立的,没有互相...原创 2019-02-11 02:55:52 · 1379 阅读 · 1 评论 -
五、IIC、RTC、BUZZ
1、EEPROM* 实验目的:1.掌握EEPROM AT24C02的操作方法* 2.掌握I2C总线协议和通讯原理* 程序说明:1.从EEPROM 0xff地址读出数据dat,++dat后重新写回0xff地址* 2.通过LCD显示0xff地址存储的数据,每次复位后,数值加1本次实验通过GPIO引脚模仿IIC通信,同时利用外置的EEPROM存储达到...原创 2019-02-13 02:42:31 · 5249 阅读 · 0 评论 -
蓝桥杯第五届嵌入式程序
本届试题主要考察PWM的捕获与输出;难度较大;①、库文件②、中断服务函数u8 flag=0,count=0;void USART2_IRQHandler(void){ u8 temp; if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) { USART_ClearITPendingBit(USART...原创 2019-02-28 00:34:30 · 1042 阅读 · 1 评论 -
蓝桥杯第六届嵌入式程序
①、库文件 ②、中断服务函数void RTC_IRQHandler(void){ if (RTC_GetITStatus(RTC_IT_SEC) != RESET) { /* Clear the RTC Second interrupt */ RTC_ClearITPendingBit(RTC_IT_SEC); /* Enable ...原创 2019-02-23 23:09:32 · 665 阅读 · 0 评论 -
六、半小时三等奖
网上盛传蓝桥杯半小时获得三等奖,我们来唠一下;既为应试考试尤其是选拔类的自然会有很多应试技巧,废话不多说,我们稍稍整理一下。1、就嵌入式比赛而言如果提前进入考场,会看到电脑上有一个加密的压缩包和若干软件在正式比赛前,我们可以先做些准备工作(当然我是指程序部分),首先建议自建工程,具体步骤见前文一、工程的建立和流水灯的实现2、之后我们可以新建文本文档将一些必考的内容写上包括按键、le...原创 2019-02-14 01:50:24 · 1234 阅读 · 1 评论 -
蓝桥杯第四届嵌入式程序
本次考试主要是双路PWM的输出控制;①、库函数②、初始化函数init.c#include "stm32f10x.h"#include "lcd.h"#include <stdio.h>#include "init.h"#include "i2c.h" void GPIO_Int(void){ GPIO_InitTypeDef GPIO_In...原创 2019-02-24 23:54:51 · 739 阅读 · 3 评论 -
蓝桥杯嵌入式第七届省赛程序
1、库文件建议按照需求添加,毕竟比赛的电脑运行速度堪忧;2、中断服务函数;void SysTick_Handler(void){ TimingDelay --; if(miao++==999) { miao=0; miao_flag=1; }} void USART2_IRQHandler(void){ u8 temp; if(USART_Get...原创 2019-02-19 21:10:50 · 1136 阅读 · 0 评论 -
蓝桥杯第八届嵌入式程序
本届试题虽说用到的模块较简单,但是逻辑却较为复杂;其中涉及多个变量,才可以将功能完整的实现,笔者也是参考大神程序的。①、库文件②、初始化#include "stm32f10x.h"#include "lcd.h"#include <stdio.h>#include "init.h"void GPIO_Int(void){ GPIO_InitTypeDe...原创 2019-03-01 09:49:19 · 1525 阅读 · 2 评论 -
蓝桥杯第九届嵌入式程序
本届试题看似简单,实则暗藏杀机,相比往年的题目,近两年来嵌入式难度有所提高,虽说考的模块不算多,但无疑增加了考察的灵活度,本届赛题即是典型,比如考察按键的长短按测量,我们需要检测按键按下的时间......main.c#include "key.h"#include "led.h"#include "lcd.h"#include "stdio.h"#include "at24c02...原创 2019-03-21 15:32:36 · 1153 阅读 · 1 评论 -
二、滴答定时器、LCD、按键、外部中断
1、systick是内置于stm mcu的一个低级定时器,俗称滴答定时器,使用较简单。SysTick定时器SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定...原创 2019-01-20 23:46:47 · 1301 阅读 · 1 评论