标题: 关于C语言for循环的问题,帮忙解惑 [打印本页]

作者: javastory    时间: 2021-5-26 15:01
标题: 关于C语言for循环的问题,帮忙解惑
8*16的点阵,74HC154管16列,两个74HC595各管8行。设计的是led从左向右然后从右向左来回往返点亮。
代码如下:
//第一个for循环图案向右移动
for (col=0;col<15;col++){
                P2=col;
                SendDataRed(tempred);
                RCK_5451 = 0;
                RCK_5452 = 0;
                RCK_5451 = 1;
                RCK_5452 = 1;
                Delay(300);
        }
        //CleanAll();   //清除74HC595信息
        //P2=0xff;   //清除74HC154信息
//第二个for循环图案向左移动        
        for (col=15;col>0;col--){
                P2=col;

                SendDataRedLeft(tempred);
                RCK_5451 = 0;
                RCK_5452 = 0;
                RCK_5451 = 1;
                RCK_5452 = 1;
                Delay(300);
        }


现象:
1、当两个for循环或第一for循环的col设为16时,图案向左移动到最后第16列的时候,最左边第一列会亮一次,然后开始第二个for循环,图案开始从右向左移动;

2、当第一个for循环col设为16,第二个for循环设为col=15;col<=0;col--的时候,图案从左向右移动到第16列后,图案就开始从右向左移动,并且保持不变;

3、只有当两个循环的col都设为15的时候,图案就是从左向右,从右向左往返运动。

没有搞清楚原因,各位能否给解释一下?谢谢!





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