ClipArt 0 23 ноября, 2010 Опубликовано 23 ноября, 2010 · Жалоба Пытаюсь реализовать вывод 4 семисегментных индикатора. Использую сдвиговый регистр 74HC164 и транзисторные ключи. Номиналы резисторов на базах 1 кОм. Моделирую в протеусе, не работает. Проблема в транзисторном ключе, он открыт независимо от того, есть ли ток на базе. Семисегментный индикатор с общим катодом. Микроконтроллер ATtiny2313. Файл проекта прилагается. Схема: 7seg.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glupen' 0 23 ноября, 2010 Опубликовано 23 ноября, 2010 (изменено) · Жалоба ну так в зипе только DSN, а прошивки нет... :( И ток не "НА БАЗЕ", а "втекает в базу". Изменено 23 ноября, 2010 пользователем Glupen' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ClipArt 0 23 ноября, 2010 Опубликовано 23 ноября, 2010 · Жалоба Добавил тестовую прошивку. Пишем в регистр единичку и циклично сдвигаем ее. Должны гореть все сегменты старшей цифры. Но горят все цифры. 7seg.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
codenamehawk 0 24 ноября, 2010 Опубликовано 24 ноября, 2010 · Жалоба Для отладки, 1,2,3,4 выводы индикатора подтяните через резисторы 1 ком к +5В Дальше сами все поймете Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ClipArt 0 24 ноября, 2010 Опубликовано 24 ноября, 2010 · Жалоба Для отладки, 1,2,3,4 выводы индикатора подтяните через резисторы 1 ком к +5В Дальше сами все поймете Спасибо, теперь работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ClipArt 0 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба Собрал схему с учетом поправки. Однако в реальности девайс работает некорректно. Переключения между разрядами работают, все в порядке. Глюк в работе регистра сдвига. Дело в том, что при подаче разных значений на линию данных в результате получаю мусор. Опишу работу устройства. Если последовательно подать на линию данных, например, 8 единиц, то результат корректный. Сегменты индикатора загораются в правильной последовательности. Если же производить изменение уровня на линии данных, то есть, к примеру, подать 3 единицы и 4 нуля, то сначала зажигаются 3 ожидаемых сегмента, а потом начинается непонятное мне действие. Отключаются ранее включенные сегменты, причем не все. Загораются следующие сегменты, правда тоже не все. Но уровень на ножках A и B регистра низкий! При последующих включениях устройства такая последовательность действий повторяется точно в таком же порядке. В чем может быть дело? Дело в регистре или я что-то неправильно делаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба Ваша комбинация нулей и единиц продвигается от начала регистра к концу. Если тактовая частота на входе С будет достаточно большой, вы не заметите этих морганий и увидите только конечную комбинацию. А вообще лучше на время "проталкивания" отключать выходы, для этого 1 на входы разрешения (1 и 2, которые по "и") нужно подавать единицу, только когда уже всё устаканится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ClipArt 0 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба Все, теперь понятно. Я неправильно понимал работу регистра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
codenamehawk 0 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба Спасибо, теперь работает. В реальной схеме этих резисторов можете не ставить. Это особенности протеуса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Diusha 0 18 декабря, 2010 Опубликовано 18 декабря, 2010 (изменено) · Жалоба Если тактовая частота на входе С будет достаточно большой, вы не заметите этих морганий и увидите только конечную комбинацию. Очень даже заметим, особенно в темноте (это будет выглядеть как тусклое свечение сегментов, которые не должны гореть) А вообще лучше на время "проталкивания" отключать выходы, для этого 1 на входы разрешения (1 и 2, которые по "и") нужно подавать единицу, только когда уже всё устаканится 1 и 2 это не входы разрешения, а входы данных, у 164-го нет входа разрешения. На время проталкивания нужно закрывать все транзисторы Изменено 18 декабря, 2010 пользователем Diusha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ClipArt 0 18 декабря, 2010 Опубликовано 18 декабря, 2010 · Жалоба На время проталкивания нужно закрывать все транзисторы Видимо это решит проблему тусклого свечения выключенных сегментов? Надо попробовать, спасибо за хорошую мысль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться