53放心飞 发表于 2021-1-25 21:39:03

51单片机动态数码管显示不对

以下是我的程序,编译和下载都通过但始终显示为01234567
应该显示19950126,求助大佬为什么不对
#include "reg52.h"
#include"intrins.h"

typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

u8 code smg={0x06,0x6f,0x6f,0x6d,0x3f,0x06,0x5b,0x7d};

void delay(u16 i)
{
        while(i--);

}
                                  
void digdisplay()
{
        u8 i;
        for(i=0;i<8;i++)
        {
                switch(i)
                {
                        case (0):LSA=0;LSB=0;LSC=0;break;
                        case (1):LSA=1;LSB=0;LSC=0;break;
                        case (2):LSA=0;LSB=0;LSC=0;break;
                        case (3):LSA=1;LSB=1;LSC=0;break;
                        case (4):LSA=0;LSB=0;LSC=1;break;
                        case (5):LSA=1;LSB=0;LSC=1;break;
                        case (6):LSA=0;LSB=1;LSC=1;break;                  
                        case (7):LSA=1;LSB=1;LSC=1;break;
                }
                P0=smg;                                                                                                  
                delay(100);
                P0=0x00;
        }
}

void main()
{       
       
        while(1)
        {
                digdisplay();
        }
}

页: [1]
查看完整版本: 51单片机动态数码管显示不对