有关P2口和P3口流水灯的求助!!!

2020-02-01 16:25发布

叙述:单片机P2口接了8个led,P3^2---P3^5接了4个led,它们依次命名为d1---d12
要求:实现d1到d12的流水灯效果
我的程序:
#include<reg52.h>
typedef unsigned char uint8;
typedef unsigned int  uint16;
main()
{        uint8 j,k;
        uint16 n;

        P0=0xff;
        P2=0xff;
        P3=0xff;
        P2=0x00;
        P3=0xc3;
        for(n=0;n<20000;n++);
        P2=0xff;
        P3=0xff;
        for(n=0;n<20000;n++);
        P2=0x00;
        P3=0xc3;
        for(n=0;n<20000;n++);
        P2=0xff;
        P3=0xff;
        for(n=0;n<20000;n++);                 
        P2=0x00;
        P3=0xc3;
        for(n=0;n<20000;n++);
        P2=0xff;
        P3=0xff;
        for(n=0;n<20000;n++);
        while(1)
        {
                if(8==j)
                {j=0;}
                P2=~(1<<j++);
                for(n=0;n<50000;n++);
                if(6==k)
                {k=2;}
                P3=~(1<<k++);
                for(n=0;n<50000;n++);
        }                        
}
恳请指出我的错误在哪里?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
武洋洋
1楼-- · 2020-02-02 09:32
jswd0810 发表于 2012-12-30 15:46

捕获.PNG (36.92 KB, 下载次数: 2)

下载附件

2013-1-2 11:35 上传


没有看出哪里有问题;还请您指教!
jswd0810
2楼-- · 2020-02-02 15:16
差一个}吧,其实你内层的while(1)可以去掉

一周热门 更多>