|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
把这个子程序里的内容放到主程序里,四位数码管可以正常显示,但是从主程序里调用就只能显示一位,把IF块改为从1到4的for循环也一样不能正常显示,想不通为什么?请教大家应该怎么改?
void display_ADC(unsigned char adc,unsigned char display_time)//ÏÔʾ³ÌÐòÄ£¿é»¯£¬Ö»ÐèÒª¸Ä±äData1/2/3/4µÄÖµ¾Í¿ÉÒÔ¿ØÖÆÏÔʾÄÚÈÝ
{
Data1=adc/1000;
Data2=adc/100; //°ÙλÊý¾Ý
Data3=adc%100/10; //ʮλÊý¾Ý
Data3=Data3; //¼Ó10£¬displayº¯ÊýÏÔʾµÄÊý×Ö»á´øÐ¡Êýµã
Data4=adc%10; //¸öλÊý¾Ý
if(display_time==1 && Data1>0 && Data2>0)//µÚ0´ÎÏÔʾµÚÒ»¸öÊýÂë¹Ü
{
B1=1;B2=1;B3=1;B4=1; DA=0;DB=0;DC=0;DD=0;DE=0;DF=0;DG=0;DP=0; //¹Ø±ÕËùÓÐÊýÂë¹ÜÏÔʾ
display_SEG(Data1); //·¢Ë͵Ú1λÊý¾Ý
B1=0; //¿ªµÚ1λ¹«¹²¶ËÒÔÏÔʾµÚ1λÊý
}
if(display_time==2)//µÚ1´ÎÏÔʾµÚ¶þ¸öÊýÂë¹Ü
{
B1=1;B2=1;B3=1;B4=1; DA=0;DB=0;DC=0;DD=0;DE=0;DF=0;DG=0;DP=0; //¹Ø±ÕËùÓÐÊýÂë¹ÜÏÔʾ
display_SEG(Data2); //·¢Ë͵Ú2λÊý¾Ý
B2=0; //¿ªµÚ2λ¹«¹²¶ËÒÔÏÔʾµÚ2λÊý
}
if(display_time==3)//µÚ2´ÎÏÔʾµÚÈý¸öÊýÂë¹Ü
{
B1=1;B2=1;B3=1;B4=1; DA=0;DB=0;DC=0;DD=0;DE=0;DF=0;DG=0;DP=0; //¹Ø±ÕËùÓÐÊýÂë¹ÜÏÔʾ
display_SEG(Data3); //·¢Ë͵Ú3λÊý¾Ý
B3=0; //¿ªµÚ3λ¹«¹²¶ËÒÔÏÔʾµÚ3λÊý
}
if(display_time==4)//µÚ3´ÎÏÔʾµÚËĸöÊýÂë¹Ü
{
B1=1;B2=1;B3=1;B4=1; DA=0;DB=0;DC=0;DD=0;DE=0;DF=0;DG=0;DP=0; //¹Ø±ÕËùÓÐÊýÂë¹ÜÏÔʾ
display_SEG(Data4); //·¢Ë͵Ú4λÊý¾Ý
B4=0; //¿ªµÚ4λ¹«¹²¶ËÒÔÏÔʾµÚ4λÊý
}
}
|
|