08- I2C 4位數 7段顯示器

參考:http://www.motoduino.com/products-english/?layout=edit&id=48 (附件有Ztlib檔)

http://softgeniedoc.dk/contents/projects/i2c8seg/i2c8seg.html(這用i2c8seg.h,附件有)

1.標準I2C介面: VCC, GND, SCL, SDA。

2.配合IO Board的A4A5孔位使用。

3.可以任意設定I2C位址,0x00~0xFF。

4.電壓範圍: 3.0V ~ 5.5V。

5.Default Address: 0x51 (舊版是0x27)

#include <ZtLib.h>

#include <Wire.h>

#define ZTSEG8B4A036A_ADDR 0x51 //(有些版本是0x27)

float test=0;

unsigned short temp;

uint8_t nb;

void setup()

{

ZT.I2cInit();

digitalWrite(13, HIGH);

Serial.begin(9600);

ZT.Seg8b4a036aUnSleep(ZTSEG8B4A036A_ADDR);

}

void loop()

{

ZT.Seg8b4a036aDisplayHex(ZTSEG8B4A036A_ADDR, 0xABCD, DISP_2BIT, DOT_BIT2);

delay(1000);

ZT.Seg8b4a036aDisplayHex(ZTSEG8B4A036A_ADDR, 0xEF, DISP_2BIT, DOT_BIT1);

delay(1000);

ZT.Seg8b4a036aDisplayHex(ZTSEG8B4A036A_ADDR, 0xABC, DISP_AUTO, DOT_BIT2);

delay(1000);

uint8_t buf[4] ={0x3F,0x06,0x5B,0x4F};

ZT.Seg8b4a036aDisplayBuff(ZTSEG8B4A036A_ADDR, buf);

delay(1000);

//顯示小數

for (unsigned short i=0; i<110; i++)

{

test += 0.1;

temp = test;

if (temp<10) nb = DISP_2BIT;

else nb = DISP_AUTO;

temp = test*10;

ZT.Seg8b4a036aDisplayDec(ZTSEG8B4A036A_ADDR, temp, nb, DOT_BIT1);

delay(20);

}

}