Найти тему
miti-mti

28C16 EEPROM как дешифратор/драйвер для семи сегментного инактора

28C16
28C16

Доброго времени суток, друзья. в этой статье я постараюсь рассказать про то как можно из EEPROM (параллельным интерфейсом) сделать неплохую индикацию на семи сегментном индикаторе.

В первой схеме суть его скорее наглядная, чем практическая, хотя и в практике может и такое понадобиться))

когда не одной кнопки не нажато то на индикаторе горит цифра 0. достигается это зашитой в памяти EEPROM по нулевому адресу число 00111111 или 0х3F далее нажимая кнопку по адресной линии А0 мы начинаем задействовать ячейку памяти по адресу 0х01 в которой в свою очередь записано число 1 или 0х05. ниже я приведу таблицу по каким адресам и какие числа нужно записать в EEPROM для работы данного индикатора:

таблица
таблица

в каком-то плане всё просто, да конечно могут возникнуть сложности в записи подобного EEPROM. Но его можно записать разными способами начиная от программатора заканчивая кнопками с тумблерами. Даже с помощью ардуино это можно сделать.

Также можно увеличить количество сегментов и организовать динамическую индикацию с помощью микросхемы
CD4049. Это Инвертирующий буфер на котором собран генератор сигналов с двумя выходами один из них инвертирующий. Принцип достаточно прост, на RC цепочке и двух Инвертирующих буферах у которых присутствует задержка в 50 нс. Генерируются колебания, которые поступаю в адресную линию A7 в EEPROM и на первый сегмент далее через ещё один инвертирующий буфер сигнал поступает на второй сегмент, что позволяет организовать в памяти две страницы по странице для каждого сегмента.

схема
схема

Самое сложное это рассчитать что записывать в EEPROM, так как теперь у нас вход то-есть адресные линии 20с16 принимают полноценные числа в двоичной системе счисления. Хотя тут главное начать)) я попробую для примера расписать что должно быть в EEPROM для индикации 01.


и так, на адресные линии
EEPROM мы подаём цифру один. 0000001 0х01 на момент когда генератор на CD4049 генерирует высокий уровень на EEPROM активируется адрес 00010000001 0х81, где записано число 1 для семи сегментного индикатора 0х05 далее этот сигнал инвертируется на буфере 4049 и активирует индикатор номер 2 где и должна будет отобразиться цифра один. После генератор генерирует низкий уровень. "Страница" в памяти 28с16 переключается по адресу 00000000001 0х01 где в свою очередь записан ноль 0х37 для семи сегментного индикатора. в то же время низкий уровень активирует первый семи сегментный индикатор, а Инвертирующий буфер 9-10 гасит индикатор 2. таким образом у нас на индикаторах отобразилась цифра 01.

спасибо что дочитали статью, если было интересно а я на это надеюсь, ставте лайки так я увижу что вам интересно))