Например TDA7294

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





Текущее время: Вт апр 16, 2024 09:46:05

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


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



Начать новую тему Ответить на тему  [ Сообщений: 440 ]     ... , , , 10, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн мар 13, 2017 23:33:14 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
botchin писал(а):
...AN526 Microchip...

Спасибо, мой уродец и рядом не валялся с этим шедевром))

PicNik писал(а):

Простите, но без местоположения меток ничего не понятно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт мар 14, 2017 03:19:04 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21785
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Пока_без_кота писал(а):
мой уродец и рядом не валялся с этим шедевром

Есть такая наука - ВЫСШАЯ АРИФМЕТИКА. Изучает теорию чисел. Алгоритм преобразования из аппноты микрочипа как раз оттуда. Поэтому в подобных вещах изобретать велосипед не стоит. Оная наука весьма сложна и не зазорно просто воспользоваться некоторыми ее плодами. А если есть интерес, то и попытаться ее освоить в некоем доступном (по образованию) объеме.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт мар 14, 2017 06:55:25 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 859
Откуда: Тюмень
Рейтинг сообщения: 0
Доброго времени суток, просветите, не совсем понимаю директиву BANKSEL. Как я понял, если написать, скажем banksel PORTB, то контроллер перейдёт в тот банк памяти, в котором находится этот регистр(сделает этот банк текущим), правильно? Но например у 628-го, PORTB отображается и на нулевой и на второй банк, в какой тогда перейдёт команда... или просто компилятор выкинет ошибку?
http://radiolaba.ru/wp-content/uploads/2013/12/karta_pamyati.jpg


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

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

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

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Никакой ошибки не будет, а банк будет 0-й.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт мар 14, 2017 09:26:10 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 859
Откуда: Тюмень
Рейтинг сообщения: 0
Т.е в таких случаях, компилятор перейдёт на минимальный из двух банк?


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

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

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

Карма: 55
Рейтинг сообщений: 415
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 2902
Откуда: Севастополь
Рейтинг сообщения: 1
Не минимальный, а основной.
У PIC-ов основной банк - нулевой.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


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

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 859
Откуда: Тюмень
Рейтинг сообщения: 0
Спасибо :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт мар 23, 2017 08:00:19 
Родился

Зарегистрирован: Сб янв 25, 2014 18:09:09
Сообщений: 15
Рейтинг сообщения: 0
Люди, объясниет мне, почему перебор не работает (начальный адрес в переменной точно тот, что нужно):
START:
MOVLW B'00000000'
TRIS 0x06
GOTO CODESTART
RETLW 0x07
RETLW 0x0A
CODESTART:
variable a = 0x06
LOOP:
CALL a
MOVWF 0x06
a = a + 1
GOTO LOOP
Переменная a не инкриментируется почему-то :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт мар 23, 2017 08:03:26 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это че за "гибрид" ассемблера с "сампридумал"?
:shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт мар 23, 2017 08:09:34 
Родился

Зарегистрирован: Сб янв 25, 2014 18:09:09
Сообщений: 15
Рейтинг сообщения: 0
Вроде, не гибрид. Я делал все по мануалу в MPLAB X, так что все претензии к ним :)) . Директива varible там есть и, вроде, работает, но в этом случае переменная почему-то не хточет изменять значение :dont_know:


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

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Какой пик?

Гибрид, причем неудачный.
movwf 0x06 перестает содержимое аккумулятора в переменную (регистр) по указанному адресу.
А выше вы объявляете переменную и назначаете ей значение 6. Не стыкуется одно с другим, не говоря уже об адресации внутри пика. Адрес и содержимое как бы разные вещи.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт мар 23, 2017 08:47:03 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Есть понятие "макрос" и там некоторые примеры авторазметки/автозаполнения.
НО...
Макросы перед подстановкой в код обрабатываются препроцессором компилятора.
И всего-то выполняют роль подстановок сгенерированного фрагмента кода в нужное место программы, а не непосредственного исполнения - участок кода будет исполняться АЛУ(ядром) МК.
Посему - любое изменение делать должен исключительно МК, опираясь на имеющиеся ресурсы.
Ежли есть изменяемая константа - то только в регистре(ЕЕПРОМ) и/или акумуляторе.
А далее используя имеющуюся систему команд и ресурсы ядра проводим с той переменной необходимые действия ПОКОМАНДНО.
Это ассемблер, а не чего более "высокоуровневого" (к примеру СИ).
8)

Отсюда такой перл
"CODESTART:
variable a = 0x06
LOOP:
CALL a
MOVWF 0x06
a = a + 1
GOTO LOOP"
вообще весьма сомнительный: "а" (в CALL a) есть адрес подпрограммы, котроая выполняет "= a + 1"
а затем без усякого return принудительно посылается на GOTO LOOP...
Это всего-то вместо использования какого-нибудь регистра ОЗУ в текущем банке с командой INCF Rn,f даже без использования W
...
:(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт мар 23, 2017 09:26:10 
Родился

Зарегистрирован: Сб янв 25, 2014 18:09:09
Сообщений: 15
Рейтинг сообщения: 0
PIC12F509. А как тогда мее реалтзовать на нем перебор информации, занесенной при помощи RETLW? Мне, просто, нужно хранить больше констант, чем влезет в файловые регистры. И CALL a работает как раз корректно, вызывая именно первый RETLW. Оно, просто, не хочет выполнять a = a + 1, которое работает, если делать не цикл, а последовательно писать
CALL a
MOVWF 0x06
a = a + 1
CALL a
MOVWF 0x06
a = a + 1
...


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

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
У PIC12F509-го аж 48 регистров РОН...
Неуж-то мало?
:shock:
Тогда ищем кристалл с ЕЕПРОМ - там возможно хранение изменяемых величин.
8)
Касательно возврата по таблице...
Там используется особенность ПИКовых подставлять значения в счетчик команд.
Табличка снабжается заголовочным фрагментом к которому и обращается вызов CALL, а уже сам заголовок выполняет функционал выборки нужного RETLW.
Принцип примерно такой:
Код:
shaps
  movf Rn,w
  addwf PCL,f
table
  dt ...............

только там еще кучка замечаний и относительно корректного размещения самой таблицы и относительно диапазона (ибо переполнение PCL не влияет на содержимое PCLATH содержимое коего используется при любой модификации PCL)....
:roll:


Последний раз редактировалось BOB51 Чт мар 23, 2017 10:10:15, всего редактировалось 2 раз(а).

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

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
В конце листинга пишете, скажем, org 0x300, после чего через dt перечисляете константы.
Затем читаете раздел 4.7 даташита.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вс май 07, 2017 16:40:43 
Родился

Зарегистрирован: Вс май 07, 2017 16:16:01
Сообщений: 8
Откуда: Саратов
Рейтинг сообщения: 0
Здравствуйте!!! Подскажите почему при попытке чтения PIC16F73, не отображается окно EEPROM, в то время как у PIC16F628a все нормально отображается. Программатор Pickit3.


Вложения:
Screenshot_12.png [45.62 KiB]
Скачиваний: 406
Screenshot_1.png [60.25 KiB]
Скачиваний: 373
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вс май 07, 2017 19:12:37 
Друг Кота
Аватар пользователя

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

А с чего вы взяли что у PIC16F73 есть EEPROM?
По крайней мере, Microchip об этом не знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вс май 07, 2017 19:24:59 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Открываем даташит на этот Пик. Ищем хоть слово про EEPROM. Не находим, успокаиваемся и закрываем.
П.С. Вкладка была долго открыта, опередили))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн май 08, 2017 00:26:00 
Родился

Зарегистрирован: Вс май 07, 2017 16:16:01
Сообщений: 8
Откуда: Саратов
Рейтинг сообщения: 0
Мне просто показалось Eeprom и " Память данных" это одно и тоже. А как же тогда эту память посмотреть?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн май 08, 2017 00:35:22 
Друг Кота
Аватар пользователя

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


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

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


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

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


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

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


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