7-Сегментники, 74HC595(сдвиговый регистр) и SPI

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Фёдор С.В., 26 фев 2012.

  1. Здравствуйте уважаемые Амперчане. Прошу вас помочь разобраться с возникшей у меня проблемой. Значит так :
    Идея : Как всегда из-за людской жадности, я экономлю моих родных, милых и маленьких выводов микросхемы... Atmega328 (Arduino Diecimila 328). По этому я решил, что для отображения четырехзначной информации на 7-сегментниках необходимо использовать сдвигающие регистры 74hc595 (тоже 4) и интерфейс SPI.
    Материалы:
    1. Сдвигающий регистр 74hc595
    2. Схема соединения(только вместо лпт spi)
    Соответственно Q0…Q7 – выходы идущие на 7-сегментник

    ПРОБЛЕМА: Заключается в зажигании последующих 7-сегментников...
    Пишем программу как в видеоуроке и получаем:
    ....
    digitalWrite(SS. LOW);
    //здесь сигнал SS я использую не как чип селектор, а как управлющий
    //для защелкивания данных в регистрах.(ST_CP)
    SPI.Transfer(число); //1000
    SPI.Transfer(число); //100
    SPI.Transfer(число); //10
    SPI.Transfer(число); //1
    digitalWrite(SS. HIGH); //ST_CP в 1

    digitalWrite(SS. LOW); // ST_CP в 0
    ...
    И вот тут значит все и случилось, по идее когда мы гоним 32 бита данных в сдвигающие регистры (по 8 бит в каждый) они должны распространяться во 2,3,4 ый сдвигающий регист через Q7′ и потом по общему сигналу ST_CP защелкнуться, и отобразиться приятной, гармоничной, завораживающей картинкой, которая поможет обрести мне внутренний покой ... однако в результате отображается корректно только первый 7-сегментник остальные молчат. И вот не знаю почему ((( схему взята из рабочего проекта и гарантированно работает, в принципе думаю, что здесь что то не так с самой библиотекой такое ощущение, что SPI.Transfer сама защелкивает DS после посылки 8 бит , и что даже двойная посылка просто подряд дважды защелкивается в первом сдвигающем регистре , но как это исправить в самой библиотеке не разобрался, скорее всего количество передаваемых бит как то выставляется SPI_MODE но где его перенастроить не нашел ((Помоги люди добрые!!
     
  2. Простите создал тему не в том разделе ((
     
  3. Hokama

    Hokama Нерд

    Фёдор С.В. нравится это.
  4. Спасибо большое!!
     
  5. Singrana

    Singrana Нуб