数码管显示头像和图案的代码分析
这段代码的作用是控制数码管显示不同的图案。首先,头像的部分使用了四个数码管,分别显示温度值的百位、十位、个位,以及一个空位。然后,如果检测到S4按键被按下,程序会进入循环,依次显示另外两种图案。第一个图案是一个四位数码管,依次显示'0'、'2'、'16'、'5'。第二个图案是三个数码管,分别显示温度值的十位、百位和个位,以及一个空位。最后,程序用DelaySMG(100)函数控制了每个数码管显示的时间间隔,以达到闪烁的效果。
DisplaySMG_Bit(7,SMG_NoDot[12]);
DelaySMG(100);
DisplaySMG_Bit(6,SMG_NoDot[(temp/10)%10]);
DelaySMG(100);
DisplaySMG_Bit(5,SMG_NoDot[(temp/100)%10]);
DelaySMG(100);
DisplaySMG_Bit(4,0xff);
DelaySMG(100);
DisplaySMG_Bit(3,0xff);
DelaySMG(100);
DisplaySMG_Bit(2,0xff);
DelaySMG(100);
DisplaySMG_Bit(1,SMG_NoDot[1]);
DelaySMG(100);
DisplaySMG_Bit(0,0xc1);
DelaySMG(100);
if(S4==0)
{
while(1)
{
DelaySMG(100);
DisplaySMG_Bit(7,SMG_NoDot[0]);
DelaySMG(100);
DisplaySMG_Bit(6,SMG_NoDot[2]);
DelaySMG(100);
DisplaySMG_Bit(5,SMG_NoDot[16]);
DelaySMG(100);
DisplaySMG_Bit(4,SMG_NoDot[5]);
DelaySMG(100);
DisplaySMG_Bit(3,SMG_NoDot[0]);
DelaySMG(100);
DisplaySMG_Bit(2,0xff);
DelaySMG(100);
DisplaySMG_Bit(1,SMG_NoDot[2]);
DelaySMG(100);
DisplaySMG_Bit(0,0xc1);
DelaySMG(100);
if(S4==0)
break;
}
}
if(S4==0)
{
while(1)
{
DelaySMG(100);
DisplaySMG_Bit(7,SMG_NoDot[(temp/10)%10]);
DelaySMG(100);
DisplaySMG_Bit(6,SMG_NoDot[(temp/100)%10]);
DelaySMG(100);
DisplaySMG_Bit(5,0xff);
DelaySMG(100);
DisplaySMG_Bit(4,0xff);
DelaySMG(100);
DisplaySMG_Bit(3,0xff);
DelaySMG(100);
DisplaySMG_Bit(2,0xff);
DelaySMG(100);
DisplaySMG_Bit(1,SMG_NoDot[3]);
DelaySMG(100);
DisplaySMG_Bit(0,0xc1);
DelaySMG(100);
break;
}
}
检查S4是否等于0 让三个程序顺序显示不同的显示效果
这段代码使用了多个函数,例如:
- DisplaySMG_Bit(bit,data):控制数码管的显示,bit参数表示数码管的位数,data参数表示要显示的数据。
- DelaySMG(time):延时函数,time参数表示延时的时间。
代码通过检测S4按键的状态来控制不同的显示效果,并使用DelaySMG()函数控制每个数码管的显示时间间隔,以达到闪烁的效果。
原文地址: https://www.cveoy.top/t/topic/m8av 著作权归作者所有。请勿转载和采集!