上面是液晶屏的引脚和显示图,画圈的引脚处 是对应的显示, 现在问题是,全显可以显示出来pin5-pin9的段码,但我单独写的显示代码 驱动显示不出pin5-pin9对应 的段码,请问各位大牛这种情况我应该怎么找原因呢。 pin10-pin18 我可以单独让他显示,下面是我的显示部分的程序。
应用层代码:
void showNumber(unsigned int InputDat)
{
NUM_Temp=InputDat;
if(NUM_Temp>999999) //显示6位数,
{
Temp_Num[0]=show_table[1];
Temp_Num[1]=0;
Temp_Num[2]=0;
Temp_Num[3]=0;
Temp_Num[4]=0;
Temp_Num[5]=0;
}
else if(NUM_Temp>99999)
{
Temp_Num[0]=show_table[NUM_Temp/100000];
Temp_Num[1]=show_table[NUM_Temp%100000/10000];
Temp_Num[2]=show_table[NUM_Temp%100000%10000/1000];
Temp_Num[3]=show_table[NUM_Temp%100000%10000%1000/100];
Temp_Num[4]=show_table[NUM_Temp%100000%10000%1000%100/10];
Temp_Num[5]=show_table[NUM_Temp%100000%10000%1000%100%10];
}
else if(NUM_Temp>9999)
{
Temp_Num[0]=0;
Temp_Num[1]=show_table[NUM_Temp/10000];
Temp_Num[2]=show_table[NUM_Temp%10000/1000];
Temp_Num[3]=show_table[NUM_Temp%10000%1000/100];
Temp_Num[4]=show_table[NUM_Temp%10000%1000%100/10];
Temp_Num[5]=show_table[NUM_Temp%10000%1000%100%10];
}
else if(NUM_Temp>999)
{
Temp_Num[0]=0;
Temp_Num[1]=0;
Temp_Num[2]=show_table[NUM_Temp/1000];
Temp_Num[3]=show_table[NUM_Temp%1000/100];
Temp_Num[4]=show_table[NUM_Temp%1000%100/10];
Temp_Num[5]=show_table[NUM_Temp%1000%100%10];
}
else if(NUM_Temp>99)
{
Temp_Num[0]=0;
Temp_Num[1]=0;
Temp_Num[2]=0;
Temp_Num[3]=show_table[NUM_Temp/100];
Temp_Num[4]=show_table[NUM_Temp%100/10];
Temp_Num[5]=show_table[NUM_Temp%100%10];
}
else if(NUM_Temp>9)
{
Temp_Num[0]=0;
Temp_Num[1]=0;
Temp_Num[2]=0;
Temp_Num[3]=0;
Temp_Num[4]=show_table[NUM_Temp/10];
Temp_Num[5]=show_table[NUM_Temp%10];
}
else if(NUM_Temp>=0)
{
Temp_Num[0]=0;
Temp_Num[1]=0;
Temp_Num[2]=0;
Temp_Num[3]=0;
Temp_Num[4]=0;
Temp_Num[5]=show_table[NUM_Temp];
}
Ht1621WrOneData(12,Temp_Num[0]);
Ht1621WrOneData(10,Temp_Num[1]);
Ht1621WrOneData(6,Temp_Num[2]);
Ht1621WrOneData(4,Temp_Num[3]);
Ht1621WrOneData(2,Temp_Num[4]);
Ht1621WrOneData(0,Temp_Num[5]);
}
main函数
showNumberLCD1(123456); //显示数据123456 但液晶屏上只能显示3456,现实4位。
|