單片機C語言程序設計:8 只數碼管滾動顯示數字、字符
P2=0x00; //關閉所有數碼管并延時
DelayMS(1000);
}
}
/* 名稱:8 只數碼管滾動顯示數字串
說明:數碼管向左滾動顯示 3 個字符構成的數字串
*/
#includereg51.h>
#includeintrins.h>
#define uchar unsigned char
#define uint unsigned int
//段碼表
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
//下面數組看作環(huán)形隊列,顯示從某個數開始的 8 個數(10 表示黑屏)
uchar Num[]={10,10,10,10,10,10,10,10,2,9,8};
//延時
void DelayMS(uint x)
{
uchar t;
while(x--) for(t=0;t120;t++);
}
//主程序
void main()
{
uchar i,j,k=0,m=0x80;
while(1)
{ //刷新若干次,保持一段時間的穩(wěn)定顯示
for(i=0;i15;i++)
{
for(j=0;j8;j++)
{ //發(fā)送段碼,采用環(huán)形取法,從第 k 個開始取第 j 個
P0=0xff;
P0=DSY_CODE[Num[(k+j)%11]];
m=_crol_(m,1);
P2=m; //發(fā)送位碼
DelayMS(2);
}
}
k=(k+1)%11; //環(huán)形隊列首支針 k 遞增,Num 下標范圍 0~10,故對 11 取余
}
}
c語言相關文章:c語言教程
評論