樓主理解錯誤,delay(5);不是消影時間,是維持當前顯示狀態的時間。書中消隱代碼也是錯的,達不到消隱目的。正確寫法如下:
void display(uchar shi, uchar ge)
{
P0=0x00; //送段消隱
dula=1; //段碼鎖存
dula=0;
P0=0xfe; //送位碼
wela=0; //位碼鎖存
wela=1;
P0=table[shi]; //送十位段碼
dula=1; //段碼鎖存
dula=0;
delay(5); //延時5ms,維持當前顯示狀態
P0=0x00; //送段消隱
dula=1; //段碼鎖存
dula=0;
P0=0xfd; //送位碼
wela=1; //位碼鎖存
wela=0;
P0=table[ge]; //送個位段碼
dula=1; //位碼鎖存
dula=0;
delay(5); //延時5ms,維持當前顯示狀態
} |