學習版上用的是鎖存器,主函數如下
第一個數碼管閃爍很厲害,我把按鍵延遲調低很好些,但是這樣按鍵一按就是好幾個數,按鍵延時調高,按鍵上是好了很多但是第一個數碼管可以非常慢的速度閃爍。感覺就是從上到下的執行時間太長了。。。。。主程序里我還加了儲存,無視好了
void main()
{
while(1)
{
unsigned char buf[2];
E2Read(buf, 0x80, 2);
ge = buf[0];
shi = buf[1];
if ( ge>9 )
{ ge=0; }
if ( shi>9 )
{ shi=0; }
wei=1;
P0=0xfe;
wei=0;
duan=1;
P0=LedChar[shi];
Delay(10);
duan=0;
wei=1;
P0=0xfd;
wei=0;
duan=1;
P0=LedChar[ge];
Delay(10);
duan=0;
if(k1==1)
{
Delay(15);
if(k1==1)
{
ge++;
if(ge>9)
{
ge=0;
shi++;
if(shi>9)
{
shi=0;
}
}
}
buf[0] = ge;
buf[1] = shi;
E2Write(buf, 0x80, 2);
}
if(k2==1)
{
Delay(15);
if(k2==1)
{
ge--;
if(ge<0)
{
ge=9;
shi--;
if(shi<0)
{
shi=9;
}
}
}
buf[0] = ge;
buf[1] = shi;
E2Write(buf, 0x80, 2);
}
}
}
|