用定时器实现两个数码管同时点亮的程序:
if(smgtime==10)
{
smg_show(10);
WE_1=1;
WE_2=0;
smg_show(data/10);
}
if(smgtime==20)
{ smg_show(10);
WE_1=0;
WE_2=1;
smg_show(data);
smgtime=0;
}
现在想让数码管实现闪烁的功能,两个数码管按照一定的频率闪烁,在同时点亮的基础上加了一个关闭数码管的功能,我是这样编写的,
if(smgtime==10)
{
smg_show(10);
WE_1=1;
WE_2=0;
smg_show(data/10);
}
if(smgtime==20)
{ smg_show(10);
WE_1=0;
WE_2=1;
smg_show(data);
}
if(smgtime==30)
{
smg_show(10);
smgtime=0;
}
出现的问题是,第二个数码管的亮度比第一个数码管亮度明显,第一个数码管出现明显的闪烁,第二个数码管闪烁不明显。硬件电路是这样设计的,
74HC573驱动段选,数码管是共阴极的,单片机通过三极管来控制公共端。
现在问题不知道出现在哪里,请大家帮我分析一下,谢谢。
{
smg_show(10);
WE_1=0;//关闭显示
WE_2 =0;
}
if(smgtime==30000) //关闭显示要足够长时间才能“闪”
{
smgtime =0
}
一周热门 更多>