Например TDA7294

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





Текущее время: Вт апр 23, 2024 14:24:03

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7597 ]    , , 3, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 20, 2008 02:58:47 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн фев 11, 2008 20:32:45
Сообщений: 255
Откуда: Краснодарский край
Рейтинг сообщения: 0
Возникла непонятка с косвенной адресацией...
это так понимаю нухно только для парных регистров X,Y,Z?
т.к. в них нельзя загрузить число непосредственно через ldi?
вобще как в них загружается 16 битное число...? сам процесс интересует...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 20, 2008 15:19:51 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
загрузка адреса ADDR в регистровую пару Y:
Код:
   ldi    YL, low(ADDR)
   ldi    YH, high(ADDR)

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 20, 2008 15:54:55 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн фев 11, 2008 20:32:45
Сообщений: 255
Откуда: Краснодарский край
Рейтинг сообщения: 0
так а косвенная адресачия что это такое?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 20, 2008 21:22:03 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
knyaz* писал(а):
так а косвенная адресачия что это такое?

Код:
   
    ; прямая адресация
    sts   MEM, r12
    ; косвенная адресация
    ldi   XL. low(MEM)
    ldi   XH, high(MEM)
    st    X, r12   

сохранение содержимого r12 в ячейке памяти, адрес которой хранится в паре X - это и есть косвенная адресация.

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

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


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

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

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 20, 2008 23:29:48 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн фев 11, 2008 20:32:45
Сообщений: 255
Откуда: Краснодарский край
Рейтинг сообщения: 0
чето не пойму зачем это... уже штук пять кник прочитал не как не могу понять что за сурьезнаячтука косвенная адресация и для чего она нужна...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 21, 2008 08:13:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
knyaz* писал(а):
чето не пойму зачем это... уже штук пять кник прочитал не как не могу понять что за сурьезнаячтука косвенная адресация и для чего она нужна...

странный вы чел... что ж тут непонятного? косвенная адресация позволяет отделить код подпрограммы от привязки к конкретному адресу памяти. попробуйте сделать без косвенной адресации вывод строк (разных) по USART, например. будет у вас не программа, а монстр! а с косвенной адресацией все элементарно: пишите подпрограмму, которая выводит строку, адрес начала которой в X (или Y или Z), потом сколько угодно раз заносите в выбранную регистровую пару адрес начала строки и вызываете подпрограмму. а как красиво обращаться к массивам в ОЗУ без косвенной адресации - я даже и не могу придумать...

P.S. Вообще-то вопрос об адресации относится не к ассемблеру, а к программированию вообще. Косвенная адресация применяется и в Си, например: любой указатель - это как раз способ косвенного обращения к данным...

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 25, 2008 22:39:19 
Нашел транзистор. Понюхал.

Зарегистрирован: Вт июл 10, 2007 23:15:17
Сообщений: 167
Откуда: Магнитогорск
Рейтинг сообщения: 0
подскажите почему ассемблер ругается на эту строку
ldi r16,2
out XMCRA,r16 <---------- вот на эту
error : Undefined variable referenced
использую ассемблер для windows 1.30
в начале текста программы подставляю файл m64def.inc с описанием всех кишок данного камня в файле m64def.inc строка .equ XMCRA = $6D присутствует где засада


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 25, 2008 22:54:30 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 12, 2007 20:53:05
Сообщений: 84
Откуда: Одесса
Рейтинг сообщения: 0
ipkin писал(а):
подскажите почему ассемблер ругается на эту строку
ldi r16,2
out XMCRA,r16 <---------- вот на эту
error : Undefined variable referenced

Для портов и регистров ввода-вывода с адресами выше 5F нужно применять команды ST/STS/STD и LD/LDS/LDD


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

Зарегистрирован: Вт июл 10, 2007 23:15:17
Сообщений: 167
Откуда: Магнитогорск
Рейтинг сообщения: 0
biDE писал(а):
ipkin писал(а):
подскажите почему ассемблер ругается на эту строку
ldi r16,2
out XMCRA,r16 <---------- вот на эту
error : Undefined variable referenced

Для портов и регистров ввода-вывода с адресами выше 5F нужно применять команды ST/STS/STD и LD/LDS/LDD

sts -прошла


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 07, 2008 10:05:30 
Нашел транзистор. Понюхал.

Зарегистрирован: Вт июл 10, 2007 23:15:17
Сообщений: 167
Откуда: Магнитогорск
Рейтинг сообщения: 0
Здравствуйте все.
пытаюсь работать с AT45DB161 (SO8) MEG-ой 64-ой
подключил флэшку на штатный SPI контроллера
написал вот такую программулину и ничего не робит (нет импульсов ни такта ни передачи во флэш)
посмотрите пожалуйста подскажите что не так


Вложения:
meg.asm [1.33 KiB]
Скачиваний: 624
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 07, 2008 10:25:57 
Э...
Аватар пользователя

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


Если не получится то посмотрите пример на стр. 6 Изображение в упражнении 7.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 07, 2008 10:50:02 
Нашел транзистор. Понюхал.

Зарегистрирован: Вт июл 10, 2007 23:15:17
Сообщений: 167
Откуда: Магнитогорск
Рейтинг сообщения: 0
это я видел там на Си а я на ассеблере пишу


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

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


Вы можете посмотреть листинг компилятора - файл .lst - там код на АСМ будет привязан к коду на Си с комментариями.

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

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


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

Зарегистрирован: Пн ноя 12, 2007 20:53:05
Сообщений: 84
Откуда: Одесса
Рейтинг сообщения: 0
ipkin писал(а):
написал вот такую программулину и ничего не робит

Неправильная конфигурация порта В в районе выводов SPI.
Внимательно курите даташит (Table 69. SPI Pin Overrides).


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 07, 2008 18:49:20 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 05, 2007 12:44:43
Сообщений: 87
Откуда: C:\Russia\SPb
Рейтинг сообщения: 0
Какая интересная инициализация указателя стека для ATmega64 :shock:
Код:
      ldi count,RamEnd
      out SPL,count

Интересно, а куда будет возвращаться процессор после вызова wait_spi ? :)

Даже в даташите в разделе "Interrupts" после таблицы с векторами есть конкретный пример правильной инициализации на асме.

Вот:
Код:
ldi r16, high(RAMEND)
out SPH,r16
ldi r16, low(RAMEND)
out SPL,r16


У всех кристаллов, у которых размер SRAM более 128 байт, регистр-указатель стэка состоит из младшей и старшей части, SPL и SPH. А у всех ATmega SRAM от 512, так что SPH есть по любому. Один единственный SPL только на некоторых ATtiny. Так что сначала первым делом на это обратите внимание. Остальное не смотрел. Да и не приходилось с SPI работать.
А то тут сразу все в дебри ударились. А проблема то прямо на поверхности :)

И еще вопрос, а разве ассемблер не выдавал предупреждения "out of range". Т.к. RamEnd для ATmega64 0x10FF, а это явно больше чем 0xFF


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

Зарегистрирован: Вт июл 10, 2007 23:15:17
Сообщений: 167
Откуда: Магнитогорск
Рейтинг сообщения: 0
всё сделал стек действительно не правильно был выставлен
всё заработало но возникла ещё одна проблема допустим в примере мне надо с дата флэш прочитать 65535байт а прога зациклилась и гонит по кругу все 2 метра потом заново
подскажите где ошибка


Вложения:
22.asm [2.1 KiB]
Скачиваний: 571
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 10, 2008 23:19:56 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт июл 31, 2007 20:32:30
Сообщений: 174
Откуда: Киев, Украина
Рейтинг сообщения: 0
может ли кто поделиться драйвером на ЖКИ (на базе контроллера HD44780)
переделывал из Сишного кода(есть написаный в WinAVR драйвер) - не работает :shock:
пример мне очень поможет
асм не юзал раньше, первая прога)


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

Зарегистрирован: Вт июл 31, 2007 20:32:30
Сообщений: 174
Откуда: Киев, Украина
Рейтинг сообщения: 0
Proteus пишет ошибку SP is not initialized


Вложения:
Комментарий к файлу: RS=PB0
EN=PB1
DB4=PB2
...
DB7=PB5

ATmega8.asm [3 KiB]
Скачиваний: 677
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 12, 2008 23:18:27 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт июл 31, 2007 20:32:30
Сообщений: 174
Откуда: Киев, Украина
Рейтинг сообщения: 0
простите за мою тупость и невнимательность.
подпрограмму задержки надо переписать так:
Код:
;пауза r16 милисек для 4мГц
pause:
ldi r17,10
ldi r18,133
dec r18
brne PC-1
dec r17
brne PC-4
dec r16
brne PC-7
ret


Последний раз редактировалось Томатный Вс апр 13, 2008 11:17:34, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 13, 2008 00:40:12 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 12, 2007 20:53:05
Сообщений: 84
Откуда: Одесса
Рейтинг сообщения: 0
А что делает эта последовательность в lcd ?
in r16,PORTB ;PORTB &= 0x03;
ori r16,$03
out PORTB,r16


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

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


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

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


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

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


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