求助,为什么我的数码管只显示几个管子

2019-07-14 21:13发布

为什么我的数码管只显示几个管子,但把函数放在在一个函数里面时,就显示正常
这是什么原因
麻烦大家了

#include<reg51.h>
#include"g.h"



void main()
{
        START();
        while(1)
        {
                DIG_READ();
        }

}


#ifndef _GUAN_H_
#define _GUAN_H_
//---预引用文件---//
#include<reg51.h>
#include<intrins.h>

//---重定义关键词---//
#ifndef u8
#define u8 unsigned char
#endif

#ifndef u32
#define u32 unsigned int
#endif

//---定义IO口---//
#define        duan P0
#define wela P1
#define key P2

//---定义数组--//
extern unsigned char DIG_START[];
extern unsigned char DIG_USE[];

//---定义函数---//
void START();//初始化
void DIG_READ();//显示函数

#endif


#include"g.h"
void START()
{
        u8 i;
        unsigned char DIG_START[10]=
        {
        0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
        0x7f,0x6f
        };
        unsigned char DIG_USE[10];
        for(i=0;i<8;i++)
        {
                DIG_USE[i]=        DIG_START[i];
        }
}

void DIG_READ()
{
        u8 i,j=20;
        wela=0;
        for(i=0;i<8;i++)
        {
           duan=DIG_USE[i];
           while(j--);
           duan=0;
           wela++;
           j=20;
        }
}


0条回答

一周热门 更多>