两只袜子 发表于 2021-8-17 16:37

74HC595级联问题

级联怎么编程,我这推送过去都还是8个一组同时独立运行,。怎么让3个595一起执行1个595的指令。同图中这样的效果,程序该怎么修改



#include<reg52.h>
#include <intrins.h>
#include"delay.h"
#definenop() _nop_()


sbit shcp =P2^0;
sbit ds =P2^1;
sbit stcp =P2^2;

void LED595(unsigned int date);
unsigned char i,j,z,k;   
void main()                  //主函数
{
    while(1)
                         {                                 
               for(j=8;j>0;j--)
                                 for(i=0;i<j;i++)      
            {
                                                      led595(0x01<<i);                                 
                                    delayxms(200);}
                              }
                              
}

void led595(unsigned int date) //往595输送数据函数
{               
for(k=0;k<8;k++)
   {
   if((date<<k)&0x80)
                        ds=1;         
   else
                        ds=0;                              
      shcp=0;
      nop();      
      nop();
      shcp=1;      
   }
            stcp=0;
      nop();   
      nop();
      stcp=1;      
}

lyjian 发表于 2021-8-17 20:27

串一起的话,几个IC串就发几个字节指令。
例如3个串的话就按输出3字节发指令。

henangongda123 发表于 2021-8-18 09:50

硬件级联了,你这程序好像没有啊
for(k=0;k<8;k++)
要连续发送3个字节,24bit数据
页: [1]
查看完整版本: 74HC595级联问题