赞
踩
共阳极数码管,8个LED的阳极全部并联到一起引出连接+5V。点亮对应的数码管段给低电平,反之熄灭给高电平。
新建数码管SMG文件,用于装相关的驱动文件(smg.c)和头文件(smg.h)。
smg.c
#include "smg.h" void SMG_Init() //初始化数码管 { GPIO_InitTypeDef GPIO_InitStructure; //声明结构体变量用于初始化GPIO RCC_APB2PeriphClockCmd(SMG_PORT_RCC,ENABLE);//开启GPIO时钟 SMG_PORT_RCC=RCC_APB2Periph_GPIOC /*配置GPIO模式和IO口 */ GPIO_InitStructure.GPIO_Pin=SMG_PIN; //选择IO口引脚 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(SMG_PORT,&GPIO_InitStructure);//初始化GPIO SMG_PORT =GPIOC }
smg.h
#ifndef _smg_H #define _smg_H #include "system.h" #define SMG_PORT GPIOC #define SMG_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) #define SMG_PORT_RCC RCC_APB2Periph_GPIOC void SMG_Init(void);// #endif
主函数:
#include "system.h" //位带操作宏定义
#include "SysTick.h" //定时器宏定义
#include "led.h" //LED端口、引脚宏定义
#include "smg.h" //数码管驱动文件内宏定义
u8 smgduan[16]={
0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。