Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Сообщение Vova777 »

Gudd-Head писал(а):Соотв., когда результат предыдущей операции НЕ равен 0
имеется ввиду абсолютно любая операция (т.е. команда), даже "nop" ?



понял...
при условии воздействия команды на флаг...
даешь высокое напряжение
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Открываешь даташит, страницу со списком команд, напротив каждой помимо количества тактов есть еще колонка с тем какие флаги она меняет. Например, команда загрузки флаги не меняет и эту особенность используют когда нужно обнулить регистр, но так чтобы не воздействовать на флаг Z.
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Сообщение Vova777 »

Скачайте Микроконтроллеры AVR семейства Tiny Mega фирмы Atmel А.В.Евстифеев
ну и книжечка... :facepalm:
скажите, там вообще по русски написано да?
При этом адрес регистра операнда (его номер) содержится в разрядах 8…4 (5 бит) слова команды
КОП. Эта аббревиатура обозначает часть (или части) слова команды, содержащую значение Кода ОПерации.
При этом адрес регистра источника содержится в разрядах 9, 3…0 (5 бит), а адрес регистра приемника в разрядах 8…4 (5 бит) слова команды
Я конечно понимаю, что если 30 лет программировать контроллеры, то это все становится понятным, но я уж лучше вернусь к своей книге, там я хотя бы понимаю, о чем идет речь, а здесь я даже слов таких не знаю, нет ни примеров, ни пояснений, ничего нет. Потому что нужно осваивать постепенно, а не так.
даешь высокое напряжение
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

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

Просто не пройдя этот этап дальше может стать сложно понимать некоторые ограничения, например почему нельзя загрузить число, сравнивать с константой(и много чего еще) непосредственно в регистр для регистров из нижней половины и т.д. об этом кстати очень вскользь написано даже в даташите на контроллер, буквально 1-2 строчки из 100 с лишним страниц. Компилятор тебе просто выдаст "неверный регистр" а почему он неверный в конкретной команде, он не подскажет полагая что программист об этом знает. Конечно, путем экспериментов ты доходишь до этой мелочи, но какими усилиями? А всего лишь из-за того что не изучил самые основы.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

Нормальная книжка.
... ИМХО одна из лучших - минимум "сюсюканья" и максимум информации. По существу это обобщенный перевод datasheet_ов на целое семейство МК. Имея оригинальный datasheet МК и эту книгу можно разобраться с любым AVR, даже не владея английским.

PS. речь о Микроконтроллеры AVR семейства Tiny Mega фирмы Atmel А.В.Евстифеев
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Gudd-Head писал(а):Не говоря уже о том, что чем выше будет частота переключений, тем меньше можно взять дроссель.
Ага. И вместе с увеличением частоты, растут потери на переключение транзисторного ключа, что сопровождается его разогревом и соответственно, снижением КПД. Хотя, для малых мощностей, эта критичность имеет меньшую роль, если только девайс не планируется питать от батарей. :)
И еще одна неприятная мелочь: Меньший дроссель (касается магнитопровода с меньшей проницаемостью мю) может потребовать большую амплитуду тока за один рабочий цикл.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Сообщение Vova777 »

Решил, что лучше всего команды смотреть в даташите на микроконтроллер. Посмотрите прикрепленный даташит, он полный, не сокращенный? Мне надо, чтобы там все было.
Вложения
atmega8l-8pu.pdf
(470.7 КБ) 603 скачивания
даешь высокое напряжение
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Какой-то очень краткий справочный листок. Оригинальный весит 5.5Мб
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Vova777 писал(а):в даташите
:facepalm: Это не ДШ, это Summary.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

лучше всего команды смотреть в даташите на микроконтроллер
Иногда неплохо , прочитать всю тему в которую пишите. Стр 138 - этой темы
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Без оглавления к теме больше 30 страниц почитать нереально.
Контактная информация:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

30 страниц прочитать тяжело. Вы батенька по видимому не читали "Война и Мир" Толстого. Воспитывает волю!!!
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 383
Зарегистрирован: Пн мар 16, 2009 23:35:42
Откуда: Украина Новоднестровск

Сообщение nibiluk »

Может ли кто написать кусок кода на асме, как сделать бегущий огонек на авр и регистре 74HC595, как последовательно запихнуть содержимое байта в регистр ?
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Сдвигаешь байт командой ROL крайний бит переходит в флаг C, в зависимости от него устанавливаешь 1 или 0 на выводе данных и даешь импульс 1-0-1 на вход тактирования регистра.
Проделываешь это 8 раз, и подаешь импульс на вход защелки регистра.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Поскольку бегущий огонек, то 8 раз не обязательно, достаточно одного. Хотя, конечно, все зависит от придуманного алгоритма. В любом случае логика управления одна и та же: выставить данные, импульс на сдвиг, импульс на защелку.
Docendo discimus
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Может ли кто написать кусок кода на асме, как сделать бегущий огонек на авр и регистре 74HC595, как последовательно запихнуть содержимое байта в регистр ?
Можем. Легко. Передо мной сейчас три девайса на сдвиговых регистрах, и посложнее огонька. Всё писал на асме.
А теперь расскажите, в чём проблема. Если действительно хотите понять, поможем.
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Да простят мне мой оф модераторы,
ploop, если бы ты перешел на С, то перед тобой сейчас лежал бы уже один девайс, да и тот требовал бы только вылизывания.
Docendo discimus
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Ну да, один, а сейчас три, и работающих :)
Я как-бы уже на том уровне, где споры что круче не интересны. Осваиваю ARM, и вполне успешно. И Си знаю, хотя что там знать то... за нас потрудились разработчики компиляторов, за что им большое спасибо!
Ну и просто придерживаюсь мнения, что не пощупав МК "вручную" далее будет тяжелее понять. И тут ассемблер самое то (я про AVR-овский, он прост как бэйсик)
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

в С там свое болото, похлеще ассемблера. Особенно когда пытаешься сделать такие вещи как работу со сдвиговым регистром - столько пляски вокруг да около чтобы реализовать то же самое что можно было бы сделать несколькими ассемблерными командами, особенно когда только начинаешь язык учить и не постиг дзен 5-го уровня...
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 383
Зарегистрирован: Пн мар 16, 2009 23:35:42
Откуда: Украина Новоднестровск

Сообщение nibiluk »

ploop проблема в том что в мк и асм только начал вникать, а инфа в голову вкладывается лучше когда на код смотрю. Девайсину хочу делать на 4 регистра, вот и спрашиваю может есть какой то способ не пихить вручную каждый бит, а масив както читать.
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.
Ответить

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