Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Чем или как создать управление микросхемой Lc7821
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Xenia
Цитата(demiurg1978 @ May 25 2015, 11:00) *
Поэтому имитируем этот вход PNP транзистором на + 5 V. Перед загрузкой данных закрываем транзистор. После загрузки открываем.


Полагаю, что нам стоит рассмотреть еще один возможный вариант - комбинированный, когда аноды (их больше) управляются от 1109КН15 (для 14-ти анодов + 2-х спецсимволов их потребуется 3 штуки), тогда как сетками управлять параллельно напрямую от порта. Тогда можно будет портом перекрывать свечение всех знакомест на срок от начала до полного завершения обновления состояний анодов через SPI/КР1109КН15, а потом активировать нужную сетку/знакоместо.

Кстати, сеток, пользующихся особым спросом (8 символов на 14-сегментом индикаторе), тоже 8, как и число битов в одном порту - это было бы удобно в реализации.
demiurg1978
Не нужно ничего выдумывать. На КР1109КН15 нужно пинов:
CS
SCK
MOSI
LATCH - перезапись
OUT_ENABLE
Xenia
Цитата(demiurg1978 @ May 25 2015, 11:16) *
Не нужно ничего выдумывать. На КР1109КН15 нужно пинов:
CS
SCK
MOSI
LATCH - перезапись
OUT_ENABLE


Что ж, это хорошо. Тогда собираем все OUT_ENABLE в одну линию, а для LATCH потребуется 5 линий (для каждой 1109КН15 отдельно). Итого 6 бит. Одного порта как ни бывало. sm.gif

Тем не менее, я попрошу вас указать соответствие LATCH и OUT_ENABLE с обозначениями в даташите КР1109КН15, т.к. я сомневаюсь, что вы интерпретировали эту информацию верно. Лично я вижу там только С2, который не может выполнять функции LATCH и OUT_ENABLE сразу. А кандидатов на вторую функцию не вижу. Т.е. на мой взгляд, С2 = LATCH, а OUT_ENABLE там нет.
demiurg1978
Ксения. OUT_ENABLE - это PNP транзистор, который коммутирует + 5 V на микросхемах (15 вывод), питание анодов и сеток. Открыли транзистор, на микросхемах есть + 5 V, закрыли транзистор, нет напруги. То есть, перед загрузкой данных мы отключаем сетки и аноды. После загрузки данных включаем. Как я до этого писал, имитация входа регистра 74HC595 OUT_ENABLE. OE.

LATCH - C2 (14 вывод).
Xenia
Для love777888:

При наличии возможности прошу испытать вариант: key10. Если заработает, как предыдущий, то будет очень хорошо, т.к. программу я основательно перетрясла, не оставив камня на камне. Потому и требуется проверочный эксперимент.

А перетряска была крайне необходима, т.к. прямая загрузка констант в регистры Меги8 - предельно непереносимый случай, тогда как нам не только предстоит переходить на другой МК и ключи 1109КН15, но и значительно расширять алфавит отображаемых символов. А в виде кормления константами трех портов писать это совсем негоже, тем более что на другой Меге имена портов и пинов станут другими, да и в 1109КН15 данные придется подавать в другом формате.

P.S. Как на вашем 14-сегментном индикаторе отображается английская буква "V"? sm.gif Подобного рода затруднения возникают чуть ли не у половины букв русского алфавита. Или нам не надо поддерживать на нем русский язык?
demiurg1978
Думаю, нет надобности в русском языке. Ксения, вы умеете работать с Excel? Я могу дать вам один файл, там при выставлении битов формируется строка. В Excel Сервис-Надстройки-Пакет анализа. Думаю разберетесь. Пользоваться следующим образом: бит который нам нужен, вписываем в ячейку 1. Сброшенный бит ничего не вписываем. Когда символ готов, нажимаете на пустую ячейку, формируется строка. Копируете эту строку в код.
Xenia
Цитата(demiurg1978 @ May 25 2015, 13:17) *
Думаю, нет надобности в русском языке. Ксения, вы умеете работать с Excel? Я могу дать вам один файл, там при выставлении битов формируется строка. В Excel Сервис-Надстройки-Пакет анализа. Думаю разберетесь. Пользоваться следующим образом: бит который нам нужен, вписываем в ячейку 1. Сброшенный бит ничего не вписываем. Когда символ готов, нажимаете на пустую ячейку, формируется строка. Копируете эту строку в код.


Меня не перекодировка в HEX-код затрудняет, а само начертание букв на 14-сегментном индикаторе.

Я даже описание фабричной прошивки памяти для специализированного под эти цели контроллера (MAX6954) нашла, но там, к моему большому сожалению, не алфавит ASCII прошит, а непонятно что:

Точнее говоря, цифры 0-9 я там вижу, и даже буквы A-F (если присмотреться), но все остальное ужасно! sm.gif
Т.е. оно только для изображения чисел в HEX-системе и годится, а ведь могли бы весь алфавит записать - места достаточно.

P.S. Ага! Что-то нашла:

Он правда, не 14-сегментный, а 16-сегментный, разница не велика.
Xenia
Цитата(demiurg1978 @ May 25 2015, 14:36) *


С таким запросом, как ваш, слишком уж много мусора находится...
demiurg1978
Ннуу я отправил сообщение до того как вы отредактировали свое сообщение.
demiurg1978
Ксения, что вы ему собираетесь отправить? Мне нужно знать, что у него будет в наличии.
Xenia
Цитата(demiurg1978 @ May 25 2015, 16:16) *
Ксения, что вы ему собираетесь отправить? Мне нужно знать, что у него будет в наличии.


ATmega1284P-PU - 1 шт.
ATmega8515-16PU - 1 шт.
BSS84 - 30 шт.
Остальное к этому проекту не относится.

demiurg1978
Сегодня припаяю КР1109КН15. Посмотрю, что получится, отпишусь.
love777888
Цитата(Xenia @ May 25 2015, 13:00) *
Для love777888:

При наличии возможности прошу испытать вариант: key10. Если заработает, как предыдущий, то будет очень хорошо, т.к. программу я основательно перетрясла, не оставив камня на камне. Потому и требуется проверочный эксперимент.

Ксения возможность появилась, поэтому отписываюсь: Программа работает как и в предыдущем кей9, вы исправили черепок 9-ку, теперь 9 высвечивается как нормальная девятка.
Xenia
Цитата(love777888 @ May 25 2015, 22:34) *
Ксения возможность появилась, поэтому отписываюсь: Программа работает как и в предыдущем кей9, вы исправили черепок 9-ку, теперь 9 высвечивается как нормальная девятка.


Очень рада! А то боялась, что не заработает, и тогда ошибку пришлось бы искать очень долго.

Следующим этапом проверяете это: key11. Здесь по задумке, помимо цифр 0-9, должен быть весь алфавит (заглавные английские). Если заработает, то обратите внимание на начертание букв в поисках грубых ошибок. Литеры должны выглядеть так, как на рисунке (верхняя и две нижних строки у меня отсутствуют).
love777888
Отпишусь... только мои все уснут...

Есть небольшие ошибки
Нажмите для просмотра прикрепленного файла
Xenia
Цитата(love777888 @ May 26 2015, 00:18) *
Есть небольшие ошибки


С нулем ошибка моя - исправила: key12.
Но все остальные дефекты в правописании обусловлены тем, что не горит 27-ой сегмент - это уже ошибка ваша. Ищите, почему он не горит.
love777888
Да мой недочет, был отпаян эмиттер ключа. Все работает. Появился 0-лик.
Xenia
Цитата(love777888 @ May 26 2015, 01:47) *
Да мой недочет, был отпаян эмиттер ключа. Все работает. Появился 0-лик.


Там еще со знаками "<" и ">" остался недочет, мною незамеченный. Сейчас я его тоже поправила, но проводить повторные испытание ради этого не стоит. На сегодня пока все.
Xenia
Цитата(love777888 @ May 26 2015, 02:07) *
ок


Завтра проверьте это: key13.
А если есть настроение, то сегодня. sm.gif
love777888
Чето совсем ничего не понять, что на дисплее, видно только что что то очень быстро меняется, сегменты переключаются. но ничего не понять.
Xenia
Цитата(love777888 @ May 26 2015, 11:29) *
Чето совсем ничего не понять, что на дисплее, видно только что что то очень быстро меняется, сегменты переключаются. но ничего не понять.


Зато мне понятно, что произошло. sm.gif
Испытывайте пока это: key14.

Сейчас, после того, как программный знакогенератор создан и проверен, наступила очередь убрать ожидания, в которых контроллер пребывает в промежутках между индикацией цифр (раньше в этих паузах он считал от 1 до 2000, что при тактовой частоте 1 Мгц соответствует задержке 2 мсек).

Теперь, когда величина задержек подобрана, пора возложить индикацию цифры на таймер, что бы тот вызывал процедуру индикации символа по "будильнику", не принуждая процессор к пустой работе по ожиданию. Только так можно дать процессору "дышать", занимаясь какими-то другими делами, тогда как процедуру индикации цифры запускает таймер в момент, когда для этого наступает время.

А другие дела для контроллера есть, даже если он останется заточен исключительно под обслуживание дисплея. И среди таких работ - коммуникация с главным контроллером ради получения от него символьной строки, которую необходимо отобразить на дисплее, интерпретации этой строки с разбивкой на отдельные литеры и раздаче заданий по соответствующим анодам/сеткам. И для всего этого у дисплейного контроллера должно быть свободное время.
love777888
Все работает идет перебор сразу пятью разрядами т.е 00000 11111 22222 33333 ну и так далее все работает, закорючки тоже вы поправили.
Xenia
Цитата(love777888 @ May 26 2015, 13:38) *
Все работает идет перебор сразу пятью разрядами т.е 00000 11111 22222 33333 ну и так далее все работает, закорючки тоже вы поправили.


Это дело нам надо добить, т.к. мешает идти дальше. По сути дело пустяковое, и будь у меня железо на столе то и 5-ти минут хватило. Однако, несмотря на то, что отладочная плата для Меги8 у меня есть, у меня нет цифропоказывающего дислея, а потому я не могу у себя проверить, что он показывает. А пока бы я тестером измеряла уровни на 3-х портах, цифры успели бы смениться на новые. Поэтому мне и приходится сейчас вас мучить, часто меняя прошивку.

Следующий вариант: key15. Боюсь называть его исправленным. sm.gif
love777888
Сейчас стандартный наш перебор 43210 54321 65432 76543 ну и так далее цифры потом алфавит.
Xenia
Цитата(love777888 @ May 26 2015, 15:42) *
Сейчас стандартный наш перебор 43210 54321 65432 76543 ну и так далее цифры потом алфавит.


Уф! Кажется это дело добили - теперь у контроллера есть время заниматься другими делами. Я сейчас на работе, но в ближайшем будущем напишу интепретатор строки. Кстати, неиспользуемые символы алфавита мы можем пустить под управляющие значки, коих на этом дисплее довольно много. Т.е. чтобы и их тоже можно было зажигать дистанционно, задавая одним символом.

А пока проясните ситуацию с сегментом 14, похожим на два 7-сегментных индикатора. Можете расписать, как на нем зажигать сегменты? (систему с ключами желательно не ломать, а вынуть Мегу8 из панельки и коротить базы транзисторов анодных ключей на землю вручную).

А результаты подпишите на той картинке, что вы в последний раз выкладывали, заодно и пометив десятичную точку (т.к. я уже успела забыть, какой у нее номер анода).
Xenia
Цитата(love777888 @ May 26 2015, 18:00) *
Точка зажигается 32 анодом и 3-й сеткой


Ну, так и подписали бы это на картинке, тем более что я специально о том попросила. Вокруг третьей цифры полным полно для этого места.

А зачем эта двузначная цифра? Что она показывает? Номер станции? Зачем это, если станции идентифицируются не порядковым номером, а длиной волны?
love777888
Цитата(Xenia @ May 26 2015, 17:19) *
А зачем эта двузначная цифра? Что она показывает? Номер станции? Зачем это, если станции идентифицируются не порядковым номером, а длиной волны?

Нет скорее всего там были каналы памяти, отсюда 2 разряда, для индикации порядкового номера станции, под которым записана частота принимаемого сигнала, пользователь мог вызывать кнопками station ту или иную станцию/частоту, которую до этого пользователь сохранил в памяти японского процессора. Для этой операции скорее всего нужно было нажать tuning, тюнер находит сигнал, затем нажимается кнопка memory и пользователь запоминает порядковый номер станции. Длины волны там нет, есть частота принимаемой станции, и отображается эта частота как раз на наших разрядах в районе точки.
Xenia
love777888, написала "интерпретатор строки". Опять много чего поломала, даже испытывать страшно. Прошивка тут: key17.
Если key17 заработает, то проверяйте key18.

Идея такая: в программе заведена строка (8 последовательных байт, столько же, сколько знакомест на дисплее). В ней может быть записан любой текст. Таймер через каждые 2 мсек возбуждает процедуру, которая делает по этой строке один шаг и выводит тот символ, на котором она оказалась, на соответствующее знакоместо на дисплее. Поскольку обход закольцован (дойдя до конца строки, начинается сначала), то с тем же периодом 2 мсек происходит обновление знакомест на дисплее теми символами, что записаны программной строке. При этом сам контроллер этого как будто не видит sm.gif, т.к. это происходит по инициативе таймера. С точки зрения контроллера строка отражается на дисплее самым непостижимым образом sm.gif. Его же задача менять содержимое этой строки сообразно обстоятельствам или по внешнему требованию (головного контроллера), при этом ничуть не заботясь об ее отображении.

P.S. На вашей картинке анод десятичной точки не может быть 32-ым, т.к. 32-ой анод - это нижняя палочка. Поправьте пожалуйста.
love777888
Прошивка 17 работает, вы добавили туда русский, но есть ньюансы особенно в конце русского алфавита, 18 я не испытывал.
Herz
Цитата(love777888 @ May 27 2015, 10:42) *
Прошивка 17 работает, вы добавили туда русский, но есть ньюансы особенно в конце русского алфавита, 18 я не испытывал.

Ну, так напишете, когда испытаете. Вы и так уже превратили форум в чат, сорок страниц (!) мороча человеку голову. Я удивляюсь, как у неё хватает на Вас терпения. На вопросы не отвечаете, пишете о чём-то своём...
Что это за "ньюансы"? Или не пишите такого, или объясняйте конкретно. И большую часть переписки, особенно односложные восклицания, вполне можно было бы перенести в Личку. То, что Вы работаете в ночную смену, здесь мало кого интересует.
love777888
Я понял, извиняйте, сообщение будет еще редактироваться.
Xenia
Цитата(love777888 @ May 27 2015, 10:42) *
Прошивка 17 работает, вы добавили туда русский, но есть ньюансы особенно в конце русского алфавита, 18 я не испытывал.


С русским языком на 14-сегментном индикаторе большие проблемы - не все буквы можно узнаваемо отобразить, а с буквы Д, Ц, Ш, Щ, Ы, Ъ в особенности. В конце алфавита мне уже не хватило терпения.

Проверяете 18-ю прошивку. Если она заработает, как 17-ая, то присоедините к ней фотодатчик. Как было изображено на схеме, игнорируя слова "Пока не подключаем" - настало время подключить.

По идее должно работать так. При нажатии любой кнопки на ДПУ прокручивание алфавита должно прекратиться, а вместо этого высветиться число 100.00. Только пока без десятичной точки, т.к. ее анод вы указали с ошибкой. Далее кнопки 1-9 должны менять сотни 100.00-900.00, а кнопки Channel+ и Channel- изменять число плавно: на 0.01 и разовом нажатии или на 0.10 при продолжительном удержании. Кнопка POWER должна возвращать в режим прокручивания алфавита.

P.S. Прислушайтесь к тому, что вам сказал местный модератор. Этот форум для вас нов, а потому могло показаться, что им возможно пользоваться, как доской объявлений, для разговоров. Это не так. Этот форум предъявляет довольно высокие требования к качеству сообщений, которые обязательно должны носить технический характер. Для сообщений, носящих "бытовой" характер (даже если они имеют косвенное отношение к совместной работе), есть "личные сообщения". Да и они для меня даже более удобны удобны, т.к. их я "чувствую" сразу - получаю звуковой сигнал от "майл-агента".
love777888
Цитата(Xenia @ May 27 2015, 12:04) *
P.S. Прислушайтесь к тому, что вам сказал местный модератор. Этот форум для вас нов, а потому могло показаться, что им возможно пользоваться, как доской объявлений, для разговоров. Это не так. Этот форум предъявляет довольно высокие требования к качеству сообщений, которые обязательно должны носить технический характер. Для сообщений, носящих "бытовой" характер (даже если они имеют косвенное отношение к совместной работе) есть "личные сообщения". Да и они для меня даже более удобны удобны, т.к. их я "чувствую" сразу - получаю звуковой сигнал от "майл-агента".

Все уходим в подполье.
odessit
Ау-у!!! Подпольщики!!! Чем дело-то закончилось?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.