本帖最后由 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
。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>