找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1231|回复: 0
打印 上一主题 下一主题
收起左侧

数码管程序有问题,求助

[复制链接]
跳转到指定楼层
楼主
ID:155357 发表于 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--);
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表