一、控制数码管的构成
在我手上的这块开发板(正点原子的nano板)控制数码管需要控制 38译码器 和 595锁存器。下面主要说明一下两块芯片的原理 以及 如何用STM32 keil的开发环境实现。
二、595锁存器 以及 38译码器
595锁存器功能简介:SCLK每来一个上升沿,DATA中的数据进入到595中,如此读八次之后,再有一个LCLK,就全部把八位数据并行输出,输出的端脚为QA~QH。
38译码器:将来自A0—A2中的三位数据转到CH1—CH8中的某一个高电平。
三、实现代码
(1)宏定义部分
//段选define
#define DATA PBout(3)
#define LCLK PBout(4)
#define SCLK PBout(5)
//段选define
//位选define
#define SISEL0 PCout(10)
#define SISEL1 PCout(11)
#define SISEL2 PCout(12)
//位选define
#define JTAG_SWD_DISABLE 0X02
#define SWD_ENABLE 0X01
#define JTAG_SWD_ENABLE 0X00
(2)定义一个给数码管显示的列表
u8 temp[] = {
0xfc,0x60,0xda,0xf2,0x66,0xb6