Например TDA7294

Форум РадиоКот • Просмотр темы - Ассемблер (ASM) для AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб июн 21, 2025 13:04:09

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7952 ]     ... , , , 7, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 27, 2008 21:08:01 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 09, 2008 17:35:48
Сообщений: 239
Откуда: Уфа
Рейтинг сообщения: 0
Ни как не пойму !?!? Асм файл сгенерированный кодвижном содержит прерывания причем все они а симуляторе работают. НО вектора прерываний ни где не указаны ?!! конечно же скорее всего они указаны но я не пойму где.
Вот например прерывание по SPI:
Код:
_spi_isr:
тект программы ...
return


Раз написано _spi_isr: значит должно быть написано где то выше
Код:
.org 0x18
rjmp _spi_isr

но вот что то такого не видать.

_________________
спасибо вам за ваше терпение и ваши подробные ответы ! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 27, 2008 21:37:43 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
там файлик есть типа .vec вот такого содержания к примеру


Код:
;INTERRUPT VECTORS
   RJMP __RESET
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP _adc_isr
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00
   RJMP 0x00


Это из примера C:\CVAVR\examples\ADC8535

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 11:14:02 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 09, 2008 17:35:48
Сообщений: 239
Откуда: Уфа
Рейтинг сообщения: 0
Инкремент переменной integer (16 bit): Код:
MOVW R30,R4
ADIW R30,1
MOVW R4,R30


Как работает команда MOVW ? Есть ли жесткая привязка между R4 и R5 ? Могу ли я указать здесь R5 вместо R4 с целью использования пары R5 R6 ?

В описании команды: Rd+1:Rd = Rr+1:Rr, r,d even

Могу ли я использовать любой регистр и следующий за ним в качестве операнда этой команды?

_________________
спасибо вам за ваше терпение и ваши подробные ответы ! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 19:50:57 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
MegaRazoR писал(а):
... все равно не понятно могу ли я использовать любой регистр и следующий за ним в качестве операнда этой команды.

наверно любой из 32-ух РОН

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 20:00:26 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18395
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
tych писал(а):
наверно любой из 32-ух РОН
ошибаетесь. в MOVW можно использовать любые четные регистры в качестве указателя базы операндов.
MOVW R4, R6 - работает
MOVW R3, R6 - не работает

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 21:27:42 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн сен 01, 2008 14:49:03
Сообщений: 151
Откуда: Казахстан
Рейтинг сообщения: 0
И, кстати, на это чётко указано в описании команд
Цитата:
Rd+1:Rd = Rr+1:Rr,r,d even

even - чётный...


Последний раз редактировалось YurkaM Вт окт 28, 2008 21:30:27, всего редактировалось 1 раз.

Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 21:28:58 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 09, 2008 17:35:48
Сообщений: 239
Откуда: Уфа
Рейтинг сообщения: 0
откуда вы это знаете ? поделитесь секретом где это написано.

_________________
спасибо вам за ваше терпение и ваши подробные ответы ! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 21:35:43 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн сен 01, 2008 14:49:03
Сообщений: 151
Откуда: Казахстан
Рейтинг сообщения: 0
В любом даташите на AVR. В книжках типа "Евстифеев А.В. Микроконтроллеры AVR" и т.д. А вообще в таких случаях достоверный на 99% ответ даст любой нормальный симулятор. Делов - на 1 минуту.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 28, 2008 22:09:21 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18395
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
MegaRazoR писал(а):
откуда вы это знаете ? поделитесь секретом где это написано.
я использую AVR Studio, в комплекте с которой идет отличный справочный файл по ассемблеру. по-моему, самый лучший из всех виденных мною.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 16:44:47 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 09, 2008 17:35:48
Сообщений: 239
Откуда: Уфа
Рейтинг сообщения: 0
как лучше всего организовать такую фунцию:
если в регистре R4 содержится число 0х11 то сбросить регистр R7
как реализуется сумма по модулю два ?
что такое сохранение ?

_________________
спасибо вам за ваше терпение и ваши подробные ответы ! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 17:14:12 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вс янв 07, 2007 01:45:48
Сообщений: 491
Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения: 0
Цитата:
как лучше всего организовать такую фунцию:
если в регистре R4 содержится число 0х11 то сбросить регистр R7
как реализуется сумма по модулю два ?


Label:
ldi tmp, 0x11
cpse tmp, r4
ret
clr r7
ret


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 17:30:47 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 09, 2008 17:35:48
Сообщений: 239
Откуда: Уфа
Рейтинг сообщения: 0
а для 16 битных то же самое ?
мне надо сбросить такой то регистр если в регистре Z (16 бит) заданное число.

_________________
спасибо вам за ваше терпение и ваши подробные ответы ! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 19:59:30 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
MegaRazoR писал(а):
а для 16 битных то же самое ?
мне надо сбросить такой то регистр если в регистре Z (16 бит) заданное число.

Написшите после каждой строчки примера - что она делает. РАЗБЕРИТЕСЬ !!! сами.

А потом - поняв - модифицируйте код под нужную вам задачу.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 31, 2008 01:23:59 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 68
Зарегистрирован: Пт май 23, 2008 16:49:28
Сообщений: 634
Откуда: Kyiv
Рейтинг сообщения: 0
Ну, все-думаю., пора разобрацця с АВР. ПОлез в обучалку (кто её писал? где-то ещё видел на каком-то сайте). Скачал ассемблер, блокнот, что там ещё надо для "пробы пера"?
Написал по совету афтра батник (фу, какое слово) инифига не получилось с вот этимим ключами., которые советует афтар:
с:\Temp\avr\tavrasm\tavrasm.exe -i code.asm -e output\listfile.lst -o output\hexfile.hex
pause=null
Потому что пишет мне такое:
c:\Temp\AVR\AVR-projects\tutorial>ё:\Temp\avr\tavrasm\tavrasm.exe -i code.asm -e
output\listfile.lst -o output\hexfile.hex
Системе не удается найти указанный диск.

Откуда тут появился диск e:\
А?

Афтар пишет "Таким образом, мы создали:
D:\AVR-projects\
D:\AVR-projects\tutorial\
D:\AVR-projects\tutorial\output"

А на скриншоте совсем другое:
http://radiokot.ru/start/mcu_fpga/avr/02/02.gif
D:\Project\tutorial\ ...
Я понимаю, что афтар в последний момент передумал и вместо AVR-project, как обещал мне, создал, не предупредив? Projeсt, но ведь простите, это обучалка для начинающих, и такая небрежность настораживает.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 31, 2008 07:09:12 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Zanzib писал(а):
ведь простите, это обучалка для начинающих, и такая небрежность настораживает.

Да уж 1.5 года примерно пишем тут про ошибки и не меняют ни фига.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 31, 2008 11:46:53 
Вымогатель припоя
Аватар пользователя

Карма: 5
Рейтинг сообщений: 68
Зарегистрирован: Пт май 23, 2008 16:49:28
Сообщений: 634
Откуда: Kyiv
Рейтинг сообщения: 0
tych писал(а):
Zanzib писал(а):
ведь простите, это обучалка для начинающих, и такая небрежность настораживает.

Да уж 1.5 года примерно пишем тут про ошибки и не меняют ни фига.


На этом сайте все скопировано слово в слово и с теми же ашипками.
http://radlub.sk6.ru/index.php?name=pages&op=view&id=67

Может это специально так, чтобы установить некий порог пролезания?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 04, 2008 23:33:37 
Мудрый кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Ср янв 23, 2008 22:11:54
Сообщений: 1867
Откуда: Калининград
Рейтинг сообщения: 0
Zanzib, смотрите, как у меня:
C:\AVR\AVR-Projects\tutorial

Здесь лежат и батник, и асм код.
В батнике compile.bat прописано:
Код:
C:\AVR\tavrasm\tavrasm.exe -i code.asm -e output\listfile.lst -o output\hexfile.hex
pause=null


Эту прогу (tavrasm.exe) я положил сюда:
C:\AVR\tavrasm
avrasm, соответственно:
C:\AVR\avrasm

В асм коде, как советуется в первом примере, написал:
Код:
.include "C:\AVR\avrasm\APPNOTES\2313def.inc"   ;В данном случае, мы пишем для
;AT90s2313. Соответственно, и файл – 2313.

ldi R16,5     ;загрузка констант в регистры
ldi R17,7
and R16,R17   ;логическое «И» двух регистров
nop

;**********************************************************

; Всё прекрасно компилится и hex файл сбрасывается в папочку
; C:\AVR\AVR-Projects\tutorial\output


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 07, 2008 01:42:22 
Мудрый кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Ср янв 23, 2008 22:11:54
Сообщений: 1867
Откуда: Калининград
Рейтинг сообщения: 0
Подскажите, пожалуйста.

В результате инкремента 1 регистр был полностью заполнен, произошёл перенос на следующий. Инкремент вызывался прерываниями от порта INT1.
Нужно посчитать кол-во поступивших на этот порт импульсов и вывести это число также импульсами на порт B.
Как это осуществить?
Декрементом, начиная со второго регистра, каждый раз сравнивая его с 0 и выводя 1 на порт B при отрицательном результате сравнения, а при положительном перескочить на первый регистр, и продолжить его декремент?

Код:
start:
cmp R17,0
breq qwe
out PortB,0b0000001
out PortB,0b0000000
dec R17
cmp R17,0
brec qwe
out PortB,0b0000001
out PortB,0b0000000
rjmp start

qwe:
cmp R16,0
breq konec
out PortB,0b0000001
out PortB,0b0000000
dec R16
rjmp qwe

konec:
.............


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 07, 2008 19:25:40 
Открыл глаза

Зарегистрирован: Вт сен 04, 2007 18:06:40
Сообщений: 50
Рейтинг сообщения: 0
Собрал утилитку что бы ассемблер было полегче учить (памяти вобще нет а от монитора в книгу от книги к монитору задолбало блин нырять), но в принципе таким образом можно и для других языков сделать подобный (если у кого есть полное описание флагов в (*.тхт) по всей линейке МК скинте куда нибудь пожалуйста) пожалуй и флаги надо будет включить.

AVR_assemler_mini_help.zip http://radiokot.ru/forum/download.php?id=8437

если есть какие неточности просьба сообщить

_________________
ДА будет свет!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 12, 2008 22:10:50 
Родился

Зарегистрирован: Ср ноя 12, 2008 21:54:13
Сообщений: 2
Рейтинг сообщения: 0
Здравствуйте, если ответ на мой вопрос уже есть на форуме, не пинайте сильно, искала как могла, но не нашла.
Мне нужен код прошивки для AVR для общения с жёстким диском.
Если у кого-то есть, поделитесь, пожалуйста. Или подскажите, где можно поискать.
Заранее спасибо.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7952 ]     ... , , , 7, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y