为什么按设定键进入温度上下限显示函数之后,只有一个数码管显示,另一个数码管不亮
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); // 扫描间隙延时,时间太长会闪烁,太短会造成重影
}
|