標(biāo)題: 求助大神 單片機(jī)點(diǎn)陣只會(huì)整體閃爍,把開(kāi)始的35,36換一下就會(huì)是一排一排的流水燈 [打印本頁(yè)]

作者: chenl_l_    時(shí)間: 2023-4-6 21:54
標(biāo)題: 求助大神 單片機(jī)點(diǎn)陣只會(huì)整體閃爍,把開(kāi)始的35,36換一下就會(huì)是一排一排的流水燈
萌新在學(xué)習(xí)74HC595時(shí)代碼如下
#include <REG52.H>

sbit SER=P3^4;
sbit RCLK1=P3^5;
sbit SRCLK=P3^6;

void delay(int a)
        {
                while(a)
                {
                        a--;
                }
        }
        
void main()
{
        int i=0;
        int j=0;
        int b=0x01;
        P0=0x00;
        RCLK1=1;
        SRCLK=1;
        for(i=0;i<8;i++)
        {
                int c;
                b>>=i;
                c=b;
                for(j=0;j<8;j++)
                {
                        SER=c;
                        c<<=1;
                        SRCLK=0;
                        SRCLK=1;
                }
                RCLK1=0;
                RCLK1=1;
                delay(100000);
        }
}
點(diǎn)陣只會(huì)整體閃爍,把開(kāi)始的35,36換一下就會(huì)是一排一排的流水燈。
用的是普中的51開(kāi)發(fā)板

作者: zywng2153    時(shí)間: 2023-4-7 09:57
開(kāi)發(fā)板有硬件電路,然后讀讀595的Datasheet,看看時(shí)序和鎖存是怎樣控制的

作者: zch5200    時(shí)間: 2023-4-7 11:13
b的初始值是1,右移i位不全是0了么。點(diǎn)陣掃描你的延時(shí)時(shí)間太長(zhǎng)了
作者: chenl_l_    時(shí)間: 2023-4-7 11:34
zch5200 發(fā)表于 2023-4-7 11:13
b的初始值是1,右移i位不全是0了么。點(diǎn)陣掃描你的延時(shí)時(shí)間太長(zhǎng)了

明白了,感謝

作者: chenl_l_    時(shí)間: 2023-4-7 14:55
雖然不太理解之前的情況是怎么回事程序改過(guò)之后能實(shí)現(xiàn)一次亮一排了
#include <REG52.H>

sbit SER=P3^4;
sbit RCLK1=P3^5;
sbit SRCLK=P3^6;

void delay(int a)
        {
                while(a)
                {
                        a--;
                }
        }
        
void main()
{
        int i=0;
        int j=0;
        int b=0x01;
        P0=0x00;
        RCLK1=1;
        SRCLK=1;
        for(i=0;i<9;i++)
        {
          int c=b;
                                        c<<=i;
          for(j=0;j<8;j++)
                {
                                                                c>>=1;
                                                    SER=c%2;
                SRCLK=0;
                SRCLK=1;
                }
          RCLK1=0;
          RCLK1=1;
          delay(50000);
        }
}




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1