大家帮我看看程序哪里出错了

2019-03-24 19:04发布

我的目的是让4位数码管从右至左显示0,然后再从右到左显示1,这样0-F循环,可是烧完程序后,数码管显示不正常,只显示0、2、4.....F,该显示1、3、5.....E的时候数码管全灭,问下大家我程序哪里出错了? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
xy363586
2019-03-26 00:22
程序应该没有问题吧,是不是硬件连接的问题.
程序如下(为使用硬件连接模板,改了下接口)
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned int m,n;
unsigned char code table[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
                             0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void DelayMS(uint x)
{
    uchar i;
    while(x--) for(i=0;i<120;i++);
}
void main()
{
    P2=0xfe;
    while(1)
        {
            for(m=0;m<16;m++)
            {
                for(n=0;n<8;n++)
                {
                    P0=table[m];
                    DelayMS(150);
                    P2=_cror_(P2,1);
                }
            }
        }
}

一周热门 更多>