Skip to content

Latest commit

 

History

History
68 lines (47 loc) · 5.85 KB

README.md

File metadata and controls

68 lines (47 loc) · 5.85 KB

Библиотека ShiftRegDisplay для Arduino

Библиотека для Ардуино, которая помогает использовать 74HC595 сдвиговые регистры для вывода информации на 9-разрядный дисплей 7-сегментных индикаторов.

9-разрядный дисплей:

Распиновка 74HC595:

Функционально 74HC595 состоит из: собственно, сдвигового регистра SH (от shift) и регистра хранения ST (от storage).

Данные в SH регистр вносятся последовательно - бит за битом, по фронту сигнала SH_CP. В ST регистр данные попадают по фронту сигнала ST_CP.

На выводы Q0-Q7 подаются данные из ST регистра, вне зависимости от того, что находится в данный момент в SH регистре. Сигнал OE служит выключателем подачи сигнала из ST регистра на выводы Q0-Q7: низкий уровень сигнала - данные выводятся, высокий - выводы переходят в Z-состояние (грубо говоря, электрически изолированы).

На вывод Q7S (или Q7') всегда подается сигнал из 7-го бита SH регистра. Он служит для передачи данных следующему регистру, но его можно использовать и с целью вывода дополнительного бита. Для этого потребуется:

  • ввести первые 8 битов в SH регистр по тактовому сигналу SH_CP
  • переместить данные в ST регистр по фронту тактового сигнала ST_CP
  • ввести новые 8 бит в SH регистр, где 7й бит будет соответствовать 9му.

Изучить более детально особенности сдвигового регистра 74HC595 можно в даташите: https://github.com/asilichenko/ShiftRegDisplay/blob/main/docs/pdf/74HC_HCT595.pdf

Данная библиотека позволяет упростить работу со сдвиговыми регистрами, для отображения информации на 9-разрядном 7-сегментном дисплее. Дисплей необходимо собрать по следующей схеме:

Файл для симуляции в Proteus: https://github.com/asilichenko/ShiftRegDisplay/blob/main/simulation/proteus/NineDigitDisplay.pdsprj

Видео симуляции

Видео симуляции

Вход DS регистра U1 подключен непосредственно к Ардуино. Он принимает данные и передает следующему регистру U2. Таким образом, вход DS второго регистра U2 подключен к выводу Q7S первого регистра.

Первый регистр U1 служит для вывода позиции текущего символа, а второй - собственно, для вывода символа.

Для обеспечения возможности управления позиционными выводами индикатора, входы регистров ST_CP (тактирующий ST) и OE (разрешение вывода) объединены.

Физически, соединение регистров и Ардуино выглядит следующим образом

Библиотека позволяет:

  • выводить на дисплей до 9 символов с выравниванием по любому краю
  • выводить одиночный символ в определенной позиции
  • выводить данные на дисплей в течение указанной длительности в мс
  • программно переопределять соответствие выводов и сегментов индикатора
  • выводит предопределенные символы: 16-ричные цифры, знак минуса, маленькая "о"
  • определять собственный шрифт, который не зависит от конкретного соответствия выводов сегментам
  • использовать индикаторы как с общим катодом, так и с общим анодом (в сборке, конечно, индикаторы должны быть однотипные)