Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы начинающих PIC ASM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 12:18:50

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


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



Начать новую тему Ответить на тему  [ Сообщений: 440 ]  1, , , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 17:11:36 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Здравствуйте!
Подскажите пож-ста. PIC 12F675 Не работает такой код
Код:
btfsc W,0 ; W 0bit -> Out0
bsf Outstat,Out0

В АКБ 0x1, а он просто идёт дальше, как-будто W(0)=0. В железе не пошло сразу, мучаю в симуляторе пока. Есть сомнения, что в этой команде можно использовать АКБ, хотя даташиту вроде не противоречит, но в инете попадается, что нельзя...

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 17:28:18 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Команда btfsc W,0 в PIC12F675 не пройдёт.
Сохраните W в RAM (в некий регистр) и сделайте в нём проверку бита "0".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 17:48:13 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Да уж, что это за аккумулятор такой недоделанный... Компилятор gpasm не выдаёт в этом случае ни ошибки ни даже предупреждения, а другие более возлюбленные микрочипом?
Даташит:
BTFSC bit Test, Skip if Clear
Syntax: [label] BTFSC f,b
Operands: 0<=f<=127 0<=b<=7
Вроде формально укладывается, предупреждений/запретов на использование W нет.

И думаю, по аналогии,
Код:
decf W,W
тоже нельзя?

_________________
gentoo kicad 7


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 18:21:45 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Откройте таблицу команд в родном pdf-е и посмотрите какие команды на какие флаги влияют.
Лень проверять на железе, но уверен что decf W,W он не выполнит.
-----
Более менее можно верить MPLAB SIM, но иногда и там встречаются "недочёты" в Debugger-е.


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 18:30:42 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Не могу сообразить, причём тут флаги. Мне тоже кажется, что не выполнит.
DECF Decrement f
Syntax: [label] DECF f,d
Operands: 0<=f<=127 d=[0,1]
Operation: (f) - 1 -> (destination)
Status Affected: Z

Может и до меня кто заметил, но думаю, если в мнемонике команды нет буквы W, то использовать его нельзя :))

_________________
gentoo kicad 7


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 18:48:37 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
yor писал(а):
Не могу сообразить, причём тут флаги....
...Status Affected: Z

Z - флаг ZERO ("0").
-------
В 12-ой серии decf W,x не выполняется.
-------
Замените btfsc W,0 на
Код:
   movwf   TEMPx
   btfsc   TEMPx,0


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 19:10:45 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
yor писал(а):
Может и до меня кто заметил, но думаю, если в мнемонике команды нет буквы W, то использовать его нельзя :))
Так оно и есть.

А проверить нулевой бит в аккумуляторе можно, сделав побитовое "И" его с константой (ANDLW) и проверить флаг Z.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 19:23:33 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Albert_V писал(а):
Z - флаг ZERO ("0").
-------
В 12-ой серии decf W,x не выполняется.

Как из первого следует второе?

Аlex писал(а):
Так оно и есть.

Странно, что не находится прямого вразумления от микрочипа. Даже PICmicro Mid-Range Reference Manual-33023a просмотрел (не очень конечно досконально) - и тишина...

Аlex писал(а):
побитовое "И" его с константой (ANDLW) и проверить флаг Z.

Это уже не одна команда, но это мелочи, и вкупе с другими неподдерживающими АКБ командами не имеет смысла, проще действительно сторонний регистр задействовать.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 19:29:12 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
yor писал(а):
...Как из первого следует второе?...

Никак.
Я специально проставил "разделитель" между фразами (не три поста же "городить").


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 19:42:04 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 4
Медали: 1
Получил миской по аватаре (1)
yor писал(а):
Странно, что не находится прямого вразумления от микрочипа.
Не понятно, какое вразумление Вам нужно ?
Команда btfsc - проверка бита в регистре. Именно в регистре ! Все команды имеют описание. Если в описании оперирует аккумулятор (кстати, это далеко не АКБ) - значит операция производится именно с ним.
Аккумулятор не имеет адресации, по этому обратиться к нему напрямую (даже косвенно), как к регистру, нельзя. И никакой он не недоделанный, просто такая система команд слабоватая.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 19:49:08 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Вот хотя бы такое, спасибо :))

А в каком состоянии после включения, POR и прочих сбросов находятся общие регистры, которые ОЗУ? Некоторые в любом, некоторые в определённом (а иначе невозможно было бы начать работу), а про общие не пишут. Понятно, что для надёжности/определённости можно сбрасывать, но всё-таки, если кто знает? Да и если каждый сбрасывать, много места зря пропадает.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн янв 11, 2016 22:48:54 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 123
Откуда: не с Уфы
Рейтинг сообщения: 0
FF


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 00:22:32 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не пишут - значит в неопределённом.
А зачем их сбрасывать ? Чем сброс отличается от установки в него, к примеру, 0x55 ? Чем сброс поможет Вам ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 09:16:10 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Ну в смысле инициализировать, я имел ввиду. А вот возвращаясь к напечатанному:
Albert_V писал(а):
Команда btfsc W,0 в PIC12F675 не пройдёт.

А в каких-нибудь PIC-ах вообще пройдёт? Учитывая
yor писал(а):
если в мнемонике команды нет буквы W, то использовать его нельзя


yor писал(а):
Компилятор gpasm не выдаёт в этом случае ни ошибки ни даже предупреждения, а другие более возлюбленные микрочипом?

Это как-то неприлично выглядит со стороны, gpasm ладно понятно, СПО и всё такое, но неужели и mpasm и прочие типа серъёзные компиляторы так же себя ведут в этом случае? Проверьте пож-ста, кому не трудно, а то я сам под линуксом живу.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 09:32:07 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
yor писал(а):
...А в каких-нибудь PIC-ах вообще пройдёт?...

В PIC24FJ проходит.
В PIC18F26K22 - так же проходит btfss WREG,0 (проверил на реальном "железе").


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 10:53:22 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 123
Откуда: не с Уфы
Рейтинг сообщения: 0
Цитата:
Команда btfsc W,0 в PIC12F675 не пройдёт.

А в каких-нибудь PIC-ах вообще пройдёт?


Что значит не пройдёт? Мне кажется вы неверно представляете это.
На самом деле пройдёт.

Если вы напишите BTFSC W,0 то как и в любом другом случае, если вы не нарушили синтаксис, будет создан соответствующий опкод.
А именно : Вместо W подставится ноль, ведь именно так он у вас определён, только это команда работает с адресом регистра, поэтому будет обращение к регистру с адресом 0x00, а это indf. А кто сказал что к нему нельзя обращаться, и к его любому биту?

А хотели ли вы обратиться к indf, когда писали W, это уже другой вопрос.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 11:12:45 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Это понятно, но как задумано всё-таки не пройдёт. Потому и компилится без ошибок. Не зря существуют (слышал краем уха) всякие лексические-грамматические анализаторы.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 11:18:08 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
yor, если пишите программу на ASM - лучше никому не доверять проверку логики работы программы.
Только сами.
"Если что" - в MPLAB Sim можете посмотреть "что происходит", но на 100% у меня к нему доверия нет.
Синтаксис и орфографию проверит транслятор в любом случае.
----
P.S.
Пока изучаете PIC-и - лучше не отключать Warning-и.
Пусть, лучше, будет "куча" предупреждений типа "проверьте к какому банку вы обращаетесь" или "по умолчанию результат сохранён в регистре" (это если забыли в команде, к примеру, decf regx указать куда сохранить результат).
По крайне мере, будет повод ещё раз перепроверить текст программы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 12:12:59 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1163
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Ну как тут не согласиться, согласен конечно со всем:)) Я в gpsim проверяю, случай с "btfsc W" поймал :))

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт янв 12, 2016 12:17:22 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
yor писал(а):
...Я в gpsim проверяю...

Лучше, на мой взгляд, пользоваться официальным софтом от производителя контроллеров.
Для PIC-ов - MPLAB (бесплатный).


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

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


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

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


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

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


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