看单片机原理图-输入输出电路LED指示、按键输入

本文详细介绍了STM32单片机最小系统中的按键和LED电路。在按键部分,阐述了按键未按下时GPIO引脚的高电平状态,以及按下时的低电平变化,并提到了C15电容的消抖作用。在LED部分,解释了不同颜色LED的压降和电流关系,以红色和蓝色LED为例说明如何通过GPIO控制LED的亮灭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

看单片机原理图-最小系统
看单片机原理图-最小系统电源电路
看单片机原理图-输入输出电路LED指示、按键输入



前言

硬件:百问网100ASK_STM32F103_MINI开发板(STM32F103C8T6)
IDE:KEIL 5
按键GPIO口为:PA0
串口为:PA10(USART1_RX)、PA9(USART1_TX)
原理图如下:
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、按键

在这里插入图片描述

从按键的原理图可知,按键K2在没有被按下的时候,网络KEY对应的GPIO引脚PA0 的输入状态为高电平
(由电阻R20上拉到3V3),当按键按下时,GPIO引脚的输入状态由高电平变为低电平 (按键所
在的电路导通,引脚接到地)。只要我们检测引脚的输入电平,即可判断按键是否被按下。这里的C15复起到硬件消抖的作用。

四、LED指示灯

在这里插入图片描述
贴片发光二极管主要有三种颜色,三种发光二极管的压降各有不同,具体压降参考值如下:

LED颜色压降
1.82-1.88V,电流5mA
绿1.75-1.82V ,电流3mA
3.1-3.3V,电流8mA

D1为红色贴片LED,压降在1.8V左右,那么LED的电流就是 (3.3-1.8)/10K = 0.14mA
在省略二极管本身电阻的情况下,流过D1的电流就是0.14mA;
D2为蓝色LED,D2的正极已经固定为3V3,负极通过限流电阻R22接网络LED在这里插入图片描述LED连接到MCU的PA1,当PA1设置为高电平时,D2的正极和负极都为3V3,没有压降,也没有电流流过,D2灯灭,如果将PA1设置为低电平,D2正极和负极有压降,而且有电流流过,D2灯亮。

### JVM 中运行时常量池的概念 运行时常量池是每个类或接口在其被加载到JVM时创建的一个特殊区域,用于存储编译期已确定的各种字面量和符号引用。这部分数据在类加载阶段即被载入内存,并在整个程序执行期间保持有效[^1]。 ### 运行时常量池的结构 运行时常量池包含了多种类型的条目,主要包括但不限于: - 字符串常量:直接写在代码中的字符串字面量会被保存在这里; - 类和方法的信息:如全限定名、字段描述符等; - 数值型字面量:整数、浮点数等基本类型的数据也会在此处找到它们的位置; - 符号引用:指向其他类的方法表项或其他资源链接信息; 值得注意的是,在不同版本的Java Development Kit (JDK)中,某些特定组件的位置有所变化。例如,自 JDK 7 起,原本位于永久代(PermGen Space)内的字符串常量池已被迁移至堆区内存空间内[^2]。 ### 运行时常量池的功能与作用 #### 提升性能 通过缓存频繁使用的对象实例——特别是对于不可变的对象如`String`来说尤为重要。每当遇到相同的字符串字面量时,JVM可以直接从已有记录里获取而无需重新分配新的实例,从而节省了时间和空间上的成本[^4]。 #### 减少冗余 由于所有相同内容的文字都会共享同一个实体副本,因此可以有效地防止因多次声明同一变量而导致不必要的膨胀现象发生。 #### 错误检测 当尝试向运行时常量池添加新成员却遭遇超出容量限制的情况时,虚拟机会触发 `java.lang.OutOfMemoryError` 异常来警告开发者当前环境下的可用资源不足以支持进一步的操作需求[^3]。 ```python # Python 示例仅作说明用途,实际逻辑对应于 Java 的 String 实现细节 string_pool = {} def intern_string(s): if s not in string_pool: string_pool[s] = s return string_pool[s] s1 = "hello" s2 = "hello" print(intern_string(s1) is intern_string(s2)) # True 表明两个字符串实际上是指向同一个内部表示形式 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值