博主参加国赛有点皮,准备的不够就参赛了,结果国赛没敲出来数码管实在有点可惜。望看到本文的朋友在准备国赛一定要把这个功能做到盲打出来,第十届国赛没提供数码管的驱动。
void SEG_DisplayValue(u8 Bit1, u8 Bit2, u8 Bit3)
{
u8 i = 0; //
u8 code_tmp = 0;
/*
*略过部分代码
*/
code_tmp = Seg7[Bit1];
for(i=0;i<8;i++){
if(code_tmp & 0x80){
SER_H;
}else{
SER_L;
}
SCK_H;//数据移位
code_tmp = code_tmp << 1;
SCK_L;
}
RCLK_H; //上升沿时移位寄存器进入存储寄存器
RCLK_L; //下降沿是数据保持不变
}
u8 code t_display[]={ //标准字库
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,
//black - H J K L N o P U t G Q r M y
0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,
//0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1
0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46};
// 0 1 2 3 4 5 6 7 8 9
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77
PA5 ADC_12_IN5
背下ADC按键区间
ADC值 | ADC按键区间 |
---|---|
0 | <100 |
200 | <400 |
600 | <800 |
1000 | <1200 |
1300-1400 | <1600 |
1700-1900 | <2000 |
2100-2400 | <2600 |
2800-3000 | <3200 |
Byte0 | Byte1 | Byte2 | Byte3 | Byte4 |
---|---|---|---|---|
湿度整数数据 | 湿度小数数据 | 温度整数数据 | 温度小数数据 | 校验和 |
void Delay_LCD(u16 n)
{
u16 i,j;
for (i = 0;i<n;++i)
for(j=0;j<3000;++j);
}
//将里面的 3000 改成 8 运行一次大概 1us
//运行次数越少比1us越多
//运行次数越多比1us越少
第十届提供了底层接口,比赛会下面这些就好了
0xCC OW_SKIP_ROM
0x44 DS18B20_CONVERT
0xCC OW_SKIP_ROM
0xBE DS18B20_READ
NULL
AD通道号就是Pin号
省赛内容没什么好说的
NULL
比较捕获模式万能解题。如果题目不是要求同时采集CH1和CH2可以用PWM捕获模式挺好用的,改进一下可以不使用中断直接读取出占空比和频率,效率挺高。
PA1 TIM2_CH2
PA2 TIM2_CH3
PA6 TIM3_CH1
PA7 TIM3_CH2
萝卜青菜各有所爱,好看就行了
LCD_SetBackColor(Blue);//界面标题
LCD_SetTextColor(White);
//Line0 1
LCD_SetBackColor(White);//界面内容
LCD_SetTextColor(Blue);
//Line1-7 7
LCD_SetBackColor(Blue);//界面介绍
LCD_SetTextColor(Black);
//Line89 2
蓝桥杯嵌入式STM32 零碎笔记
蓝桥杯嵌入式 错题本
省赛及国赛的赛题的实现代码可以在我的下载里面找到