一个显示屏的问题,大婶们进来

2019-07-15 21:23发布

#include<reg52.h>
#include<intrins.h>
#define uc unsigned char
#define ui unsigned int
uc code s[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
void delay (ui);
void main()
{
     ui i;

    while(1)
    {
       P2=0xfe;
       for(i=7;i>=0;i--)
             {
         P0=s;
         P2=_cror_(P2,1);
         delay(100)        ;
            }
    }
}
void delay(ui i)
{
    uc j;
    while(i--)
    for(j=0;j<200;j++);

}

显示01234567 八个数字,故意把延迟调长啦,但是两个循环之间间隔时间很长,把延迟调短以后,数字的亮度又很低
这是怎么回事啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。