單片機C語言程序設(shè)計:8 只數(shù)碼管滾動顯示數(shù)字、字符
P2=0x00; //關(guān)閉所有數(shù)碼管并延時
DelayMS(1000);
}
}
/* 名稱:8 只數(shù)碼管滾動顯示數(shù)字串
說明:數(shù)碼管向左滾動顯示 3 個字符構(gòu)成的數(shù)字串
*/
#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};
//下面數(shù)組看作環(huán)形隊列,顯示從某個數(shù)開始的 8 個數(shù)(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 下標(biāo)范圍 0~10,故對 11 取余
}
}
c語言相關(guān)文章:c語言教程
評論