|
楼主 |
发表于 2012-10-17 16:05:44
|
显示全部楼层
扫描的时候是一起扫描的,如果加长了需闪烁的那位,那总体的时间不久变长了么,所有的都会闪烁了。
这是我现在的显示函数,不知道怎么修改,谢谢!
void display(void)
{
if(posit==24)
posit=0;
else
posit++;
switch(posit)
{
case 0 : HC595_disp(0xFF,0xFF,0XFE);break;
case 1 : HC595_disp(0xFF,0xFF,0XFD);break;
case 2 : HC595_disp(0xFF,0xFF,0XFB);break;
case 3 : HC595_disp(0xFF,0xFF,0XF7);break;
case 4 : HC595_disp(0xFF,0xFF,0XEF);break;
case 5 : HC595_disp(0xFF,0xFF,0XDF);break;
case 6 : HC595_disp(0xFF,0xFF,0XBF);break;
case 7 : HC595_disp(0xFF,0xFF,0X7F);break;
case 8 : HC595_disp(0xFF,0xFE,0XFF);break;
case 9 : HC595_disp(0xFF,0xFD,0XFF);break;
case 10 : HC595_disp(0xFF,0xFB,0XFF);break;
case 11 : HC595_disp(0xFF,0xF7,0XFF);break;
case 12 : HC595_disp(0xFF,0xEF,0XFF);break;
case 13 : HC595_disp(0xFF,0xDF,0XFF);break;
case 14 : HC595_disp(0xFF,0xBF,0XFF);break;
case 15 : HC595_disp(0xFF,0x7F,0XFF);break;
case 16 : HC595_disp(0xFE,0xFF,0XFF);break;
case 17 : HC595_disp(0xFD,0xFF,0XFF);break;
case 18 : HC595_disp(0xFB,0xFF,0XFF);break;
case 19 : HC595_disp(0xF7,0xFF,0XFF);break;
case 20 : HC595_disp(0xEF,0xFF,0XFF);break;
case 21 : HC595_disp(0xDF,0xFF,0XFF);break;
case 22 : HC595_disp(0xBF,0xFF,0XFF);break;
case 23 : HC595_disp(0x7F,0xFF,0XFF);break;
default: HC595_disp(0xFF,0xFF,0XFF);break;
}
}
void time_to_disbuffer(void)
{
unsigned char i,pos=0;
for(i=0;i<=11;i++)
{
disbuffer[pos++]=time[i]/10;
disbuffer[pos++]=time[i]%10;
}
PORTA=0XFF;
PORTA=led_7[disbuffer[posit]];
} |
|