请教74hc595级联的问题

2020-01-20 19:14发布

本帖最后由 viq505 于 2015-1-20 11:08 编辑

请教74hc595级联的问题:
本人第一次调试74HC595级联了9片当然我加了74HC245
我每次送595数据的时候只会显示最后的送的数据,比如我送0x01然后再送0x55就所有595全部显示0x55


我怎样做才能全部显示不一样的数据呢?
假如我想让
第1片595显示0x01
第2片595显示0x02
第3片595显示0x03
第4片595显示0x04
第5片595显示0x05
第6片595显示0x06
。。。。。。
我的代码太乱就不贴全部出来了
unsigned char code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void Send_595(unsigned char dat)        //发送一个字节
{               
        unsigned char        i;
        for(i=0; i<8; i++)
        {
                if(dat & 0x80)        P_HC595_SER = 1;
                else                        P_HC595_SER = 0;
                P_HC595_SRCLK = 1;
                P_HC595_SRCLK = 0;
                dat = dat << 1;
        }
void main()
{       
        unsigned char        i;
while(1)
{
for(i=0;i<8;i++)
         {
                Send_595(T_COM);
                P_HC595_RCLK = 1;
                P_HC595_RCLK = 0;
                P_HC595_EN=0;
        }
}
}
这样会显示
第1片595显示0x80
第2片595显示0x80
第3片595显示0x80
第4片595显示0x80
第5片595显示0x80
第6片595显示0x80
。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。