Например TDA7294

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

Текущее время: Пт окт 03, 2025 04:38:45

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , 75, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 17:29:12 
Первый раз сказал Мяу!

Зарегистрирован: Ср сен 22, 2010 23:17:40
Сообщений: 26
Рейтинг сообщения: 0
Здравствуйте, Ув. Коты и Кошечки.
Новоиспеченный пользователь АVR (то есть я) пытается настроить на вывод два порта D и В, на одновременную работу, на тини2313. но ни че не получается, поиск результатом не увенчался(((
цель: "дергание" лапками тини на двух портах.

Если кому не жалко кода кусочек, или подправте мой))) поделитесь опытом, плз.


Вложения:
code.asm [3.85 KiB]
Скачиваний: 414
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 18:33:52 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
Ну порт B настроили на выход, ну посылаете на него какие-то данные, ничего что индусский код, вроде должен работать. Но что мешает точно так-же настроить порт D (один раз при инициализации, а не в цикле) и выводить на него тот же самый temp в той-же процедуре delay?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 18:46:08 
Первый раз сказал Мяу!

Зарегистрирован: Ср сен 22, 2010 23:17:40
Сообщений: 26
Рейтинг сообщения: 0
пробовал, чаво-то не получается... ручонки кривые похоже... направьте струю, пожалуйста, в нужное русло...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 18:49:28 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн мар 16, 2009 23:35:42
Сообщений: 383
Откуда: Украина Новоднестровск
Рейтинг сообщения: 0
chezetmobile писал(а):
Здравствуйте, Ув. Коты и Кошечки.
Новоиспеченный пользователь АVR (то есть я) пытается настроить на вывод два порта D и В, на одновременную работу, на тини2313. но ни че не получается, поиск результатом не увенчался(((
цель: "дергание" лапками тини на двух портах.

Если кому не жалко кода кусочек, или подправте мой))) поделитесь опытом, плз.

Я конечно тоже новичек, но мне кажется что содержимое temp нужно переносить в PORTB вроде типа того
ldi Temp,0b00010010 ; запись константы
out PORTB,temp ;вывод на индикацию
rcall Delay ;вызов подпрограммы задержки

а вобще тут почитайте

_________________
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 19:05:27 
Первый раз сказал Мяу!

Зарегистрирован: Ср сен 22, 2010 23:17:40
Сообщений: 26
Рейтинг сообщения: 0
спасибо, руки выровнял, все получилось.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 21:44:07 
Первый раз сказал Мяу!

Зарегистрирован: Пт фев 18, 2011 20:37:34
Сообщений: 31
Рейтинг сообщения: 0
Здравствуйте. Переписал пример с таймерами с обучалки на свою мегу32, не работает. Компилируется, но не работает, код который идет в начале загрузке трассируется нормально, а вот в протеусе модель ничего не выводит. Поделитесь опытом, где я мог ошибиться?


Вложения:
Комментарий к файлу: код и моделька от протеуса
TimerTest.zip [16.72 KiB]
Скачиваний: 148
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 09:49:16 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
Skyer писал(а):
Поделитесь опытом, где я мог ошибиться?

Ну в TIMSK ошибка, там установлен бит TOIE2, а должен быть по идее OCIE1A.
Светодиоды в протеусе побежали...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 15:55:01 
Первый раз сказал Мяу!

Зарегистрирован: Ср сен 22, 2010 23:17:40
Сообщений: 26
Рейтинг сообщения: 0
здравствуйте, попытки переписать код из обучалки на одновременную работу портов В и D не дали нужного результата. подскажите, пожалуйста, где накосячил.


Вложения:
code.asm [2.36 KiB]
Скачиваний: 362
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 16:07:51 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19844
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
chezetmobile писал(а):
здравствуйте, попытки переписать код из обучалки на одновременную работу портов В и D не дали нужного результата. подскажите, пожалуйста, где накосячил.

Вместо
Код:
          ldi Temp,RamEnd       ;инициализация стека
          out SPL,Temp

Попробуйте
Код:
          ldi Temp,low(RamEnd)       ;инициализация стека
          out SPL,Temp

И ещё, приглядитесь внимательно:
;Задержка
Delay: out PortB,Temp
ldi Temp1,50
ldi Temp2,50
ldi Temp2,5
Loop: dec Temp1
brne Loop1
dec Temp2
brne Loop
dec Temp3
brne Loop
ret

Спрашивается, нахера дефайнить регистры чтобы потом давать им однотипные ничего не значащие имена???

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Последний раз редактировалось Gudd-Head Ср мар 02, 2011 16:14:34, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 16:13:46 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
chezetmobile писал(а):
здравствуйте, попытки переписать код из обучалки на одновременную работу портов В и D не дали нужного результата. подскажите, пожалуйста, где накосячил.

Вы хотя бы пробовали вашу программу в уме прогнать? Как по-вашему в каком случае контроллер должен перейти к метке Label2?
Вот что получается:
Код:
1) инициализация стека, порты на выход
2) label
3) вывод в B ;зачем, если сразу за этим все равно вывод другого значения в процедуре задержки?
4) загрузка temp, задержка (повтор 3 раза)
5) переход к п.2
---подпрограмма задержки---
-вывод temp в B
-непосредственно задержка
-возврат
----------
6) label2 ; как и откуда сюда попадет контроллер?
7) вывод в D ;опять же, зачем, если сразу новый вывод?
8) загрузка temp5, задержка2 (повтор 4 раза)
9) переход к п.6
---задержка 2----
...
...
возврат


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

Насчет дефайнов регистров - вопрос далеко не в этом, тут с алгоритмом беда...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 17:01:58 
Первый раз сказал Мяу!

Зарегистрирован: Ср сен 22, 2010 23:17:40
Сообщений: 26
Рейтинг сообщения: 0
Engineer_Keen писал(а):

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


вывод в В и D единовременно. что то вроде следующего

порты В D
10110101 10110010
01101101 11001110
00010100 01101101

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 17:08:59 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
Что мешает выводить в порты сразу в одной процедуре delay?
Код:
LOOP:
...
...
          ldi Temp,0b10110111   ;загрузка для B
          ldi Temp5,0b10110111   ;загрузка для D
          rcall Delay           ;вызов подпрограммы задержки
...
...
...
RJMP LOOP

Delay:
out PortB,Temp ;вывод B
out PortD,Temp5 ;вывод D
...
...
;задержка
...
RET


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 20:22:09 
Первый раз сказал Мяу!

Зарегистрирован: Пт фев 18, 2011 20:37:34
Сообщений: 31
Рейтинг сообщения: 0
Engineer_Keen, спасибо, заработало


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 03, 2011 00:22:44 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4468
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
Недокументированная возможность большинства AVR контроллеров: :))) :)))
Отправим значение 0x12 в регистр PORTB
Код:
ldi            temp0,         0x12
ldi            ZL,            Low(PORTB)
ldi            ZH,            High(PORTB)
st             Z,             temp0

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 03, 2011 10:08:01 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19844
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
DX168B писал(а):
Недокументированная возможность большинства AVR контроллеров

Обращение к РВВ как к ячейке памяти данных, коей она и является. Ну и что? :)
Изображение


Вложения:
Безымянный.GIF [12.66 KiB]
Скачиваний: 1460

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 03, 2011 13:11:41 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6127
Откуда: Minsk
Рейтинг сообщения: 0
Кстати, у более продвинутых контроллеров, у которых регистров периферии >32, эти регистры попадают совсем в другую страницу памяти, и LDS/STS - единственный способ к ним достучаться, например, ADC в Атмега88. И этот способ очень даже документирован, а указатель Z здесь лишний, простой STS рулит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 03, 2011 14:27:38 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4468
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
А почему лишний? В некоторых случаях совсем не лишний. Если вдруг надумается сделать какой-нибудь сложный алгоритм. Типа автонастройки таймера или UART. Или выбор порта для вывода данных. Или как метод защиты программы от декомпилирования и разбора программы. :)))
Так-же можно применить в полиморфных алгоритмах. Или, как вариант - в случае нехватки памяти флэша, при условии, что ЕЕPROM имеет много свободного места, можно организовать настройку периферии при старте одним-двумя циклами, вытащив данные из EEPROM и раскидав их по соответствующим регистрам.
На счёт того, что в более продвинуты МК, некоторые регистры числятся как Memory mapped, я в курсе.
Тут именно обычный регистр, к которому обращаются только через команды in и out, адресуется парой Z. :))) Этого-то точно нет в мануалах. :))) Приведённый выше код работает в простой тиньке 26L. :)))

_________________
I am DX168B and this is my favourite forum on internet!


Последний раз редактировалось DX168B Чт мар 03, 2011 14:40:56, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 03, 2011 14:40:01 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2119
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18406
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
DX168B писал(а):
Этого-то точно нет в мануалах. :))) Приведённый выше код работает в простой тиньке 26L. :)))
это есть в мануалах, это основы основ.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 03, 2011 14:41:43 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4468
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
Ну не знал, просто такого нигде не видел. :)

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответа
СообщениеДобавлено: Чт мар 03, 2011 15:56:44 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
DX168B писал(а):
Так-же можно применить в полиморфных алгоритмах
... ну вообще-то полиморфные алгоритмы меняют "на лету" свой код, а для Flash такое ....


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

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


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

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


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

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


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