(SKU:DFR0646-G/DFR0646-R) 8-Digital LED Segment Display Module

来自DFRobot Product Wiki
跳转至: 导航搜索

目录

简介

这款8位数码管提供红、绿两种颜色选择,提供16级亮度调节,尺寸小巧,提供四种从机地址,有效避免地址冲突,采用IIC通信只需要2个普通IO即可驱动,节约IO资源,不需要MCU扫描,节省MCU资源。

性能描述

  • 工作电压:DC 5V
  • 工作电流:<130mA
  • IIC总线接口
  • 16级亮度调节
  • 16x8位RAM用于存储显示数据
  • 内部 RC 振荡器
  • 四种可更改的从机地址

引脚说明

八位数码管



引脚说明
名称 功能描述
SDA 数据线
SCL 控制线
GND 电源负极
VCC 电源正极








地址修改说明

地址修改

该数码管背部预留了A0,A1两个数据位的焊盘(断开为0,连接为1),可以通过A0,A1的不同组合来实现四种从机地址(如右图所示)。
数码管地址控制器格式:

MSB D6 D5 D4 D3 D2 D1 LSB
1 1 1 0 0 A1 A0 R/W





其中:D3~D7位不可更改,进行写操作时D0位R/W=0,则:

A1 A0 地址
0 0 0xE0
0 1 0xE2
1 0 0xE4
1 1 0xE6










IIC通信协议

微处理器的数据通过两线总线接口和数码管驱动芯片通信,在输入数据时当CLK是高电平时,DIN上的信号必须保持不变;只有CLK上的时钟信号为低电平时,DIN上的信号才能改变。数据的输入总是低位在前, 高位在后传输.数据输入的开始条件是CLK为高电平时,DIN由高变低;结束条件是CLK为高时,DIN由低电平变为高电平。符合标准IIC通信协议。

四位数码管协议.png












寄存器设置

系统寄存器设置

系统设置寄存器用于设置芯片工作模式:工作模式或待机模式。

  • 当系统设置寄存器中的“S”位设为“1”时,内部系统振荡器使能。
  • 当系统设置寄存器中的“S”位设为“0”时,内部系统振荡器除能,进入待机模式。
  • 发送待机模式命令之前,建议先读取按键数据。
  • 系统设置寄存器命令如下所示
八位数码管系统寄存器.png







显示寄存器设置

该显示设置寄存器用于设置 LED 显示功能开启 / 关闭和闪烁频率。

  • 当显示设置寄存器中的“D”位设为“1”,LED 显示功能使能。
  • 当显示设置寄存器中的“D”位设为“0”,LED 显示功能除能。
  • 在闪烁期间,显示功能除能状态下, 所有 ROW 和 COM 输出都为高阻抗。
  • 在按键扫描期间,显示功能除能状态下,所有 ROW 引脚设为输入,COM0~COM3 继 续扫描,COM4~COM7 输出为高阻抗。
  • 显示闪烁频率通过闪烁命令选择不同闪烁频率。闪烁频率为系统频率的整数倍。系统频率和闪烁频率之间的关系比取决于芯片的工作模式,如下所示。
  • 如下图示,闪烁频率 = 2Hz。
闪烁波形.png








  • 显示设置寄存器命令如下表格所示。
8位数码管显示寄存器.png











显示存储器-RAM结构

  • 16×8 位静态 RAM 用于存储 LED 显示数据。对 RAM 中的某一个位写“1”则相对应的 LED ROW 点亮,写“0”则相对应的 LED ROW 熄灭。
  • RAM 地址与行输出一一对应,一个 RAM 字中的每个位与纵列输出一一对应。RAM 与 LED 的映射关系如下所示。
8位数码管显示存储器.png












Arduino平台应用

Arduino 连接图

Arduino八位数码管接线图

示例代码

点击下载库文件和例程如何安装库?

 /*!
  * file 8_Digital_LED.ino
  * brief display. 0~9,A,B,C,D,E,F,H,L,P,U,-
  *
 * @copyright   Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @licence     The MIT License (MIT)
 * @author      Alexander(ouki.wang@dfrobot.com)
 * @version  V1.0
 * @date  2019-10-14
 * @get from https://www.dfrobot.com 
 */

# include "DFRobot_LED.h"

DFRobot_LED LED(0xE0); //Change it to your address

void setup()
{
  LED.begin();
}

void loop()
{
  LED.Print("NNHALONN"); //print "halo"   NOTE:'P' is capitalized
  delay(1000); 
  LED.Print("N,N,8,Dashes,L,E,D,N"); //print "8-led"  NOTE:"Dashes" is stands for - , 'N' is stands for off
  delay(1000);  
}

显示效果

八位数码管显示1.jpg
八位数码管显示2.jpg
个人工具
名字空间

变换
操作
导航
工具箱