8只数码管滚动显示单个数字

时间:2024-05-18 15:18:56

8只数码管滚动显示单个数字
说明:数码管从左到右依次滚动显示0~7,程序通过每次仅循环选通一只数码管

8只数码管滚动显示单个数字

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//延时
void DelayMS(uint x)
{
	uchar t;
	while(x--) for(t=0;t<120;t++);
}
//主程序
void main()
{
	uchar i,wei=0x80;
	while(1)
	{
		for(i=0;i<8;i++)
		{
			P2=0xff;	   //关闭显示
			wei=_crol_(wei,1);
			P0=DSY_CODE[i];  //发送数字段码
			P2=wei;		   //发送位码
			DelayMS(300);
		}
	}
}