為什么按設定鍵進入溫度上下限顯示函數之后,只有一個數碼管顯示,另一個數碼管不亮
void H_temp_display() //上限溫度顯示函數
{
uchar t1,t2;
t1=H_temp/10;
display(0,t1);
t2=H_temp%10;
display(1,t2);
}
void L_temp_display() //下限溫度顯示函數
{
uchar t1,t2;
t1=L_temp/10;
display(0,t1);
delay(50);
t2=L_temp%10;
display(1,t2);
}
數碼管顯示函數
void display1(uint dat)
{
uchar t1,t2;
t1=dat/10;
t2=dat%10;
DataPort=0; //清空數據,防止有交替重影
LATCH1=1; //段鎖存
LATCH1=0;
DataPort=0xbf; //取位碼
LATCH2=1; //位鎖存
LATCH2=0;
delay_18B20(2000);
DataPort=smg_du[t1]; //取顯示數據,段碼
LATCH1=1; //段鎖存
LATCH1=0;
delay_18B20(2000); // 掃描間隙延時,時間太長會閃爍,太短會造成重影
DataPort=0; //清空數據,防止有交替重影
LATCH1=1; //段鎖存
LATCH1=0;
DataPort=0x7f; //取位碼
LATCH2=1; //位鎖存
LATCH2=0;
delay_18B20(2000);
DataPort=smg_du[t2]; //取顯示數據,段碼
LATCH1=1; //段鎖存
LATCH1=0;
delay_18B20(2000); // 掃描間隙延時,時間太長會閃爍,太短會造成重影
}
|