单个数码管控制

来自Microduino Wikipedia
跳转至: 导航搜索

目的

本课将学习怎么控制LED数码管显示不同的数字和小数点。LED数码管结构简单,体积小,功耗低,响应速度快,易于匹配,寿命长,可靠性高,造价低,广泛应用于微机控制系统及智能仪表中。

设备

Microduino-CoreSTM32/zh

  • 其他硬件设备
  • 面包板跳线 一盒
  • 面包板 一块
  • 数码管 一个
  • 470欧电阻 8个(也可以选择330Ω~660Ω)
  • USB数据连接线 一根

原理图

LED数码管有“日”字形和“米”字形两种,结构形式如下:

LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。

本实验采用“日”字形结构的LED数码管,由七个发光管组成8字形构成,加上小数点就是8个,每段的电流为5-10mA,因此每段需加330Ω~660Ω的限流电阻,以防止电流过大烧毁数码管。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮。

LED数码管的驱动方式有共阳极和共阴极两种。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。其内部结构如图所示:

本实验用一个共阳极的LED数码管做实验,其外形图如下所示。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、b、c、d、E、F。

下表为LED数码管的译码表,可根据要显示的数字或者字符查出对应引脚的状态。

实验原理图如下所示:

程序

程序代码:advance1_LEDSegmentDisplay

测试代码实现0、1、2、3、4、5、6、7、8、9、A、b、c、d、E、F和小数点的显示。

调试

首先下载测试程序,需要解压缩后放到Maple IDE目录的libraries内,然后重启Malpe IDE就能加载这个程序。 DisplayS()函数可以驱动四位数码管,支持显示数字、字符与小数点,使用简单方便。具体请自己参悟研究。

步骤一:把代码复制到IDE中,编译。

步骤二:电路连接,我们用一位共阳数码管电路图照片如下:

步骤三:下载程序,观察实验结果。

结果

数码管从每隔1s依次显示0、1、2、3、4、5、6、7、8、9、A、b、c、d、E、F和小数点。

视频