Самоучитель по программированию ПИК на ассемблере. Носов.

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 151
Зарегистрирован: Ср дек 01, 2021 15:09:09

Сообщение PenguinChik »

Кто-нибудь пользовался этим самоучителем? А то я повторяю программный код на ассемблере, и у меня при компиляции выскакивает
куча ошибок. Я уже много раз код перепроверил - расхождений с самоучителем вроде нет. Прям не знаю, что делать. Если кто использовал этот самоучитель, скажите, там рабочие коды?
И могут ли быть ошибки, если у меня другая версия MPLAB стоит?
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

во всех книжках бывают ошибки. От бездумного повторения толку нет, а вот если сами найдете и исправите ошибки - толк будет.
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Откуда: не с Уфы

Сообщение Родэрик »

Тебе нужен mpasm, а сейчас у тебя pic-as
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вс янв 08, 2012 18:23:36

Сообщение vitos »

лучший самоучитель это даташит+протеус ,
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 6649
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

Да уж, когда не знаешь что такое регистр и как ногой дернуть, несомненно, 500-страничный даташит на инглише лучший "помощник" :)))
Пока протеус заставишь работать как надо, забудешь зачем его устанавливал...
Астролябия-сама меряет, было бы что мерять!!!
Реклама
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вс янв 08, 2012 18:23:36

Сообщение vitos »

есть даташиты на русском , а дальше по аналогии ,
я старый чел (60 лет) изучил месяца за два и дальше по нарастающей ,команд то всего 35
молодым то и вовсе должно как орешки щелкать

Добавлено after 3 minutes 6 seconds:
Re: Самоучитель по программированию ПИК на ассемблере. Носов.
никаких мплабов не проходил ,только даташит+протеус+блокнот винды
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312374#p4312374"]Кто-нибудь пользовался этим самоучителем? А то я повторяю программный код на ассемблере, и у меня при компиляции выскакивает
куча ошибок. Я уже много раз код перепроверил - расхождений с самоучителем вроде нет. Прям не знаю, что делать. Если кто использовал этот самоучитель, скажите, там рабочие коды?
И могут ли быть ошибки, если у меня другая версия MPLAB стоит?[/uquote]
В большинстве случаев имелся в виду старо-добрый mplab 8.92...
Как насчет mplab X не скажжу - IDE навороченная и на "устаревших ПК" весьма избыточная и медлительная.
Самоучителей большое множжество - не имея под руками конкретной книги подсказать что-либо практически невозможно.
Тем более, что используя IDE нужно еще корректно настройку проекта сделать.
Как вариант - можно глянуть ссылки на учебно-справочные материалы, что порассыпал где-то в старых темах:
( https://radiokot.ru/forum/viewtopic.php?f=62&t=94201
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720 )
там где-то и несколько проектов для ПИКов под ассемблером для mplab 8.92 и "шпоры" по системе команд и схемки программаторов "для простолюбителей" были
8)
vitos писал(а):...

Добавлено after 3 minutes 6 seconds:
Re: Самоучитель по программированию ПИК на ассемблере. Носов.
никаких мплабов не проходил ,только даташит+протеус+блокнот винды
Запуск компилятора с командной строки *.bat файлом?
Это еще там, где бесплатной IDE нету можно делать (у меня так для c51asm для mcs51 сделано из практического жлобства - данный компилятор свободно-бесплатный). Для ПИКов и АВРок вполне удачно "стандартно-устаревшие" IDE удобны - там и симуляторы встроенные весьма приличные имеются.
Доугое дело - пойдут обновленные серии МК - там ужж придется и компиляторы обновлять (или файлы описаний ресурсов в старых модифицировать/дописывать).
:beer:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 151
Зарегистрирован: Ср дек 01, 2021 15:09:09

Сообщение PenguinChik »

А какая разница между PIC-AS и MPASM ? Я уже понял, что там немного различный синтаксис...Просто смысл было придумывать PIC-AS, если есть MPASM? Что, PIC-AS чем-то лучше ?
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Mpasm это компилятор от разработчика данных микроконтроллеров.
Помимо него есть еще много компиляторов от "сторонних авторов" - что использовать каждый определяет самостоятельно.
Однако... Компилятор от разработчика МК(тем более, ежли оный идет в составе среды разработки) более удобно использовать.
Второй определяющий выбор фактор - распространенность избранного компилятора - чем более распространен, тем легче "найти общий язык" с друзьями-радиолюбителями.
Осваивать несколько компиляторов одного и того же языка программирования (тем более ассемблера) это из разряда садомазохизма для избранных.
Так сложилось, что на "начальном этапе" развития было весьма много желающих писать компиляторы. Со временем этот вопрос потихоньку "утрясли" в пользу стандартно применяемого набора компиляторов и IDE.
:beer:
Поставщик валерьянки для Кота
Сообщения: 1926
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Если собираетесь начать писать код (судя по названию темы), почему бы не начать с языка высокого уровня? С, с MPLAB или напр. CCS являются перспективными. Лучше всего то, что способ выражения в алгоритмическом письме в конечном итоге вероятно в будушем принесет пользу другим микроконтроллерам (напр. STM8, STM32) - команды напр. только иметь другое имя.

На уровне контроллеров еще 10-15 лет назад, при проекты низкой сложности, средней сложности и даже часть высокой сложности помещаютсяь в память без использования чистого ассемблера. Будете писать код для логики в выбранном устройстве и взаимодействие между периферией, а не то, как управлять конкретным МК на уровне регистров и портов. В первом варианте напр. переход от одной МК к другой часто занимает секунды/минуты - напр. беру старый проект, переименовываю контроллер, устанавливаю новые выходы, некоторые функции пишу по-другому, некоторые - удаляю и компилирую. Готово - новый проект на новом чипе с использованием большей части старого кода.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 151
Зарегистрирован: Ср дек 01, 2021 15:09:09

Сообщение PenguinChik »

[uquote="BOB51",url="/forum/viewtopic.php?p=4312548#p4312548"]Mpasm это компилятор от разработчика данных микроконтроллеров.
:beer:[/uquote]

А что PIC-AS, разве это не от разработчика? У меня в MPLAB был PIC-AS...MPLAB - это же от разработчика.
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Какая разница от кого он?
Важно, что mpasm и pic-as разные по синтаксису проекта ассемблеры.
Pic-as по сути часть Си-проекта и может быть легко скомбинирован с Си-файлами исходника.
И в МПЛАБе нет pic-as. Он есть только в составе компилятора. Без установки ХС8 работать с ним невозможно.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 151
Зарегистрирован: Ср дек 01, 2021 15:09:09

Сообщение PenguinChik »

Ну да...разные. Кто-то в видеоуроке ставит метку, и обозначает ее словом METKA, чтобы с помощью команды "goto" к ней вернуться. И все у него нормально компилируется. Я ставлю METKA, и у меня ругается, типо компилятор не понимает, что это за команда такая.
Последний раз редактировалось PenguinChik Пн окт 31, 2022 16:20:14, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Компилятор ассемблера для работы в составе ЯВУ(Си) и компилятор для самостоятельного использования весьма разные...
И не только для ПИКов.
8)
Помимо того у ПИКов еще и разница даже в mpasm для проектов с фиксированными и перемещаемыми программами...
:(
Опытный кот
Аватара пользователя
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Сообщение MLX90640 »

А слово МЕТКА - русскими буквами? Ну тогда чож удивляетесь то.
В MPASM и PIC-AS мнемоники и синтаксис команд должны быть одинаковыми, поскольку в даташите на микроконтроллер оное уже прописано.
Последний раз редактировалось MLX90640 Пн окт 31, 2022 16:34:26, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312613#p4312613"]у меня ругается[/uquote]
Еще раз предлагаю не заниматься пустопорожним мазохизмом и выбрать один из двух вариантов:
1. Поставить версию MPLABX 5.35 и спокойно писать на MPASM с примерами из книжки
2. Изучить документацию на PIC-AS и править код согласно документации.
ЗЫ. Метки в PIC-AS ДОЛЖНЫ иметь на конце двоеточние. В MPASMX двоеточие необязательно.
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Что-то у топикстартера НЕ ТО (туманит)...

Код: Выделить всё

дуб
 nop
goto дуб
mpasm такое вполне пропускает без замечаний...
:dont_know:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 151
Зарегистрирован: Ср дек 01, 2021 15:09:09

Сообщение PenguinChik »

Ну вот, установил МПЛАБ 4.05, и все равно повылазили ошибки. Может там нужно еще что-нибудь дополнительно подключать к проету?
Вложения
Воп2.jpg
(230 КБ) 161 скачивание
Опытный кот
Аватара пользователя
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Сообщение MLX90640 »

Для обозначения 16-ричной формы числа пишите префикс 0x , то есть 0x06. И там все адреса регистров - однобайтные, поэтому нет смысла записывать как двухбайтное число, плодя лишние нули.
Во-вторых, принято, чтобы инструкции шли во втором столбце табуляции, то есть, от начала строки нажмите один раз клавишу Tab на клавиатуре и дальше пишите инструкцию movlw .
Судя по всему, этот самоучитель от Носова похож на аналогичное творение Корабельникова, который в свое время "прославился" множеством ошибок.
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4312884#p4312884"]этот самоучитель от Носова похож на аналогичное творение Корабельникова[/uquote]
К гадалке не ходи... :tea:
Определение регистров периферии в коде вместо включения хедера контроллера в проект, магическое число в конфиге - кагбэ намекаэ...

[uquote="PenguinChik",url="/forum/viewtopic.php?p=4312879#p4312879"]Может там нужно еще что-нибудь дополнительно подключать к проекту?[/uquote]
К проекту нужно подключить хедер - файл <название МК>.inc.
Кроме того, в третий раз предлагаю читать документацию на ассемблер. В данном случае на mpasmx. Ну и на среду.
Кроме того, не нужно скачивать среду разработки из непонятных источников. Судя по версии, вы ее нашли на помойках интернета. Качать нужно с сайта производителя: https://www.microchip.com/en-us/tools-r ... 20Archives
Ответить

Вернуться в «PIC»