Например TDA7294

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





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

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7597 ]     ... , , , 301, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 07, 2017 19:57:10 
Родился

Зарегистрирован: Пн мар 06, 2017 15:17:48
Сообщений: 13
Откуда: Башкортостан
Рейтинг сообщения: 0
Alkul писал(а):
igor741986 писал(а):
Если пин1 заземлить до включения питания, то будет долгожданный сигнал на выходе. Но если мы его освободим, то сигнал пропадет и появится только после рессета, но стоит опять разомкнуть и сигнал пропадает.

Возможно, у Вас МК постоянно ресетится (перезапускается).
Вы же спрашивали в другой теме про свою автоматизацию колодца и бака, какой смысл в новой теме начинать беседу? Думаете, что-то изменится?
Вернитесь в ту тему и дайте, наконец, то, о чем Вас там просили - ПОЛНУЮ схему устройства, фото монтажа, ну и программу, включая фьюзы.

Ничего не рессетится и не понимаю от куда вы берете все это). Там схема вам нужна, а здесь нет схемы, один контролер с ногами и все равно вам этого мало). И кода две строки, там вам время тратить не охота, а здесь и с двумя строками разобраться не можем, предлагаем какую то ерунду. Я о вашем коде:

main:
sbic PINB,1
sbi PORTD,0
sbis PINB,1
cbi PORTD,0
rjmp main

Конечно он работает, но мне не надо чтоб он включался при замыкании и выключался при размыкании. Вообще я быстрей сам дойду, как реализовать эту функцию.

Добавлено after 10 minutes 48 seconds:
Каким должен быть код, что бы нажав кратковременно на кнопку, загорелась и горела лампочка? Коснулся и свет включился. Реализация в железе не интересна. Задача сугубо теоретическая. Мы уже выяснили код, при котором можно удерживать кнопку и на это время будет гореть свет.

_________________
Я еще не волшебник, а только учусь)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 07, 2017 20:15:53 
Держит паяльник хвостом

Карма: 25
Рейтинг сообщений: 375
Зарегистрирован: Ср апр 13, 2011 11:09:20
Сообщений: 933
Откуда: Екатеринбург
Рейтинг сообщения: 0
igor741986 писал(а):
Я о вашем коде:
main:
sbic PINB,1
sbi PORTD,0
sbis PINB,1
cbi PORTD,0
rjmp main

Это не мой код, этот код предложил trofim2

igor741986 писал(а):
Там схема вам нужна, а здесь нет схемы, один контролер с ногами и все равно вам этого мало).

Один "контроллер с ногами" бывает только в протеусной симуляции. У настоящих схем есть питание, есть цепи сброса, есть блокировочные конденсаторы, есть источник тактирования и правильные фьюзы, есть (вернее, должна быть) правильно собранная схема, наконец.

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

Поэтому четко и внятно ответьте на вопрос - у Вас есть схема "в железе", или все гоняется в симуляции?

igor741986 писал(а):
Вообще я быстрей сам дойду, как реализовать эту функцию.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 07, 2017 20:35:24 
Родился

Зарегистрирован: Пн мар 06, 2017 15:17:48
Сообщений: 13
Откуда: Башкортостан
Рейтинг сообщения: 0
В протеусе работает, в железе не работает, я понимаю что из за сборки бывают проблемы. Но когда лень думать, можно свалить на все что угодно). Я конечно выложу фотки и схему, как разберусь с этим сайтом. Но это никому ни чего не даст).

_________________
Я еще не волшебник, а только учусь)


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 07, 2017 20:46:58 
Держит паяльник хвостом

Карма: 25
Рейтинг сообщений: 375
Зарегистрирован: Ср апр 13, 2011 11:09:20
Сообщений: 933
Откуда: Екатеринбург
Рейтинг сообщения: 0
igor741986 писал(а):
Но когда лень думать

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

А работоспособность в симуляции и неработоспособность в железе в 80% случаев означает, что с логикой программы все в порядке, а проблемы - "аппаратные". Для решения которых нужна схема, фото монтажа. Ну и фьюзы. То, что Вы выложили в основной теме, нечитаемо без микроскопа. Я даже и пытаться не стану, нафиг мне глаза портить.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 08, 2017 07:48:55 
Встал на лапы

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Чт сен 10, 2015 06:59:03
Сообщений: 106
Откуда: Гродно, BY
Рейтинг сообщения: 0
А я вообще симуляцией не пользуюсь, только железо.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 08, 2017 09:28:31 
Первый раз сказал Мяу!

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб сен 17, 2016 18:56:30
Сообщений: 31
Рейтинг сообщения: 0
trofim2 писал(а):
А я вообще симуляцией не пользуюсь, только железо.

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


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

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Жаль котяток...
8)
Состояние сигнала на входной линии pinx определяется внешними факторами, ежли порт настроен как входной или состоянием portx, ежли порт настроен как выход.
Посему... непосредственное использование оценки статуса pinx командой условного перехода (без принятия дополнительных мер) в принципе обречено на провал.
:wink:


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

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб сен 17, 2016 18:56:30
Сообщений: 31
Рейтинг сообщения: 0
BOB51 писал(а):
Жаль котяток...
8)
Состояние сигнала на входной линии pinx определяется внешними факторами, ежли порт настроен как входной или состоянием portx, ежли порт настроен как выход.
Посему... непосредственное использование оценки статуса pinx командой условного перехода (без принятия дополнительных мер) в принципе обречено на провал.
:wink:

посему? да некакого посему, если Вы осознаЁте в каком состоянии порт находится после инициализации, то никаких нежданок не будет. Если не хотите заморачиваться с инициализацией портов, или даже более того - хотите соблюсти семантику, то пользуйтесь макросом InitGPIO.
Ассемблер для того и нужен, чтобы полностью контролировать поведение контроллера (извините за тафтологию) с момента подачи питания.


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

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
:)))


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

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб сен 17, 2016 18:56:30
Сообщений: 31
Рейтинг сообщения: 0
ВОВ51, извините за неадекватную реакцию. Был пьян.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 26, 2017 07:18:47 
Встал на лапы

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Чт сен 10, 2015 06:59:03
Сообщений: 106
Откуда: Гродно, BY
Рейтинг сообщения: 0
Долго отходил


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

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб сен 17, 2016 18:56:30
Сообщений: 31
Рейтинг сообщения: 0
Возраст, ну и стаж наверное. Что-то тяжело даётся последнее время выход в освобождённое пространство мышления.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 26, 2017 07:48:14 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 0
Подобное не прогнозируемое поведение можно также списать на банальный непропай вывода PB настроенного на вход. Когда ТС "удерживая сигнал на входе вызывает перезагрузку контроллера" изгибает плату, или еще каким либо образом прижимает ножку контроллера к печатке. Также может реагировать и вывод RESET - при замыкании вывода на плату в случае плохой пайки.
Прозвоните, наконец свои соединения и напишите об этом.

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб апр 15, 2017 10:21:38 
Вымогатель припоя
Аватар пользователя

Карма: 16
Рейтинг сообщений: 94
Зарегистрирован: Вс дек 28, 2014 18:35:34
Сообщений: 526
Откуда: Луганск
Рейтинг сообщения: 0
Коты, всем привет и доброго времени суток!Вопрос про команду lpm. Тут, на радиокоте, написан такой кусочек кода:

Код:
ReadArray:
          ldi ZH,High(MyArray*2) ;загрузка адреса 0-го
          ldi ZL,Low(MyArray*2)  ;элемента в рег. пару Z

          ldi Temp1,0
          add ZL,Temp          ;прибавление
          adc ZH,Temp1         ;внутр. адреса

          lpm                  ;загрузка из ПЗУ

          mov Temp1,R0         ;копирование
          out PortB,Temp1      ;вывод в порт
          inc Temp             ;увелич. внутр. адреса
          rjmp ReadArray       ;в начало цикла

MyArray:
.db 12,16,3,4,10,17,255,37,158,14,13,98
.db 14,85,30,9,145,52,64,49,119,72,209,46


Далее, идёт пояснение:

Цитата:
Что значит "*2"? Дело в том, что каждая команда содержит два байта информации и занимает, таким образом, две ячейки ПЗУ. Поэтому, счетчик команд считает 2 адреса как один. Метка содержит именно данные для счетчика команд. Чтобы получить реальный адрес ПЗУ, необходимо увеличить адрес метки в 2 раза. Что мы и делаем.


Вот отрывок из книги Ревича:

Изображение

Стало интересно. Выходит, что кроме счетчика команд, который считает слова в памяти программ, есть еще какой-то счетчик, который отсчитывает байты Flash-памяти? Иначе, зачем указывать адреса байт -- кто их будет читать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб апр 15, 2017 11:55:10 
Вымогатель припоя

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
Читать будет команда LPM

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб апр 15, 2017 12:04:21 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Alek Lem писал(а):
Выходит, что кроме счетчика команд, который считает слова в памяти программ, есть еще какой-то счетчик, который отсчитывает байты Flash-памяти? Иначе, зачем указывать адреса байт -- кто их будет читать?
Назначение счетчика команд - указатель на выполняемую команду, адресуется в словах (16бит). Команда LPM считывает один байт в R0 из флеш по адресу лежащему в Z (адрес побайтный). Метки в ассемблере для AVR адресуются пословно, поэтому в Z заносится двойное значение метки.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб апр 15, 2017 12:10:14 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Дополнительный побайтный счетчик организован программно. Попробуйте, к примеру, сделать таблицу с нечетным числом байт и увидите, что будет вызов 0-байта
Спойлер
Код:
.INCLUDE "m8515def.inc"
.def   Temp=R20
.def   Temp1=R21

   CLR   Temp
   ldi Temp1,0

ReadArray:
          ldi ZH,High(MyArray*2) ;???????? ?????? 0-??
          ldi ZL,Low(MyArray*2)  ;???????? ? ???. ???? Z

;          ldi Temp1,0
          add ZL,Temp          ;???????????
          adc ZH,Temp1         ;?????. ??????

          lpm                  ;???????? ?? ???

          out PortB,r0      ;????? ? ????
;         mov Temp1,R0         ;???????????
;          out PortB,Temp1      ;????? ? ????
          inc Temp             ;??????. ?????. ??????
          rjmp ReadArray       ;? ?????? ?????
.org   0x40
MyArray:
.db 12,16,3;,4,10,17,255,37,158,14,13,98
.db 14,85,30,9,145,52,64,49,119,72,209,46
MyArray_END:
.EXIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Сб апр 15, 2017 12:43:39 
Вымогатель припоя
Аватар пользователя

Карма: 16
Рейтинг сообщений: 94
Зарегистрирован: Вс дек 28, 2014 18:35:34
Сообщений: 526
Откуда: Луганск
Рейтинг сообщения: 0
dgrett писал(а):
Читать будет команда LPM
Команда не умеет читать. Читать может устройство.

Z_h_e писал(а):
Alek Lem писал(а):
Выходит, что кроме счетчика команд, который считает слова в памяти программ, есть еще какой-то счетчик, который отсчитывает байты Flash-памяти? Иначе, зачем указывать адреса байт -- кто их будет читать?
Назначение счетчика команд - указатель на выполняемую команду, адресуется в словах (16бит). Команда LPM считывает один байт в R0 из флеш по адресу лежащему в Z (адрес побайтный). Метки в ассемблере для AVR адресуются пословно, поэтому в Z заносится двойное значение метки.
Спасибо, хорошее объяснение, но чуток не на мой вопрос. Я спрашивал, как именно происходит отсчет адреса в ROM побайтно командой plm ? Ведь адрес ROM умеет отсчитывать, на сколько я знаю, только счетчик команд (регистр адреса). А он это делает пословно. Тогда какому устройству предназначен побайтный адрес ? Возможно, что компилятор, видя команду plm, переводит побайтный адрес из регистра Z обратно в пословный для счетчика команд ?

akl, вроде бы, у Ревича на этот счет написано немного другое:

Изображение


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

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Alek Lem писал(а):
Возможно, что компилятор, видя команду plm, переводит побайтный адрес из регистра Z обратно в пословный для счетчика команд ?
Вот опкод команды LPM 1001 0101 1100 1000, не во что другое компилятор его не переведет, и не добавит команд правящих Z. Если бы компилятор додумывлася править Z, то было бы :facepalm: и это уж никак не был бы ассемблер. Каким образом работает команда , забота декодера команд. Осмелюсь предположить что по команде LPM камень выставляет на шину адреса половину Z, считывается все слово, но в регистр-получатель загружает младшую или старшую часть слова, в зависимости от младшего бита в Z. Но это вопросы архитектуры камня, известные лишь разрабам и программиста в принципе волновать не должно.

Добавлено after 4 minutes 52 seconds:
Alek Lem писал(а):
Ведь адрес ROM умеет отсчитывать, на сколько я знаю, только счетчик команд (регистр адреса).
Счетчик команд ничего не считывает, он хранит адрес для выборки команд.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
LPM немного мне напоминает Зайлоговский LDIR, только очень упрощённый.

_________________
Я всё-всё узнAю и стану профессором.


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

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


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

Сейчас этот форум просматривают: Ivanoff-iv и гости: 38


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

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


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