stm32f103rct6使用74hc138点亮数码管
时间: 2024-11-14 10:14:44 浏览: 8
STM32F103RCT6最小系统
5星 · 资源好评率100%
STM32F103RCT6是一款基于ARM Cortex-M3内核的微控制器,而74HC138是一种三线至八线译码器,常用于扩展I/O口驱动数码管。这里简述一下基本步骤:
1. **硬件连接**:
- 将STM32的GPIO口(通常选择PA或PB组)配置为输出模式,通过74HC138的输入端口控制数码管的段选信号(共阳极或共阴极)。
- 数码管的7个LED脚分别连接到74HC138的输出线上,加上公共端。
2. **软件配置**:
- 初始化GPIO,设置对应IO口为推挽输出。
- 对于74HC138,需要编写程序来生成从最低位到最高位逐位显示数字的段选信号序列。
- 使用循环和数组操作,根据当前要显示的数的每一位,生成相应的译码值,并通过GPIO输出。
```c
// 示例代码片段
uint8_t digit[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; // 数码管字形数组
void display_digit(uint8_t num) {
for (int i = 0; i < 8; ++i) {
GPIOA->ODR = ((digit[num] >> i) & 0x01) ? GPIOA->ODR | (1 << (7 - i)) : GPIOA->ODR & ~(1 << (7 - i)); // 显示相应位
}
}
```
阅读全文