Поклонники продукции Microchip Technology Inc тусуются тут.
Чт ноя 12, 2020 18:31:12
Почему то в MPLAB PicKit серым цветом отображается и невозможно его выбрать.. Но он там есть. При подключении его к компу в диспетчере устройств появляются два! HID устройства сразу.
Добавлено after 1 minute 32 seconds:Стhанно, я сгенерировал конфиг и вставил его полностью в main.c
Добавлено after 59 minutes 52 seconds:Ура, Товарищи, проблема решена, залил в сам PicKit3 другую прошивку и программатор определился MPLAB IPE. Выдал ошибку , что не чует напряжение питания контроллера. Подключил вывод программатора Vdd к питанию контроллера и светодиод начал весело подмигивать . Прошивку взял тут
https://monitor.net.ru/forum/threads/485453/
- Вложения
-
- main.c
- (1.57 KiB) Скачиваний: 345
Чт ноя 12, 2020 19:15:22
У меня IPE сам предложил при первом запуске обновить прошивку. Сам скачал и обновил. Еще не уверен был что китайский клон так обновится, но обновился и дальше обновлялся без проблем. Странно что у вас так не сработало.
Чт ноя 12, 2020 19:16:15
Прошивка лежит в MPLAB и не зачем её искать. PicKit сам её находит при обновлении.
Чт ноя 12, 2020 20:34:20
Ура, Товарищи, проблема решена, залил в сам PicKit3 другую прошивку
Есть такое мнение, что изначально в нем была версия под старую оболочку PICkit3 и достаточно было ЧЕРЕЗ ЭТУ ОБОЛОЧКУ ревертнуть PICkit3 в MPLAB mode.
Ср ноя 25, 2020 21:32:19
Здравствуйте товарищи, понадобился мне именно PIC контроллер , написал то, что хотел и всё работает, среда MPLAB X v5.45 . Единственное огорчение - не пишет комментарии на Русском , точнее пишет, но когда после закрытия проекта откроешь - все Русские символы - знаки вопроса..... подскажите, где что поменять ?
Чт ноя 26, 2020 10:34:01
Русские символы - знаки вопроса..... подскажите, где что поменять ?
При создании проекта нужно выбрать кодировку windows-1251. А лучше сделать ее дефолтной в настройках среды Tools-Options-Embedded-Default Charset.
Если проект уже создан, то правой кнопкой по корневому имени проекта в дереве проектов - Properties-General-Encoding. Подтвердить Apply-OK.
Чт ноя 26, 2020 10:44:25
Лучше сразу UTF-8
Чт ноя 26, 2020 11:10:32
Можно и UTF-8.
Пт ноя 05, 2021 10:50:24
Решил я значит обмазаться древними технологиями и разобраться с PIC16
Имеем вот такой конфиг.
Набросал простенький код
- Код:
list p=16F877
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON& _XT_OSC
#include <P16F877.INC>
org 0x0000
goto start
org 0x0004
nop
start:
bcf STATUS, RP0
bcf STATUS, RP1
clrf PORTD
bsf STATUS, RP0
bcf TRISD, 0
bcf STATUS, RP0
bsf PORTD, 0
loop:
nop
goto loop
end
Компиляется всё без ошибок. Есть правда один варнинг
- Код:
Compiling MAIN.ASM:
Command line: "C:\PROGRA~1\MPLAB\MPASMWIN.EXE /e+ /l+ /c+ /p16F877 /omain.o /q Z:\DISK\PIC\MAIN.ASM"
Message[302] Z:\DISK\PIC\MAIN.ASM 15 : Register in operand not in bank 0. Ensure that bank bits are correct.
Но, как мы знаем, варнинг не ошибка
Для протеуса отдельно пытаюсь сгенерировать cof файл
И тут вылезает ошибка.
- Код:
Z:\Disk\pic>mplink /l"C:\Program Files\MPLAB" "C:\Program Files\MPLAB\16f877.lkr" main.o /o"main.cof"
MPLINK 3.10.03, Linker
Copyright (c) 2002 Microchip Technology Inc.
Error - section '.org_1' can not fit the absolute section. Section '.org_1' start=0x00000004, length=0x00000014
Errors : 1
Z:\Disk\pic>
Что я делаю не так?
Если посмотреть файлик 16f877.lkr то там как раз с 0x00 по 0x04 идет вектор прерываний
- Код:
CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED
Файлик файлик 16f877.lkr
Спойлер
- Код:
// Sample linker command file for 16F877
// $Id: 16f877.lkr,v 1.4 2002/01/29 22:10:01 sealep Exp $
LIBPATH .
CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED
CODEPAGE NAME=page0 START=0x5 END=0x7FF
CODEPAGE NAME=page1 START=0x800 END=0xFFF
CODEPAGE NAME=page2 START=0x1000 END=0x17FF
CODEPAGE NAME=page3 START=0x1800 END=0x1FFF
CODEPAGE NAME=.idlocs START=0x2000 END=0x2003 PROTECTED
CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED
CODEPAGE NAME=eedata START=0x2100 END=0x21FF PROTECTED
DATABANK NAME=sfr0 START=0x0 END=0x1F PROTECTED
DATABANK NAME=sfr1 START=0x80 END=0x9F PROTECTED
DATABANK NAME=sfr2 START=0x100 END=0x10F PROTECTED
DATABANK NAME=sfr3 START=0x180 END=0x18F PROTECTED
DATABANK NAME=gpr0 START=0x20 END=0x6F
DATABANK NAME=gpr1 START=0xA0 END=0xEF
DATABANK NAME=gpr2 START=0x110 END=0x16F
DATABANK NAME=gpr3 START=0x190 END=0x1EF
SHAREBANK NAME=gprnobnk START=0x70 END=0x7F
SHAREBANK NAME=gprnobnk START=0xF0 END=0xFF
SHAREBANK NAME=gprnobnk START=0x170 END=0x17F
SHAREBANK NAME=gprnobnk START=0x1F0 END=0x1FF
SECTION NAME=STARTUP ROM=vectors // Reset and interrupt vectors
SECTION NAME=PROG1 ROM=page0 // ROM code space - page0
SECTION NAME=PROG2 ROM=page1 // ROM code space - page1
SECTION NAME=PROG3 ROM=page2 // ROM code space - page2
SECTION NAME=PROG4 ROM=page3 // ROM code space - page3
SECTION NAME=IDLOCS ROM=.idlocs // ID locations
SECTION NAME=CONFIG ROM=.config // Configuration bits location
SECTION NAME=DEEPROM ROM=eedata // Data EEPROM
Вс ноя 07, 2021 18:02:50
Что я делаю не так?
Закомментируйте строку Org 00004h
Зачем она если не используется прерывание?
Вт ноя 09, 2021 00:57:48
Товарищи! Помогите, пожалуйста, с выбором литературы для изучения программирования PIC на ассемблере.
Вт ноя 09, 2021 13:01:02
Даташиты, Корабельников.
Сб ноя 13, 2021 02:36:44
Спасибо большое!
Странно, что энные пользователи кота не очень любят Корабельникова. Хотелось бы узнать, почему?
Сб ноя 13, 2021 07:28:19
Корабельникова не любят потому, что в его нетленках примерно 1% тривиального и очень простого материала истина, а остальное - эпичная пурга.
Причем читатель не имеет возможности освоить фундаментальные знания в этой области, вместо которых его потчуют фантазиями и глупостями автора в виде доморощенных шаблонов идиотского кода в допотопной среде разработки.
Учитель не имеет права иметь настолько низкую квалификацию по теме обучения.
Сб ноя 13, 2021 22:50:53
Но как же быть тогда и что брать за основу изучения ассемблера для пиков ?
В данный момент читаю Кацтена, но у него фундаментальные данные разжёвываются.
Вс ноя 14, 2021 05:58:48
У младших пиков настолько простой ассемблер, что изучать его можно по даташиту на любой контроллер и мануалу на ассемблер MPASM, который имеется в папке документации пакета среды разработки (MPLABX IDE) вплоть до версии 5.35 включительно. В последующих версиях 5.45 и 5.50 и впредь MPASM выпилили и заменили на PIC Assembler (pic-as) имеющий иной синтаксис листинга (инструкции МК, естественно, не изменились).
Такшта выбирайте какой нибудь устраивающий вас МК, приобретайте инструмент программирования/отладки поддерживающий выбранный МК и начинайте работать. Ничего уникально сложного там нет, примеры кода есть в документации, с вопросами обращайтесь.
Вс ноя 14, 2021 16:12:34
Был кстати, такой момент. Поставил новую (тогда 5.45) версию, а при создании проекта возникли проблемы с асмом, типа нет его. Не стал разбираться, откатился до 5.20 и сижу на нём пока.... Получается асма больше не будет в X?
Тут ещё недавно заметил интересную непонятку. Если создать таблицу (34xx, 34xx.......) из нескольких элементов, а в начале следующего 16-ти словного блока (0xXXX0) создать ещё одну, то у первой мплаб сам добавляет в конце две строки retlw 00 , что довольно странно....
Вс ноя 14, 2021 16:46:52
Получается асма больше не будет в X?
Не АСМа, а конкретно MPASM (mpasmx). Его заменили на АСМ в составе XC8 и он называется PIC Assembler (pic-as).
Можете перейти на 5.35 - эта версия полностью поддерживает mpasmx.
Но все новые контроллеры семейства PIC18Q и аналогичные по времени появления PIC16Fxxxxx либо не полностью поддержаны этой версией, или вообще не поддержаны.
Вс мар 20, 2022 17:47:55
Здравствуйте. Подскажите, пожалуйста, начинающему. Как в MPLABX v2.35 создать числовую переменную чтобы потом в теле программы ей присваивать разные числовые значения? Компилятор использую ассемблер.
Добавлено after 6 hours 51 minute 16 seconds:И еще вопрос. Почему в протеусе программа (прикреп. файл) работает, после нажатия кновки "on\off" зажигается диод с помощью шим, при нажатии кнопок "up" и "down", меняется длительность импульса и сохраняется после нажатии "on\off". после очередного включения диод зажигается на сохраненное значение шим. А на реальном контроллере (правда без мосфетов), после уменьшения яркости и отпускании кнопки "вниз" диод начинает увеличивать яркость. Почему так?
- Вложения
-
- лампа схема.zip
- (16.75 KiB) Скачиваний: 125
-
- Новый текстовый документ.txt
- текст программы
- (11.9 KiB) Скачиваний: 105
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.