/*
Seg8b4SetLumin(uint8_t, uint8_t, uint8_t)
 ZT.SEG8B4ģʾ
1Ϊģĵַ
2ȵļ
3ȵļ 
עȺͰ໥ӰʾЧڿɽܵ£ֵԽԽʡ
*/
// delay ʱ1ms
#include "ztseg8b4.h"
#define ZTSEG8B4_ADDR  0x37
uint8_t buff[4];
uint8_t Nopdelay;
unsigned short testnum=0;

void Test()
{
    uint8_t i;
    Nopdelay = 1000;
    for (i=0 ;i<8; i++)
    {
        buff[0]=buff[1]=buff[2]=buff[3] = (1<<i);
        Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
        delay(Nopdelay);
    }
    Nopdelay = 100;
    for (i=3 ;i>0; i--)
    {
        buff[0]=buff[1]=buff[2]=buff[3] = 0;
        buff[i] = (1<<4);
        Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
        delay(Nopdelay);
        buff[i] = (1<<5);
        Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
        delay(Nopdelay);
        buff[i] = (1<<0);
        Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
        delay(Nopdelay);
        buff[i] = (1<<1);
        Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
        delay(Nopdelay);
        buff[i] = (1<<2);
        Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
        delay(Nopdelay);
    }
     buff[0]=buff[1]=buff[2]=buff[3] = 0xFF;
     Seg8b4DisplayBuff(ZTSEG8B4_ADDR, buff);
     delay(1000);
}
void setup()
{
  Test();
  Nopdelay = 2000;
}
void loop()
{
  if (testnum == 10) Nopdelay = 1000;
  else if (testnum == 20)  Nopdelay = 500;
  else if (testnum == 30)  Nopdelay = 200;
  else if (testnum == 40)  Nopdelay = 100;
  else if (testnum == 50)  Nopdelay = 50;
  else if (testnum == 100)  Nopdelay = 20;
  else if (testnum ==150)  Nopdelay = 10;
  else if (testnum == 600)  Nopdelay = 0;
  if (++testnum>9999)  testnum = 0;
  Seg8b4DisplayDec(ZTSEG8B4_ADDR,testnum, DISP_4BIT, DOT_NONE);
  digitalWrite(13,LOW);
  delay(Nopdelay);
  if (testnum < 200) Seg8b4SetLumin(ZTSEG8B4_ADDR,(uint8_t)testnum,0xFF);
  digitalWrite(13,HIGH);
  delay(Nopdelay);
}
