请教74hc595级联的问题
本帖最后由 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
。。。。。。 你这样子不会是时钟数据锁存都连在一起了吧,级联共用时钟和锁存,数据是从每个595的数据级联端口连接下一片595的 "我每次送595数据的时候只会显示最后的送的数据,比如我送0x01然后再送0x55就所有595全部显示0x55"
你确认你是级联?贴电路图吧。
怎么觉得楼主不是级联,而是并联的,
级联的数据级联,锁存(14脚)跟时钟脚(11脚好像)并联 SXH201312 发表于 2015-1-20 14:12
怎么觉得楼主不是级联,而是并联的,
级联的数据级联,锁存(14脚)跟时钟脚(11脚好像)并联 ...
同意您的说法。 jiaowoxiaolu 发表于 2015-1-20 11:09
你这样子不会是时钟数据锁存都连在一起了吧,级联共用时钟和锁存,数据是从每个595的数据级联端口连接下一 ...
同意!! 贴出原理图看看会不会有问题、 问题已经解决是程序的问题顺便贴出原理图
P_HC595_RCLK = 1;
P_HC595_RCLK = 0;
将这两条程序加在了发送数据的前边问题解决
谢谢大家
页:
[1]