[求助] 点阵不流动?请教!

wrlsohu   2012-2-26 14:58 楼主

下面是个点阵教程能流动,我在protues仿真不能流动,并且显示的字也不对?请教了

#include <reg51.h>

char XD[ ]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x60};

char code YD[] ={

0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,

0xb7,0xab,0xa9,0x81,0xab,0xab, 0xab,0xbf,

0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,

0xf7, 0x81, 0xb7, 0x83, 0x97, 0x83, 0xb7, 0xb7};

void delay(int x) {

       int i,j;

for(i=0;i<x;i++)

   for(j=0;j<120;j++);

}

main()

{

       int i,t,k=0;

       while(1)

{

       for(t=0;t<10;t++)

{

for(i=0;i<8;i++)

{

                     P2=XD;

            P0=YD[k+1];

                     delay(2);

}

}

        k=k+1;

              if(k>24) k=0;

}

}

 

  • 点阵.jpg
我来到

回复评论 (10)

我感觉应加定时器,还需要中断吧,为何教程视频能流动?
我来到
点赞  2012-2-28 11:43

回复 楼主 wrlsohu 的帖子

for(i=0;i<8;i++)

{

                     P2=XD;  //    这个地方有问题吧?

            P0=YD[k+1];

                     delay(2);
点赞  2012-2-28 12:40

回复 楼主 wrlsohu 的帖子

可以流動,只是不能顯示字
点赞  2012-2-29 16:21

回复 楼主 wrlsohu 的帖子

樓主可以把教程執行后顯示的字發出來嗎?
点赞  2012-2-29 16:35
改:P2=XD; 能动,但是显示的字符不对?请教高人帮忙了,谢谢

    点阵.rar (2012-3-4 14:43 上传)

    16 KB, 下载次数: 5

我来到
点赞  2012-3-4 14:43
改:P2=XD; 还是不行?
我来到
点赞  2012-3-4 23:25
奇怪!P2=XD后面有中括号内变量i,“发表”就丢失?
我来到
点赞  2012-3-4 23:27

回复 楼主 wrlsohu 的帖子

应该加上让P0等于全暗的时刻,防止前一列对后一列的滞后影响
点赞  2012-3-6 01:28

回复 楼主 wrlsohu 的帖子

楼主,9楼说指出问题了
for(i=0;i<8;i++)
{
                  P0=0;
                     P2=XD;
            P0=YD[k+1];
                     delay(2);
}
应该这样
点赞  2012-3-19 21:41
仿真有时不太靠谱
点赞  2012-3-31 11:08
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复