ATmega8, динамическая индикация, switch case и десятичная то

Обсуждаем контроллеры компании Atmel.
Ответить
OKF
Это не хвост, это антенна
Сообщения: 1430
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

Дядя. Динамическая индикация - это букварь. Вариантов много. Главное, частота обновления. А дальше схемотехника. В основном, использую без резисторов, минимум-минимор. Но это на любителя.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Сообщение shonty »

OKF писал(а):Дядя. Динамическая индикация - это букварь.
то, что ДД букварь - мнение весьма и весьма субъективное :)
"Букварём" можно назвать и программный SPI, и программный I2C, да хоть чорта лысого.. , но всё равно это будет субъективно.
Реклама
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Сообщение Базилюк »

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

Не ставить резисторы в сегменты можно, но осторожно. Китайцы не ставят, и даже запитывают общий вывод разряда от пина без транзисторв.. А вообще - не желательно так делать, особенно с 5-вольтовым питанием. 8 резисторов - копеечная экономия, а вреда может быть больше. Да и неравномерная яркость сегментов из-за различающегося тока.

Насчет программных I2C и SPI - это пережитки прошлого. Ужасная практика. Уж лучше дин.индикацию на МК, чем софтовый I2C/SPI.
Мучитель микросхем
Аватара пользователя
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Сообщение shonty »

Базилюк писал(а):Насчет программных I2C и SPI - это пережитки прошлого. Ужасная практика. Уж лучше дин.индикацию на МК, чем софтовый I2C/SPI.
  • Сдвинуть байт,
    проверить наличие переноса,
    выставить соответствующий уровень на ноге,
    строб на клок,
    + переходы на задержки
    и всё это 8 раз в цикле.
Не более 15-ти строк кода. Весьма ужасно?

Это и к вопросу TM1637, и может даже к асму))

Martian, влупи мне ещё раз минус четыре за это :)))
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Сообщение Базилюк »

Особенно когда используется ардуиновский digitalWrite() - это ужасно ужасно. Пережитки прошлого.
Я и говорю - лучше динамическую индикацию напрямую на микроконтроллере, чем ногодрыжный SPI или I2C.

Ну и ассемблер туда же... Я как-то видел одного чувака, который на ассемблере решил прогать STM32H743. Жуткое было зрелище. За два года он сумел только таймеры подергать и еще кой-чо помелочи.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Сообщение shonty »

Базилюк писал(а):Я и говорю - лучше динамическую индикацию напрямую на микроконтроллере, чем ногодрыжный SPI или I2C.
Мне тут прям сразу интересно стало))

Получается написать на асме псевдо-I2C под TM1637 в 180 строк (и это с коментариями, пропусками строк и прочими украшениями) - это ногодрыжный интерфейс? ))

А написать на Сях динамику и задействовать 12 лап контроллера - это ни разу не ногодрыжный))

Или на Сях аппаратная динамика? :shock:

У кого из нас с логикой не так? :)))
Базилюк писал(а):Я как-то видел одного чувака, который на ассемблере решил прогать STM32H743. Жуткое было зрелище. За два года он сумел только таймеры подергать и еще кой-чо помелочи.
Аргумент конечно увесистый))
Но я как-то видел одну бабушку, она так и не осилила STM32H743, даже на Сях :)))

Добавлено after 14 minutes 58 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
PS: я дополню:
Базилюк писал(а):Частота обновления - это фигня. А вот определенная последовательность переключения ног для разрядов и сегментов - это куда важнее. Правильно - сначала погасить предыдущий разряд, затем выставить новую комбинацию сегментов, потом зажечь текущий разряд. Если последовательность перепутать, будет засветка сегментов в соседних разрядах. Пройденный на своих шишках этап.
И вы хотите сказать, что это не ногодрыг?)
Или если на Сях написано, то ногодрыгом не считается?))
Реклама
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Сообщение Базилюк »

Я имею ввиду то, что при наличии аппаратных SPI/I2C использовать ногодрыжный софтовый вариант - это моветон в наше время, динозавризм. Не важно, сколько там строк. Современные МК имеют по 3-6 аппаратных SPI и столько же I2C, недостатка в них нет. С другой стороны, при наличии 48-100 ног выделить 12 ножек под индикатор - тоже не проблема.

В общем, не стоит уподобляться древним звероящерам. На дворе уходит 2024 год, а вы всё топчитесь в прошлом тысячелетии.
Лучше бы че по теме темы сказали, чем флеймить про какую-то фигню. Спор ради спора - фигня с ушами. По делу пишите, а не спорьте на тему звероящеров.

Добавлено after 2 minutes 36 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
ЗЫ. Через DMA и таймер можно и аппаратную динамику запустить, да ваще не проблема.
Мучитель микросхем
Аватара пользователя
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Сообщение shonty »

Базилюк писал(а):Современные МК имеют по 3-6 аппаратных SPI и столько же I2C, недостатка в них нет.
согласен))
но весь сыр бор тут и произошёл из-за того, что у TM1637 свой 2-х проводный интерфейс) типа I2C, но не он)
и аппаратка не канает)) и библиотеки то глючные оказались) и без "ногодрыга" никуда)
но если сравнивать TM1637 с динамикой, то экономится по выводам 1:6) а по коду примерно 1:1
как то так)

:beer:
Поставщик валерьянки для Кота
Сообщения: 1920
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Давно использую управление TM1637 по аппаратному/программному I2c: МК: от Arduino, ATtiny13A, PIC до STM32. Отправляете данны без адреса (no slave address), данные "наоборот" (LSB), и не нужно писать еще одну функцию для отправки данных. На 100 kHz все ОК. На форуме есть тема.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

shonty, кроме того прямая динамическая индикация требует от кода жесткий тайминг, иначе яркость разрядов будет плавать (обычно под это выделяют таймер, коопераивно ещё с каким нибудь времязависимым кодом или даже монопольно + его прерывание(я) )
При внешнем управлении индикатором (через СПИ/И2С и доп микросхему-контроллер) когда захотел - тогда и обновил... красота! но, частота регенерации в этом случае обычно задается контроллером и коррекции не поддается.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Вымогатель припоя
Аватара пользователя
Сообщения: 608
Зарегистрирован: Пн июн 03, 2024 22:29:24

Сообщение Thinnnfor »

Ни каких жёстких таймйнгов, и не жёстких тоже никаких .
Яркость разрядов одинаковая , по крайней мере на глаз не различается.
Атмега8 , код на си.
Изображение

Добавлено after 14 minutes 44 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
А да, забыл , вот код со свичами, касями и десятичными то ...

Добавлено after 1 minute 35 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
Код написан в CVAVR
Вложения
ампервольтметр атмега8 led.c
(8.43 КБ) 66 скачиваний
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

у 12,70 и 1,988 не светятся верхний и нижний сегменты
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Сообщение Базилюк »

Я так думаю, это буквы - U (V) и A - напряжометр и токомер
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

я тоже так думаю, но вижу отсутствующие сегменты
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 608
Зарегистрирован: Пн июн 03, 2024 22:29:24

Сообщение Thinnnfor »

Базилюк прав !
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

Наверное, у него большой опыт смотреть на плохо продуманный дизайн
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 608
Зарегистрирован: Пн июн 03, 2024 22:29:24

Сообщение Thinnnfor »

А каков будет хорошо продуманный дизайн , для семисегментных индикаторов ?

Добавлено after 2 minutes 51 second:
Re: ATmega8, динамическая индикация, switch case и десятичная то
Да и тема то не про дизайн !?

Добавлено after 2 minutes 14 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
Да , для тех кто в танке в верхней сторке последний симол это V вольт по нашему, а в нижней это А ампер.
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

для тех, кто не в танке: там не горят сегменты у нолика и восьмёрки. Чем скорее Вы это поймёте, тем быстрее поумнеете.
Thinnnfor писал(а):А каков будет хорошо продуманный дизайн , для семисегментных индикаторов ?
Для любых индикаторов хорош тот дизайн, когда значение визуально воспринимается отдельно от обозначения величины. Особенно на фоне четырёхразрядных мультиметров. Особенно, когда 99% совпадения по начертанию.

Радиолюбитель - это не синоним "итаксойдётуменялапкиятаквижу". Радиолюбитель - существо думающее, читающее и со вкусом.

Всё, что нужно было сделать - отобразить четвёртый разряд цифрой (даже если прибор на сиё не особо точен), а рядом написать U и А.

Если в гугле набрать "лабораторный блок питания" и кликнуть на вкладку "картинки", Вы увидите, что везде сделано так, как я написал, а в ряде случаев - и различным цветом/начертанием для разных параметров.
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 608
Зарегистрирован: Пн июн 03, 2024 22:29:24

Сообщение Thinnnfor »

Martian писал(а):для тех, кто не в танке: там не горят сегменты у нолика и восьмёрки. Чем скорее Вы это поймёте, тем быстрее поумнеете.
Это где и кем определено ?
Я решил во встраиваемый ампервольтметр "встроить" наименования
показаний, понятным любому адекватному человеку ...
Кстати Базилюк понял сам , без разьяснений , думаю что 99,(9) процентов людей
имеющих представление что такое ток и напряжение так же поймут
А мнение 1/99,(9) процентов человечества ... пусть имеют своё , ни кто же не запрещает.

Добавлено after 12 minutes 48 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
И вообще мы отвлеклись от темы, про дизайн речи не шло .
Как бы динамическая индикация switch case и десятична ... имеют место быть !
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

[uquote="Thinnnfor",url="/forum/viewtopic.php?p=4633989#p4633989"]Это где и кем определено ?[/uquote] что именно? что поумнеете? никем, это я проявил некоторый оптимизм, что делаю редко, ибо мне несвойственно.
Или про правила дизайна, особенностей восприятия информации, требования к интерфейсам? В куче книжек и даже ГОСТ. Знаете, есть такая штука - книжки, их люди раньше читали.
Контактная информация:
Ответить

Вернуться в «AVR»