51單片機100例實例之09例
//項目名稱:8只數(shù)碼管滾動顯示多個不同字符
//項目再創(chuàng)作者:科技小宅神
//完成時間:2021/01/18
//備注:項目8沒有了。

#include <reg52.h>
#include <intrins.h>//C51內部移位函數(shù)
#define uchar unsigned char
#define uint unsigned int
//段碼表
uchar duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};//顯示0-7
//1毫秒延時程序
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=0;t<120;t++);
}
}
//主程序
void main()
{
uchar i,j,k=0x80; //常量定義
P3 = 0xff;? ? ? ?//先關閉數(shù)碼管
P2 = 0x00;
while(1)//死循環(huán)
{? ?//刷新若干次,保持一段時間的穩(wěn)定顯示
for(i=0;i<30;i++)
{
for(j=0;j<8;j++)
{
? ?P2=0x00;
? ?k=_crol_(k,1);//逐次循環(huán)左移
? ?P2=k; //發(fā)送位碼
? ?P3=duan[j];? //段碼
? DelayMS(200);
}
? ? }
P2=0x00;//關閉所有數(shù)碼管并延時
DelayMS(1000);
}
}
標簽: