STM32F103C8T6 I/O口驱动4位共阳数码管

本文详细介绍了如何使用STM32F103C8T6微控制器通过I/O口直接驱动4位共阳数码管,包括数码管的段码定义、位码控制以及GPIO初始化配置,旨在帮助初学者掌握STM32驱动数码管的基本方法。
摘要由CSDN通过智能技术生成

STM32F103C8T6 I/O口驱动4位共阳数码管
看了网上很多的资料。很少有单独讲解STM32 I/O口直接驱动数码管的资料,有的网上还禁用了JTAG和SWD口,对很多刚入门的学者会造成不必要的麻烦。本内容注意讲解I/O口驱动数码管。
话不多说,附上原理图,PA0-PA7接数码管段码;
PB0,PB1,PB2,PB5接数码管的位码。
在这里插入图片描述

#include “led.h”
#include “SysTick.h”

u16 seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳
//u16 seg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴
u8 DisPlayData[4];
extern u16 tim4Cnt;
u8 g=0,s=0,num=0;
#///*******************************************************************************
//* 函 数 名 : LED_Init
//* 函数功能 : LED初始化函数
//* 输 入 : 无
//* 输 出 : 无
//******************************************************************************/
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量
//
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //开启复用引脚时钟,123
// //设置数码管位选GPIO
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置推挽输出模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(GPIOB,&GPIO_InitStructure); /
初始化GPIOB /
GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5|GPIO_Pin_2);
//
// //设置数码管段选GPIO
//
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置推挽输出模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(GPIOA,&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值