
u8 NixieLED[4] = {0,0,0,0};
uint8_t LED_0F[] =
{
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
};
void LED595_100uSTask(void);
void LED595_10MSTask(void);
void LED595_100MSTask(void);
void LED595_1STask(void);
void HostIIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
SCLK = 1;
DIO = 1;
RCLK = 1;
}
void LED_OUT(u8 X)
{
u8 i;
for(i=8;i>=1;i--)
{
if (X&0x80) DIO=1; else DIO=0;
X<<=1;
SCLK = 0;
SCLK = 1;
}
}
void LED4_Display (void)
{
u8 *led_table;
u8 i;
led_table = LED_0F + NixieLED[0];
i = *led_table;
LED_OUT(i);
LED_OUT(0x01);
RCLK = 0;
RCLK = 1;
led_table = LED_0F + NixieLED[1];
i = *led_table;
LED_OUT(i);
LED_OUT(0x02);
RCLK = 0;
RCLK = 1;
led_table = LED_0F + NixieLED[2];
i = *led_table;
LED_OUT(i);
LED_OUT(0x04);
RCLK = 0;
RCLK = 1;
led_table = LED_0F + NixieLED[3];
i = *led_table;
LED_OUT(i);
LED_OUT(0x08);
RCLK = 0;
RCLK = 1;
}
void LED595_TaskManage(uint8_t TaskPeriod)
{
switch (TaskPeriod)
{
case SYSCLOCK_1MS:
LED595_100uSTask();
break;
case SYSCLOCK_10MS:
LED595_10MSTask();
break;
case SYSCLOCK_100MS:
LED595_10MSTask();
break;
case SYSCLOCK_1S:
LED595_100MSTask();
break;
default:break;
}
}
void LED595_100uSTask(void)
{
LED4_Display();
}
void LED595_10MSTask(void)
{
}void LED595_100MSTask(void)
{
}void LED595_1STask(void)
{
}