STM32对数码管显示的控制

时间:2024-07-09 07:03:01

1、在项目开发过程中会遇到STM32控制的数码管显示应用,这里以四位共阴极数码管显示控制为例讲解;这里采用的控制芯片为STM32F103RCT6。

2、首先要确定数码管的段选的8个引脚连接的单片机的引脚是哪8个,然后确认位选的4个引脚连接的单片机的4个引脚。

列出来数码管0-9的10个数字对应的数码管段选亮的序号,

如0为ABCDEF亮,

0:ABCDEF,需要将这几段同时点亮,即写成高电平,GPIO_PIN_10|GPIO_PIN_6|GPIO_PIN_3|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_9  = 0x34a

如: HAL_GPIO_WritePin(GPIOB, 0x34a, GPIO_PIN_SET);//即将0对应的ABCDEF拉高,点亮

每一个引脚对应相应的数值,stm32f1xx_hal_gpio.h中定义:

int num[10] = {0x64b,0x48,0x453,0x45a,0x258,0x61a,0x61b,0x448,0x65b,0x65a};//对应显示0~9

 HAL_GPIO_WritePin(GPIOB, num[p], GPIO_PIN_SET);//显示每一位的0~9