|
|
#include"nixie_tube74HC595.h"
unsigned char Segmentcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char Bitcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void init_io_74hc595()//初始化IO口
{
GPIO_InitTypeDef InitIOA;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
InitIOA.GPIO_Mode=GPIO_Mode_Out_PP;//下拉输入
InitIOA.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;
InitIOA.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&InitIOA);
}
void hc595_data(uchar q)
{
uchar w;
for(w=0;w<8;w++)
{
sd=q>>7;
q=q<<1;
sk=0;
sk=1;
}
}
void hc595_latch()
{
rk=0;
rk=1;
}
void nixie_tube_data(uchar q,uchar w)//前面是段码,后面是位码
{
hc595_data(Segmentcode[q]);
hc595_data(Bitcode[w]);
hc595_latch();
}
void hc595_display_data(uchar q[])
{
uchar w;
for(w=0;w<8;w++)
{
nixie_tube_data(q[w],w);
delay_us(500);
}
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|