80C51 单片机 数码管显示循环数字

#include<reg52.h>
#define uchar unsigned char
#define uint unsighen int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //code ,则表示该数组放在程序代码中,不加code这表示放在存储器中,而我们的存储器很宝贵
sbit dula=P2^6;	//段选
sbit wela=P2^7;	//位选
void delay(uint x)	 //延时函数
{
	uchar i;
	while(x--)
	for(i=0;i<110;i++);
}
void main()
{
	uchar i;
	wela=1;		 //打开位选
	P0=0XC0;	 //表示6个数码管都显示
	wela=0;		 //关闭位选
	for(i=0;i<16;i++)
	{
		dula=1;	   //打开段选
		P0=table[i];
		dula=0;	   //关闭段选,即保存结果
		delay(1000);
	}

}

80C51 单片机 数码管显示循环数字_第1张图片

80C51 单片机 数码管显示循环数字_第2张图片

80C51 单片机 数码管显示循环数字_第3张图片80C51 单片机 数码管显示循环数字_第4张图片

你可能感兴趣的:(单片机,数码管)