Перейти к содержанию

Алгоритмы кода прошивок микросхем процессора ATMEGA16 на Си


tifaso

Рекомендуемые сообщения

25 минут назад, tifaso сказал:

Может хоть кто то объяснить своими словами просто и подробно как это делается.

Кроме парралельных данных существуют и последовательные!  По другому, что бы управлять 16-ю нагрузками достаточно 1 вывода данных и пару корпусов сдвиговых регистров. Пример вам показали выше

Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

@optima Ну в как это выглядит в схеме я понял, но как проверять эти кнопки программно. Я наверное пойму только на примере кода обработки сигнала. Потому как я не смогу по другому сообразить. По поводу расширителей портов и вовсе ничего не понятно как и что.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Думаю просто надо почитать и вникнуть. Обычно с одного раза может быть не понятно, тогда повторить, по другому алгоритм не сложится

Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@optima Ну себя уже знаю некоторые вещи которые другие понимают с первого или второго раза мне же без подсказки нужно пару лет на изучение вот так вот. Над этим проектом я работаю уже с 2016 года если что. Хотелось бы уже поскорей доделать.

Изменено пользователем tifaso
Ссылка на комментарий
Поделиться на другие сайты

ну вот кусок схемы записать данные в порт и на 11 вывод подать импульс 1

например.... #define rec PORTB.4

                     rec=1;
                    delay_ms(1);
                    rec=0;

на выходе регистра появится содержимое порта. при этом значение сохранится до следующего импульса на вывод 11

1.jpg.f40326bb324d03695631fca060784595.jpg

по этому можно включить нужное количество регистров в параллель и на нужном записывать данные.

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, tifaso сказал:

проектом я работаю уже с 2016 года если что

Урежьте кол-во ядер и пойдет быстрей . Это ж меж МК еще обмен надо организовать . С 595-ми регистрами справится можно быстрей . 

Ссылка на комментарий
Поделиться на другие сайты

@oleg korotkov То есть это получается значит значение здесь хранится до того как на 11 вывод 74HC573 подаётся плюс питания коротким импульсом. То есть как я понимаю к примеру я вот этим кодом записал данные подаю импульс на 11 ножку и данные сохранились в 74HC573. Но далее на выход количество выходов такое же что и на вход. Никак не пойму как это работает как распределять нагрузки через такие микросхемы и где их преимущество про которое говорится?

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, tifaso сказал:

где их преимущество про которое говорится?

Эй, малчик, ты разницу между парой ножек и парой десятков ножек понимаешь? Сам же говоришь, тебе не хватает выходов МК. Тебе советуют: бери регистр, и на одну ножку МК выдавай цыфирь, которую регистр преобразует в нужное тебе сочетание состояний на куче своих ножек. И регистры можно собирать в цепочку, у них для этого специальные выводы есть - гуляй, рванина, пропивай последний рубль. От МК нужна пара-другая выводов, на данные и на сброс, например, а на выходе ты получаешь хоть тысячу светодиодиков. Или электромоторчиков, если притулить туда транзисторные ключи.

Изменено пользователем Огонёк
Ссылка на комментарий
Поделиться на другие сайты

Ну скажем есть 6 7-сегментных индикаторов. ставим 6 регистров по входу в параллель, выходы на свой соответствующий индикатор и на нужный регистр подаем импульс. Нужная информация отобразилась. Есть минусы(куда же без них) Количество регистров нужно равное количеству индикаторов. В отличие от динамической индикации большое потребление от источника питания. Ну а в замен- быстрый вывод в нужный разряд. Очень малое время на обработку вывода у процессора.  В случае с регистром сдвига там каждый разряд  выводится последовательно и для изменения 1 надо переписать все по очереди и чтоб при этом индикаторы не мерцали надо предусмотреть гашение их на время записи. В случае динамической индикации плюс- малое количество внешних элементов низкое потребление(в одну единицу времени в идеале(но обычно делают 1 разряд индикатора целиком) горит только 1 сегмент индикатора в принципе можно подключать на прямую к выводам контроллера. Но при этом требуется постоянное обновление индикации, на что тратится ресурс процессора и на остальное его может не хватить.

Да, для управления внешними устройствами (ну скажем реле) последовательный выход не очень годится.

а так используя в лоб 2 порта по 8 бит можно управлять 64 выходами. А при некотором усложнении практически 256 и более.

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, oleg korotkov сказал:

Но при этом требуется постоянное обновление индикации, на что тратится ресурс процессора и на остальное его может не хватить.

Шутишь? Вывел-сбросил, вывел-сбросил. Даже не микро, это наносекунды.

Ссылка на комментарий
Поделиться на другие сайты

Не не шучу.  Скажем 6 индикаторов по 8 сегментов это 48 единичек загнать, ну или 6 байт если поразрядно. Есть необходимое время свечение и паузы чтоб индикаторы не мерцали. (глаз различает мырганье  реже 24 раз в сек) А тут еще 2 прерывания бегут. И в итоге или мерцают или мыргают или не успеть прерывания  отработать. Так как обычно динамическая индикация по прерыванию идет ну или в основном цикле. Ну или надо процессор с большой тактовой ставить. Ну на Stm32  наверно не так критично, но на ATMEL уже заметно.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, oleg korotkov сказал:

Да, для управления внешними устройствами (ну скажем реле) последовательный выход не очень годится.

Очень даже годиться. И для реле, и для "динамики", и для HD44780 в 8-битном режиме. 

Да чего там. При тактовой 8МГц и последовательном выводе, МК спокойно справляется с 10-ю четырех-значными дисплеями в режиме статической индикации и ШИМ-модулировании тока для регулировки яркости свечения с частотой 200 ГЦ.  А это ни много - ни мало 290 каналов и 200 раз в секунду, на простой Atmega8.

Не сбивайте парня с пути истинного.:)

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

@Огонёк Так я о том и говорю одна микросхема расширителя занимает целый порт в меге, но там как я понимаю должна быть какая то своя хитрость с разводкой и подключения нагрузок, но как это в схеме делается и как это всё это работает. Пока никак не складывается у меня представление о том как это устроено.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, tifaso сказал:

Пока никак не складывается у меня представление о том как это устроено.

Бери макетку и пробуй. Так и сяк верти эти электроны - что ещё я могу тебе посоветовать?

Изменено пользователем Огонёк
Ссылка на комментарий
Поделиться на другие сайты

@Огонёк Расширителей портов у меня и вовсе нет, но прежде чем купить, заказать и они придут нужно понять как это всё устроено и работает, а уже только потом браться за дело. Для начала нужно всё оценить что понадобится как работает. Оценить так сказать все сложности.

Изменено пользователем tifaso
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Геннадий сказал:

Очень даже годиться. И для реле, и для "динамики", и для HD44780 в 8-битном режиме. 

Да чего там. При тактовой 8МГц и последовательном выводе, МК спокойно справляется с 10-ю четырех-значными дисплеями в режиме статической индикации и ШИМ-модулировании тока для регулировки яркости свечения с частотой 200 ГЦ.  А это ни много - ни мало 290 каналов и 200 раз в секунду, на простой Atmega8.

Не сбивайте парня с пути истинного.:)

С дисплеем да. А как с реле. Что будет с ними в момент вывода? Последовательной информации....Надеяться на их тормознутость мол не успеют щелкнуть....

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, tifaso сказал:

нужно понять как это всё устроено и работает

Об этом обычно пишут создатели устройства. Читай даташиты. Даже на простой транзистор читай даташиты, а на чуть более сложное обязательно читай.

Изменено пользователем Огонёк
Ссылка на комментарий
Поделиться на другие сайты

Лучше пока про процессоры на время забыть. Купить регистры собрать на макетке, на выход повесить светодиоды(через резисторы). На вход, если параллельный 8  переключателей, если последовательный 1. И тактовую кнопку и ручками поиграться и будет все гораздо понятнее и нагляднее. И все встанет на свои места.

Да, и лучше ни каких симуляторов. Все в живую.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

И в связи с этим я зашёл в полный ступор. Даже не знаю в какую сторону копать. По этим расширителям портом своими силами я никак не разберусь. Тоже и про кнопки. Так что видимо придётся оставаться с тем что есть.

@ChePay Ну логика мне тут точно не подойдёт там достаточно не простые условия выполнения некоторых действий. Что нужно контролировать из программы самого процессора.

Ссылка на комментарий
Поделиться на другие сайты

ну тогда вместо 2 мег 16  взять ту, что большим количеством ножек.

40 минут назад, tifaso сказал:

Похоже эта тема не для меня с расширениями портов ничего так и не получается, а покупать что то чтоб играться у меня нет ни времени ни желания ни средств.

Ну не знаю...... В чипе регистр стоит 90р в DIP20  на алишке 13р Если это ну очень большие деньги поиграться и поучиться  ...... ??????????????!!!!!!!!!!!!!!!!!!!!!!!!!!

Ссылка на комментарий
Поделиться на другие сайты

Я там не беру зайди на Чип и Дип и увидишь цену. Но дело даже не столько в цене сколько в том что смысл покупки если не понимаешь как оно устроено и как оно работает сперва нужно изучить понять, а потом уже покупать и делать. Тут просто никто не хочет ничего подсказать как оно и что делается. Вот сказали что есть такая вещь, а как работать с этим не объяснили. Ну а без инструкции я не умею делать.

Изменено пользователем tifaso
Ссылка на комментарий
Поделиться на другие сайты

52 минуты назад, tifaso сказал:

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

Зачем сразу покупать? Берешь Proteus и - твори, выдумывай, пробуй

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...