蓝桥杯国赛备赛(嵌入式组)

news/2024/11/30 18:42:04/

一、数码管(拓展板)(共阴接法)

引脚控制
PA3 :RCLK 串型存储时钟输入 (上升沿有效)
PA2 :SCK 串行移位时钟输入(上升沿有效)
PA1 :SER 串型数据输入

发送数据时先发高位:因为会通过移位寄存器将他移到最后一个位置。

1、程序设计
(1)拓展板跳线帽连接(如下图)
在这里插入图片描述
(2)配置PA1、PA2、PA3为推挽输出
(3)通过STC-ISP软件得到数码管显示“段选”
(4)根据595芯片工作原理,编写seg_display函数(先发送高位)

1.1、共阴数码管码表
在这里插入图片描述
1.2、程序

“seg.c”

#include "seg.h"#define	SER_H	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET)
#define	SER_L	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET)#define	SCK_H	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET)
#define	SCK_L	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET)#define	RCK_H	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET)
#define	RCK_L	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET)u8 seg_buf[3];	// 数码管显示缓存数组
u8 seg_code[]={
//   0    1    2    3    4    5    6    7    8    9   0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};void Seg_Display(void)
{u8 i;for(i=0;i<8;i++){if(seg_buf[2] & 0x80)	SER_H;else SER_L;SCK_L;SCK_H;seg_buf[2] <<= 1;}for(i=0;i<8;i++){if(seg_buf[1] & 0x80)	SER_H;else SER_L;SCK_L;SCK_H;seg_buf[1] <<= 1;}for(i=0;i<8;i++){if(seg_buf[0] & 0x80)	SER_H;else SER_L;SCK_L;SCK_H;seg_buf[0] <<= 1;}RCK_L;RCK_H;
}

“seg.h”

#ifndef __SEG_H
#define __SEG_H#include "main.h"extern u8 seg_buf[3];
extern u8 seg_code[];
void Seg_Display(void);#endif

main.c

void Seg_Process()
{HAL_Delay(100);seg_cnt++;	seg_buf[0] = seg_code[seg_cnt/100];seg_buf[1] = seg_code[seg_cnt/10%10];seg_buf[2] = seg_code[seg_cnt%10];Seg_Display();
}

现象:数码管从0开始加

二、双路ADC采集(扩展板)

引脚:
PA4:RP5滑动变阻器
PA5:RP6滑动变阻器

在这里插入图片描述
2.1、程序设计步骤
(1)按上图接好线
(2)配置PA4、PA5为ADC采集模式,并设为单端模式
(3)配置ADC2的转换通道数为2
(4)测试HAL_ADC_Start的ADC启动函数和HAL_ADC_GetValue的ADC读取函数
在这里插入图片描述
代码
main.c

void ADC_Process()
{//RANK1 - ADC2_IN17HAL_ADC_Start(&hadc2);//开启adcvolt_rp5 = HAL_ADC_GetValue(&hadc2)/4095.0f*3.3f;	//读取通道1//RANK2 - ADC2_IN13HAL_ADC_Start(&hadc2);volt_rp6 = HAL_ADC_GetValue(&hadc2)/4095.0f*3.3f;//读取通道2
}

三、光敏电阻(扩展板)

1、接线
PA3:光敏电阻开关量信号
PA4:光敏电阻的分压模拟电压值
在这里插入图片描述
2、程序设计

(1)接线如上图
(2)配置PA4为ADC采集模式,并设置单端模式
(3)配置PA3为gpio输入模式
(4)测试ADC采集和GPIO读取功能


http://www.ppmy.cn/news/153942.html

相关文章

打印一张一块钱合理吗?哪里打印价格便宜

打印店打印资料一块钱一张合理吗&#xff1f;很多人认为一元打印一张是非常不合理的&#xff0c;但是遇到一些比较棘手的情况&#xff0c;比如打印的页数不多的时候&#xff0c;打印资料要的比较着急的时候&#xff0c;很多人都会不顾价格的昂贵而直接打印。 但是对于一些不太…

普通光与激光的区别

1&#xff0c;什么是光&#xff1f; 光是“电磁波”的一种。“电磁波”存在波长这一标准&#xff0c;波长由长到短分别被称为电波、红外线、可见光、紫外线、 X 射线、Y 射线等 2&#xff0c;什么是颜色&#xff1f; 当射到物体上的光有一部分波长无法被物体吸收而被反射回来…

国产激光打印机控制系统解决方案

打印机是最常用的办公设备之一&#xff0c;随着数据的快速增长和人们对打印质量要求日益增高&#xff0c;需要更复杂的数据表达方式和更高速的数据处理传输方法。利用FPGA芯片高速并行处理的优势&#xff0c;以软硬结合方式&#xff0c;实现算法并行处理和流水线优化。打印机控…

惠普M1136 MFP激光打印机打印整张纸全黑

故障&#xff1a; 请看下图&#xff1a; 故障解决&#xff1a; 分析可能是高压问题导致的整张纸打印全黑&#xff0c;那么就检查一下高压板是否有问题&#xff0c;就直接拆机检查&#xff1b; 经过拆机检查并未发现高压部分出现明显的故障痕迹&#xff0c;检查到硒鼓与高压板接…

HP LaserJet Pro P1606dn 激光打印机 - 配置 IP 地址

HP LaserJet Pro P1606dn 激光打印机 - 配置 IP 地址 文章简介 https://support.hp.com/cn-zh/document/c02839535 HP LaserJet Pro P1606dn 激光打印机内置 WEB 服务器。本文介绍了 HP LaserJet Pro P1606dn 激光打印机通过内置 WEB 服务器配置 IP 地址&#xff0c;实现网络打…

2022-2028年中国激光打印机行业市场调查研究及未来趋势预测报告

本研究报告数据主要采用国家统计数据&#xff0c;海关总署&#xff0c;问卷调查数据&#xff0c;商务部采集数据等数据库。其中宏观经济数据主要来自国家统计局&#xff0c;部分行业统计数据主要来自国家统计局及市场调研数据&#xff0c;企业数据主要来自于国统计局规模企业统…

激光打印机打印全黑

我们常用的激光打印机&#xff0c;一般不会出现大的故障&#xff0c;比如激光打印机打印全黑&#xff0c;更多的是打印机硒鼓的问题&#xff0c;机器损耗部件的磨损或者机器使用环境不好&#xff0c;保养欠佳&#xff0c;而造成的一些小故障。这次我们探讨一下激光打印机打印全…

大功率Inp半导体激光器

大功率的1.5um通信波段LD可以应用空间激光通信&#xff0c;激光雷达&#xff0c;激光制导等。1.5um的穿透烟雾的能力也更强&#xff0c;1.5um对人眼损伤阈值比850nm波段小几万倍。光纤通信更是主要是1.5um半导体激光传输。所以研究提升1.5um波段激光器的功率是个非常有意义的方…