Ответы пользователя по тегу ATmega
  • Сколько строк кода может уместить ATmega 8?

    @evgeniy_lm
    Согласно даташит там 8Кб памяти это примерно 3500-4000 команд, в Atmega168 в два раза больше

    Во-первых, вы не с того начали. В первую очередь МК это некая "железяка" ("черный ящик") у которой есть входы/выходы. В свою очередь у вас есть периферия (датчики/исполнители) которая цепляется на эти самые входы/выходы. Т.е. для начала вам нужно определится с железной составляющей МК и по этому параметру делать выбор МК как правило разработчики придерживаются некоего баланса памяти и количества выводов. т.е. если у вас хватает пинов то и памяти скорее всего будет достаточно.

    Во-вторых, осваивать МК лучше начинать с использованием Assembler, так проще понять принцип взаимодействия МК с периферией и контролировать расход памяти. С другой стороны поднять проект на Assembler сложнее бегущих огней даже для профи долго и проблематично.

    В-третьих, если вы хотите войти в МК "прям сразу" стоит смотреть в сторону Arduino. Там вы имеете ряд стандартизированных модулей, вам не нужно заморачиватся с обвязкой (кварцы, стабилизаторы, программаторы, беспаячные выводы), есть куча периферии с готовыми драйверами и библиотеками. С другой стороны как правило там используется ATmega328 который без проблем можно программировать напрямую в т.ч. и на Assembler.
    Ответ написан
  • Как прошить atmega328p-au (smd) через USBAsp v2.0?

    @evgeniy_lm
    Думаю с переходником TQFP32 связывается не стоит, лучше на печатной плате предусмотреть разъем для внутрисхемного программирования. Вам все одно не один раз перепрашивать придется.
    Ответ написан
    Комментировать
  • Не понимаю в чём ошибка в коде на Assembler для Atmega 16?

    @evgeniy_lm
    Ошибка во всем.
    1. На схеме нет лампочек
    2. Допустим на схеме светодиоды (это не указано, но опять же про лампочки), то нужно было указать куда они подключены.
    3. Собственно алгоритм работы:
    а) настраиваем пины портов на ввод для кнопки, на вывод дляLED
    b) в цикле (а лучше по таймеру) проверяем нажатие кнопки: если нажата и флаг нажатия сброшен инвертируем переменную состояния светодиодов и выдаем в порт, поднимаем флаг нажатия (чтобы не было цикличного переключения при удержании кнопки); если не нажата сбрасываем флаг

    Если у вас просто код или тест в эмуляторе то пойдет, если в в железе то необходимо озадачится устранением дребезга контактов т.е. когда кнопка гарантировано удерживается в течении какого то времени (обычно 0,1с)

    Если вам нужен готовый код пишите на почту, договоримся
    Ответ написан
    2 комментария
  • Возможно ли сделать табло на одном микроконтроллере?

    @evgeniy_lm
    А что вам мешает использовать STM32?
    Ответ написан
    Комментировать
  • Нужен ли усилитель для ATmega?

    @evgeniy_lm
    1. банальнальный закон Ома (слыхали про такой?) нам говорит, что 20Вт при 4Ом это ток 2,24А и напряжение 9В. Т.е. это немного больше чем 5В и существенно больше чем 40мА
    2. После ФНЧ ни каких 5В уже не будет
    3. TDA2030A пойдет
    Ответ написан
    Комментировать
  • В чем моя ошибка в AVR, где я должен зациклить, или что вообще сделать?

    @evgeniy_lm
    Если ваши команды должны выполнятся однократно поставьте вместо nop затычку типа
    Stop: rjmp Stop

    Если вам нужно выполнять эту хрень в цикле то после out sph, r16 поставьте метку Loop: , а вместо nop поставьте rjmp Loop
    Ответ написан
    Комментировать
  • Микроконтроллерное устройство диагностики игровых приставок. Какие характеристики можно снимать?

    @evgeniy_lm
    Вообще-то принято выбирать тему которую хорошо знаешь.
    Начни с того, что найди схему приставки. У любого микропроцессорного устройства должен быть диагностический разъем, возможно на приставках он тоже имеется. Найди в инете инфу по интерфейсу этого разъема, разработай тесты и пр.

    На самом деле тема жутко идиотская, лучше поменять на более нормальную
    Ответ написан
    Комментировать
  • Как прошить arduino через GPRS?

    @evgeniy_lm
    Теоретически почему бы и нет. Но представьте что при перепрошивке пропала связь. Передавать по воздуху надо в какую-то память, а уже из памяти прошивать
    Ответ написан
    Комментировать