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

Помогите Найти Литературу По Ассемблеру Avr


Radiolubitel

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

Хочу начать программировать на ассемблере под 128 микропроцессор, но нигде не могу найти доступную документацию, чтобы ассемблер был разжован и доступен, в примерах почти ничего не пишут!

Вот код программы, почти ничего не понятно:

.include "m128def.inc"

begin:

ldi r16, low(RAMEND)

out spl,r16

ldi r16, high(RAMEND)

out sph, r16

ldi r16, (1<<6) | (1<<7)

loop:

ldi r16, (1<<6)

out portd,r16

rcall delay

ldi r16, (1<<7)

out portd,r16

rcall delay

rjmp loop

delay:

ldi r16,30

delay1:

ldi r17,200

delay2:

ldi r18,200

delay3:

dec r18

brne delay3

dec r17

brne delay2

dec r16

brne delay1

ret

Понятны команды перехода на метки, ret и include использование библиотеки, а больше ничего не понятно, помогите стартануть, большое спасибо, вся надежда на Вас!!!

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

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

Хочу начать программировать на ассемблере под 128 микропроцессор, но нигде не могу найти доступную документацию

Ну ты даешь!! Инфы выше крыши, я просто в шоке. :wacko: Ты хоть одну книжку смотрел?

Если уж совсем все плохо, советую начать с книги "Мортон Микроконтроллеры AVR. Вводный курс", там совсем уж все разжовано.

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

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

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

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

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

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

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

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

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

Книга не плохая но не сказал бы что уж прям всё разжовано.Я перепечатывал от туда пример частотомера,а потом оказалось что он в конце книги написан не совсем правильно.

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

более менее начал понимать, стек, регистры.. Скажите, а будет ли LPT программатор работать под XP, где то я читал что возникают проблемы.. и посоветуйте порграмматор под atmega128! Простой и работающий! Не совсем понимаю для чего используют КВАРЦ, поясните пожалуйста!(русским языком!) и на последок, как получить доступ ко всем пинам микросхемы, я её купил в голом виде, даже не знаю куда и как припаять! Кто сталкивался и как решили!! Большое спасибо за участие!

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

Если программатор, не криво сделанный то будет.

Все микросхемы семейства AVR программируются практически одинаково через внутри схемный интерфейс.

Найдите схему STK200 и программатор PonyProg и будет Вам счастье.

Про пины микросхемы можно узнать с даташита не нее. Там же можно узнать характерные для нее команды и конфигурацию фюзов.

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

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

простейший "пять проводков" с PonyProg и CodeVisionAVR лично у меня под ХРяком работает отлично.

Не совсем понимаю для чего используют КВАРЦ, поясните пожалуйста!(русским языком!) и на последок, как получить доступ ко всем пинам микросхемы, я её купил в голом виде, даже не знаю куда и как припаять! Кто сталкивался и как решили!! Большое спасибо за участие!

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

по второй части: любой тебе скажет и будет прав - качай даташит на МК. В нем приведена распиновка выводов и еще много чего полезного. Если ты ничего не перенастраивал, то порты в-в будут работать именно как порты. А в смысле как механически подключиться - возми панельку под микросхему, монтажную платку и вперед! Есть такие, которые вообще не требуют пайки - удобно.

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

Спасибо, почти разобрался; с ассемблером тоже довольно много прогресса: но пока не понял что значит ldi r16,30, не совсем понятен принцип задержки! Значит без кварца МК 128 может работать, но не в полной силе, так?

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

но пока не понял что значит ldi r16,30,.....

Это значит "загрузить в регистр r16 число 30".

Тебе, думаю, надо для начала разобраться из чего состоит AVR, в смысле регистры, порты, встроенная периферия, EEPROM...

Это есть практически в любой книжке по AVR.

Потом понять, что можно с этим делать и как. Для этого надо разобраться с системой команд.

Загляни, например, вот сюда: Справка по Ассемблеру для AVR - старенький материал, но зато по-русски. А потом будешь смотреть Даташит на конкретный твой МК.

А вот здесь подробно разжевана каждая команда (тоже по-русски) Система команд 8-разрядных RISC микроконтроллеров семейства AVR

Еще по-русски много чего должно быть на www.gaw.ru , но че-то у них проблемы.., не работает

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

Большое спасибо, этот материал действительно лучше чем то, что у меня есть, уже напечатал, будем разбираться!! С ldi R16,30 не очень понятно, потому что я не разобрался как в регистр записывается число, я знаю что 0b01010101 это будет в двоичной форме, в шестнадцетиричной 0х1435D например, а вот понимает ли он в десятиричной или нет я не понял, кстати 30 это десятиричное число? операция dec вычитает 1 в десятиричном виде???

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

...кстати 30 это десятиричное число?

На той-же страничке по первой ссылке, чуть ниже про директивы, выражения асма и т.д.

АСМ понимает числа заданные в формате:

Десятичном (принят по умолчанию): 10, 255

Шестнадцатеричном (два варианта записи): 0x0a, $0a, 0xff, $ff

Двоичном: 0b00001010, 0b11111111

Восьмеричном (начинаются с нуля): 010, 077

Таким образом, в данном случае, 30 - это десятичное.

операция dec вычитает 1 в десятиричном виде???

:blink: Единица она всегда единица, хоть в каком виде.

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

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

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

Длина цикла ограничена разрядностью его счетчика, т.е. 256 проходов если под счетчик использован 1 регистр. Что бы "удлиннить" цикл можно использовать несколько регистров под счетчик и/или вложенные циклы. Но ИМХО весь этот пример чисто демонстрационный, т.к. в реале таким идиотизмом (програмные циклы для формирования больших задержек) заниматься не стоит.

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

Ясно, спасибо, сейчас разбираюсь с режимом Входа на мк, т.е. подключением кнопок и совершению действий при замыкании кнопки, не очень укладывается в голове, как сделать чтобы программа постоянно отслеживала нажатие кнопок и одновременно могла выполнять другие действия, насколько я понял это связано с прерываниями, верно? можно в кратце процесс, завтра есть день на обдумку, а вечером прийду смотреть правильный ответ! Честно вся литература по микрокомандам обсолютно не доступная, т.е. ничего не разжевано, описана команда в трех словах, 2 из них я не знаю :) т.е. упущены многие понятия, объясняется так, как будто человек подготовлен, как справочник для него, а не учебное пособие, хотя я понимаю что просто так за ассемблер никто не берется, но я его предпочел языку Си, не идём легкими путями, самое понятное это программы с описанием того как они работают, но такого мало!!! Куда присылать пиво за ответы? ;) ещё раз спасибо за участие

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

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

А зачем постоянно? Вполне хватает 20...50 раз в секунду читать состояние PINx, на которых есть кнопки (или сканировать матрицу, если кнопок много). Считал, проверил, есть ли изменения по сравнению с предыдущим состоянием, если есть - обрабатываем, если нет - идём дальше выполнять остальную программу.

... насколько я понял это связано с прерываниями, верно?

Сажать кнопки на прерывания имеет смысл, если надо очень оперативно реагировать на кнопку (или датчик) или для выхода из спящего режима - это в пультах ДУ обычно применяется. Щас во многих АВРках есть прерывание по изменению состояния любой из линий порта - как раз для такого случая.

Честно вся литература по микрокомандам обсолютно не доступная

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

Вот пара примерчиков (перевод на русский Атмеловской доки)

Декодер клавиатурной матрицы 8x8

Динамическое управление светодиодными индикаторами и сканирование клавиатуры 4 x 4 с использованием 8-разрядного AVR-микроконтроллера

Вот здесь можно найти книжки по AVR и не только.

На АСМе примеры есть в:

Микроконтроллеры AVR в радиолюбительской практике | Белов А. В. |

AVR- RISC Микроконтроллеры | Трамперт В. |

Применение микроконтроллеров AVR: схемы, алгоритмы, программы | Баранов В.Н. |

Микроконтроллеры AVR. Вводный курс | Мортон Д. |

Микроконтроллеры AVR: от простого к сложному | Голубцов М. С. |

Только читать надо с оглядкой - встречаются опечатки, ошибки, а иногда (кто-то говорил, я сам не знаю, не читал) и просто глупости..

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

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

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