///p2.0-p2.2控制123位。-註意:不使用P2.3。
//使其顯示123,231,321,213...........分別以1的間隔無限循環。
//下面這個程序,經過仿真,符合要求。
# include & ltreg52.h & gt
#定義uchar無符號字符
sbit bit 1 = p2^0;
sbit bit 2 = p2^1;
sbit bit 3 = p2^2;
Uchar代碼dulatab[] = //數字代碼0-9
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };
// -
無效延遲(uchar時間)
{
uchar i,j;
for(I = 0;我& lt時間;i++)for(j = 0;j & lt110;j++);
}
// -
void disp_num(uchar a,b,c)
{
烏恰爾壹世;
for(I = 1;我& lt250;i++) {
P2 = 255;//關閉顯示器。
P0 = dula tab[a];
bit 1 = 0;延遲(4);
P2 = 255;//關閉顯示器。
P0 = dula tab[b];
bit 2 = 0;延遲(4);
P2 = 255;//關閉顯示器。
P0 = dula tab[c];
bit 3 = 0;延遲(4);
}
}
// -
void main()
{
while(1) {
//使其顯示123,231,321,213...........分別以1的間隔無限循環。
disp_num(1,2,3);
disp_num(2,3,1);
disp_num(3,2,1);
disp_num(2,1,3);
// disp_num(?, ?, ?);還想秀?內容,樓主可以自己寫。
// disp_num(?, ?, ?);
}
}
// -