(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












Arduino平台应用

Arduino 连接图

Arduino八位数码管接线图

示例代码

 /*!
  * file 8_Digital_LED.ino
  * brief display.
  *
 * @copyright   Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @licence     The MIT License (MIT)
 * @version  V1.0
 * @date  2019-10-14
 * @get from https://www.dfrobot.com 
 */

#include <Wire.h>

#define address     0x70  

#define OSC_ON      0x21  //Open the clock
#define DISP_OFF    0x80  //turn off
#define DISP_ON     0x81  //turn on
#define BRIGHTNESS  15    //set brightness:0~15

void I2C_Write_CMD(unsigned char CMD)
{
  Wire.beginTransmission(address);
  Wire.write(CMD);
  Wire.endTransmission();
}

void I2C_Write_DATA(unsigned char reg,unsigned char DATA)
{
  Wire.beginTransmission(address);
  Wire.write(reg*2);
  Wire.write(DATA);
  Wire.endTransmission();  
}

void setup() 
{
  Wire.begin();
  I2C_Write_CMD(OSC_ON);           
  I2C_Write_CMD(DISP_ON);         
  I2C_Write_CMD(0xE0|BRIGHTNESS); 
}

void loop()
{
  I2C_Write_DATA(0,0x00);
  I2C_Write_DATA(1,0x00);
  I2C_Write_DATA(2,0x76);
  I2C_Write_DATA(3,0x77);
  I2C_Write_DATA(4,0x38);
  I2C_Write_DATA(5,0x5C);
  I2C_Write_DATA(6,0x00);
  I2C_Write_DATA(7,0x00);
  delay(1000);
  I2C_Write_DATA(0,0x00);
  I2C_Write_DATA(1,0x00);
  I2C_Write_DATA(2,0x7F);
  I2C_Write_DATA(3,0x40);
  I2C_Write_DATA(4,0x38);
  I2C_Write_DATA(5,0x79);
  I2C_Write_DATA(6,0x5E);
  I2C_Write_DATA(7,0x00);
  delay(1000);
} 

显示效果

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

变换
操作
导航
工具箱