让8个数码管全部显示数字

8个数码管分别显示 1,2,3,4,5,6,7,8,9

//静态显示数码管,所有数码管显示从零到1
#include<reg52.h>

sbit wei = P2^7;
sbit du = P2^6;
//数组的类型指的是每一个元素的类型, code则指定存储在代码区
unsigned int code data1[10] = {
0x3F,//0
0x06,//1
0x5B,//2
0x4F,//3
0x66,//4
0x6D,//5
0x7D,//6
0x07,//7
0x7F,//8
0x6F//9
};
void delay(unsigned int);
void main()
{
    //定义记录的变量
    unsigned char i=0;

    while(1)
    {
    //打开段选
    du = 1;
    //构造段选
    P0 = data1[i];
    //关闭段选
    du = 0;

    //打开位选
    wei = 1;
    //构造位选
    P0 = 0;
    //关闭位选
    wei = 0;
    i++;
    if(i == 10)
    {
        //再次初始化0
        i=0;
    }

    //保持小灯亮几秒
    delay(1000);

     }

}

void delay(unsigned int x)
{
    unsigned a, b;
    for(a=x;a>0;a--)
    {
        for(b=120;b>0;b--);
    }
}
原文地址:https://www.cnblogs.com/zijidefengge/p/13774085.html