Страница 25 из 25
Re: MPLAB в вопросах и ответах
Добавлено: Вс мар 20, 2022 18:36:30
КРАМ
[uquote="bestavto",url="/forum/viewtopic.php?p=4201051#p4201051"]Как в MPLABX v2.35 создать числовую переменную[/uquote]Если вы пишите на АСМе, то нужно говорить о нем, а не о среде разработки.
И, тем более, стоит перейти на более новую версию среды, например 5.35, которая еще поддерживает старую версию АСМа для восьмибитных ПИКов - MPASM. Последующие версии требуют перехода на другой АСМ - PIC-AS.
Кроме того, вы ничего не сказали о каком МК идет речь. Я смутно догадываюсь, что о 8-битных ПИКах, но есть и 16-битные и у них совсем другой Ассемблер.
Синтаксис выделения памяти под переменные в MPASM, который позволяет видеть эти переменные в отладке в окне Watch или Variables такой:
Код: Выделить всё
group1 udata 0x20
var1 res 1
var2 res 4
var3 res 2
group2 udata_shr
var4 res 1
group1 - это переменные, которые линкер разместит подряд с адреса 0x20
group2 - имеют директиву udata_shr, которая приведет к размещению переменных
в общем для всех банках сегменте (обычно это адрес 0x70 и далее)
res - это количество выделяемых под переменную байт. Обращение к старшим байтам в тексте кода очень простое:
имя переменной+смещение в байтах.
То есть
var2+1 будет именем для второго байта переменной
var2.
Re: MPLAB в вопросах и ответах
Добавлено: Пн мар 21, 2022 10:33:00
bestavto
[uquote="КРАМ",url="/forum/viewtopic.php?p=4201289#p4201289"]не сказали о каком МК идет речь. Я смутно догадываюсь, что о 8-битных ПИКах,.[/uquote]
пишу для 8 битного МК p12f629. Пишу именно в среде mplab, а компилировать буду именно через встроенный компилятор ассемблера.
Re: MPLAB в вопросах и ответах
Добавлено: Пн мар 21, 2022 12:24:39
КРАМ
[uquote="bestavto",url="/forum/viewtopic.php?p=4201506#p4201506"]Пишу именно в среде mplab, а компилировать буду именно через встроенный компилятор ассемблера.[/uquote]
Еще раз. Писать вы можете хоть в блокноте ручкой. Синтаксис кода имеет значение не для среды (IDE), а для ассемблера.
На ваш вопрос я ответил выше. А вообще, открываете мануал на ассемблер (он имеется в папках среды или во встроенном хелпере среды) и читаете. Там все имеется. Включая то, о чем я вам сообщил ранее.
Re: MPLAB в вопросах и ответах
Добавлено: Вт мар 22, 2022 06:49:36
bestavto
Спасибо!
Re: MPLAB в вопросах и ответах
Добавлено: Вт мар 22, 2022 08:03:14
КРАМ
В догон.
При именовании переменных принято, чтобы эти имена несли смысл самих этих переменных.
Re: MPLAB в вопросах и ответах
Добавлено: Вт апр 12, 2022 19:26:29
yor
Что-то не могу на оф. сайте найти, где скачать mplab-x. Уж не перекрыли ли они в связи с Украиной?
Уже нашёл, версия 6.0
Re: MPLAB в вопросах и ответах
Добавлено: Вс ноя 06, 2022 23:19:04
PenguinChik
Почему в книге для примера написан код ''bsf 3,5'' - установка 5 бита регистра СТАТУС, чтобы обращаться к первому банку. А через несколько страниц, код перехода к первому банку записан как ''bsf 5,3''. То есть в одном случае пишется команда, номер регистра, номер бита. А в другом случае наоборот, команда, номер бита, номер регистра. В этом действительно разницы нет? Или есть?
Re: MPLAB в вопросах и ответах
Добавлено: Пн ноя 07, 2022 08:31:27
КРАМ
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4315879#p4315879"]Или есть?[/uquote]
Начнем с того, что так вообще никто не пишет. Сначала к проекту присоединяют хедер контроллера (.inc), а затем пишут осмысленное:
А лучше вообще использовать макрос, который определит банк используемого регистра самостоятельно:
Код: Выделить всё
banksel PORTA ; эта строка будет автоматически заменена на bcf/bsf STATUS, RP0/RP1
bsf PORTA, 2
Во вторых, в каждом даташите на 8-битные контроллеры Микрочипа имеется СИСТЕМА КОМАНД (INSTRUCTION SET SUMMARY), где черным по белому, для каждой инструкции написан ее синтаксис и особенности использования.
Учите настоящую матчасть, а не читайте всякие помоечные рукописи из интернета.
ЗЫ. Запись инструкции имеет фиксированный порядок.

Re: MPLAB в вопросах и ответах
Добавлено: Пн ноя 07, 2022 14:14:19
PenguinChik
Ну, это не помоечные рукописи, а книга. А настоящая матчасть - это только из даташита?
Re: MPLAB в вопросах и ответах
Добавлено: Пн ноя 07, 2022 14:38:05
КРАМ
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4316039#p4316039"]А настоящая матчасть - это только из даташита?[/uquote]
С точки зрения самого контроллера - да. С точки зрения среды - мануал на среду. С точки зрения ассемблера - мануал на ассемблер.
Могу привести вам "рыбу" - пример нулевого проекта под конкретный МК. Там будет все, включая суперлуп. Вам потребуется только нарастить свое "мясо".
[uquote="PenguinChik",url="/forum/viewtopic.php?p=4316039#p4316039"]это не помоечные[/uquote]
Судя по вашим выдержкам - хуже помоечных.
Re: MPLAB в вопросах и ответах
Добавлено: Чт дек 22, 2022 23:26:38
Пока_без_кота
Добрый вечер. MPLAB 8.92 (и его симулятор), PIC12C508A, на ассемблере. В даташите (раздел про Prescaler) написано "When assigned to the Timer0 module, all instructions writing to the TMR0 register (e.g., CLRF 1, MOVWF 1, BSF 1,x, etc.) will clear the prescaler." То есть, при ручном изменении TMR0, предделитель (если он подключен к TMR0) сбрасыватся. А симулятор говорит обратное. В ерратах ничего не нашел. Кому верить ?
Re: MPLAB в вопросах и ответах
Добавлено: Пт дек 23, 2022 03:16:56
veso74
Если "предделитель сбрасыватся" - ето PS<2:0>: Prescaler Rate Select bits Bit, то не сбрасывается предварительный делитель (Value 000).
Если "предделитель сбрасыватся" - ето внутренний счетчик предварительного делителя, то да, содержание сбрасывается.
Re: MPLAB в вопросах и ответах
Добавлено: Пт дек 23, 2022 12:00:00
Пока_без_кота
[uquote="veso74",url="/forum/viewtopic.php?p=4341399#p4341399"]внутренний счетчик предварительного делителя...[/uquote]
Который, я так понимаю, нигде не доступен. Благодарю. Я просто понял это предупреждение, как необходимость заново конфигурировать предделитель каждый раз после ручного изменения значения TMR0. Ошибался, как теперь стало ясно.
Re: MPLAB в вопросах и ответах
Добавлено: Пт дек 23, 2022 13:04:40
veso74
Нет прямого чтения или записи prescaler-a. Единственный способ для чтения: "метод досчета" - добавлять по одному по входу, пока не переполнится.
(Но этот МК не имеет прерывания после переполнения. Лучше на какой-нибудь новый тип МК. По крайней мере будет проще и прямее).
Re: MPLAB в вопросах и ответах
Добавлено: Пт янв 27, 2023 04:44:00
sa-ta
могут знающие товарищи подсказать, возможно ли проект с исходниками под PIC18F2550 перекомпилисмть под PIC18F26J50.. там используется USB и ногодрыг для управления LCD.
__https://cxem.net/comp/comp128.php // Мониторинг параметров ПК на PIC
когда то давно, находил аналогичный "показометр" именно на PIC18F26J50. был еще использована ds1307 для показ часов, когда комп не включен.. может кому то еще попадалась ?