标题: 数码管程序有问题,求助 [打印本页]

作者: Spartan117    时间: 2016-12-16 23:20
标题: 数码管程序有问题,求助
任务;让八位数码管全部显示,从0-9循环;然后一位数码管显示一个数依次1-8。
下边的程序运行完第一步for之后就不正常了,写的是1-8一直显示,可是一但运行完for,后边就成了最后一个数码管从1开始到8,,,但是去掉for语句之后,后半部分程序正常。而且执行完任务二,程序就一直循环执行任务二(本来要连任务一一起循环执行的),这是怎么回事,麻烦大神看看程序;


#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit d=P2^6;
sbit w=P2^7;
uchar x;
uchar code num[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
void delay(int);

void main()
{
        w=1;
        P0=0x00;
        w=0;

        while(1)                           
        {
        for(x=0;x<10;x++)                       //所有的管显示同样的数字 0-9,即任务的第一步
                {
                        d=1;
                        P0=num[x];
                        d=0;
                        delay(5000);
                };
       
        d=1;                             //开始任务第二步
        P0=num[1];
        d=0;
        P0=0xff;
        w=1;
        P0=0xfe;
        w=0;
        delay(5);
       
        d=1;
        P0=num[2];
        d=0;
        P0=0xff;
        w=1;
        P0=0xfd;
        w=0;
        delay(5);
       
        d=1;
        P0=num[3];
        d=0;
        P0=0xff;
        w=1;
        P0=0xfb;
        w=0;
        delay(5);
       
        d=1;
        P0=num[4];
        d=0;
        P0=0xff;
        w=1;
        P0=0xf7;
        w=0;
        delay(5);
       
        d=1;
        P0=num[5];
        d=0;
        P0=0xff;
        w=1;
        P0=0xef;
        w=0;
        delay(5);
       
        d=1;
        P0=num[6];
        d=0;
        P0=0xff;
        w=1;
        P0=0xdf;
        w=0;
        delay(5);
       
        d=1;
        P0=num[7];
        d=0;
        P0=0xff;
        w=1;
        P0=0xbf;
        w=0;
        delay(5);
       
        d=1;
        P0=num[8];
        d=0;
        P0=0xff;
        w=1;
        P0=0x7f;
        w=0;
        delay(5);        };
}

void delay(int xms)
{
        uint i,j;       
        for(i=xms;i>0;i--)
        for(j=10;j>0;j--);
}








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1