Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: PIC с нуля

Вс апр 06, 2014 19:32:06

Вроде пошло дело помаленьку. Только заметил, что в даташите и в инструкции переменная для включения/отключения подтягивающих резисторов порта Б называются RBPU, а в заголовочном файле nRBPU. Еще странность, или просто особенность, нет подтягивающих резисторов порта А, или я просто не смог найти. Но русский даташит точно говорит что нет таких.

На счет плат, личный рекорд это разводка для ft245rl лутом. Хочу освоить фоторезист, но отталкивает пока цена на все это и отсутствие денег.

Re: PIC с нуля

Вс апр 06, 2014 19:51:51

попробовать C18 или HITECH Сompillers

C18 для микроконтроллеров серии PIC18. HI-TECH купила фирма Microchip. HI-TECH компилятор теперь называется MPLAB XC Compiler:
XC8 для PIC10/12/16/18 микроконтроллеров
XC16 для PIC24 и dsPIC микроконтроллеров
XC32 для PIC32 микроконтроллеров
Скачать бесплатно можно с сайта Microchip: https://www.microchip.com/pagehandler/e ... s/mplabxc/
XC бесплатно работает 60 дней, после отключается оптимизация, но без оптимизации можно вполне продолжать работать, лекарства существуют.
В PIC16 не на всех портах могут быть подтяжки. nRBPU это бит в регистре OPTION_REG.

Re: PIC с нуля

Вс апр 06, 2014 22:34:48

Kotto писал(а): Какой из компиляторов лучше выбрать со средой разработки
уверен что от микрочипа тот что с mplab x ставится.

Re: PIC с нуля

Пн апр 07, 2014 05:46:55

насчет ХС не скажу,но на него надо переходить уже со знаниями тонкостей си-мое мнение
мплаб-как что здесь http://labkit.ru/html/C_for_PIC?id=397 нажимаете далее и читаете,для мигалки достаточно,сам пробовал,а дальше тупик :lol: даже спрашивать не стоит-пошлют в гугл(меня уже послали ),так что лсд-не судьба изучить

Re: PIC с нуля

Пн апр 07, 2014 09:27:29

pavel1979 писал(а):лсд-не судьба изучить
вот так получится:
https://www.google.ru/search?q=pic+lcd& ... c+lcd+picc

и вот так тоже - все для НАЧИНАЮЩЕГО с PIC - http://www.proavr.narod.ru/09.htm

Re: PIC с нуля

Пн апр 07, 2014 13:14:06

#include <pic.h>
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS);
#define knopka RB4
#define diod RA0

void podgot (void) {
TRISA = 0b00000000;
TRISB = 0b00010000;

CMCON = 0x07;

PORTA = 0;
PORTB = 0;
nRBPU = 0;
}


void main (void) {
podgot ();
while (1) {
diod = 1;
_delay (100);
diod = 0;
_delay (100);
}
}

Вот эта штука успешно работает на протеусе, а в живом железе диод просто горит и все и не мигает, что не так? Ноги вроде не перепутал, диод своим плюсом припаян к 17й ноге контролера PIC16F628, минус сидит на GND, прошивка заливается отлично, без ошибок каких либо.

Re: PIC с нуля

Пн апр 07, 2014 13:23:31

может аналоговые функции А не отключены?

Эффективно прикладывать архив папки проекта к посту.

Re: PIC с нуля

Пн апр 07, 2014 13:27:54

Как то не догадался выложить, извините, вот, архив с проектом
Вложения
test.X.rar
(29.48 KiB) Скачиваний: 226

Re: PIC с нуля

Пн апр 07, 2014 14:03:01

Может фьюзы не так настроены, никак не найду где в MPLAB их настраивать и как. А надо ли отсоединять MCLR после прошивки и прочие линии от п рограмматора, чтобы начало работать или включается сразу?

Re: PIC с нуля

Пн апр 07, 2014 14:14:20

Если программатор не удерживает MCLR в нуле, то можно программатор не отсоединять. Но обычно в оболочке программатора есть управление этим пином...
Конфиг (фьюзы) в МПЛАБе можно выставить через меню Конфиг, либо указав в этом меню сверху галкой, чтобы конфиг был включен в код (ХЕКС).

Re: PIC с нуля

Пн апр 07, 2014 15:02:35

Все равно не понимаю, в протеусе работает, на живом PIC16F628A отказывается, диод просто горит, не хочет мигать и все тут (

__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS);

почему то в даташите нет ни одного упоминания об этих параметрах, кроме BOREN
Последний раз редактировалось AlekseyEnergo Вс апр 13, 2014 15:41:22, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.2 правил форума. Подредактировал. Предупредил!

Re: PIC с нуля

Пн апр 07, 2014 15:30:30

:shock:
Это как это нет?
MCLRDIS - MCLR disable
LVPDIS - LVP disable
PWRTEN - PWRT Enable
WDTDIS - WDT Disable
И так далее...

Смотрите DS40044G-page 98

Re: PIC с нуля

Пн апр 07, 2014 15:40:44

И правда, нашел :oops: Но что не так с моим проектом, почему он отказывается работать на живом пике?

Re: PIC с нуля

Пн апр 07, 2014 16:05:20

radio-kot писал(а):
pavel1979 писал(а):лсд-не судьба изучить
вот так получится:
https://www.google.ru/search?q=pic+lcd& ... c+lcd+picc

и вот так тоже - все для НАЧИНАЮЩЕГО с PIC - http://www.proavr.narod.ru/09.htm

я давно видел этот сайт,как то там все свалено в кучу ,было бы кк например здесь http://decada.org.ru/project/lessons/bascom_avr/ тогда понятнее
написал Вам в личку

Re: PIC с нуля

Пн апр 07, 2014 18:08:31

А надо ли отсоединять MCLR после прошивки и прочие линии от п рограмматора, чтобы начало работать или включается сразу?


Смотря что у вас за программатор. Но лучше притянуть резистором кОм на 10 к плюсу и отключить программатор.

Вы ещё FOSC настройте, а то непонятно, от чего у вас тактирование идёт.

Re: PIC с нуля

Пн апр 07, 2014 19:18:41

Спасибо! Наконец то заработало :) Программатор вроде как PICKit2, студенческий какой то, вот отсюда собирал

http://www.labkit.ru/html/programmators_shm?id=86

Прописал OSCF = 4000000;

Я сейчас не понимаю где указано откуда тактировать МК, явно я этого нигде не писал, откуда то вышло из умолчаний.

_delay (1000) это задержка в одну секунду приблизительно должна быть, но моргает гораздо чаще.

В даташите написано OSCF = 1 будет 4 МГц, = 0 будет 32 кГц, ставишь 1 вообще перестает мигать

Re: PIC с нуля

Пн апр 07, 2014 23:10:25

Источник тактов определяется в конфиг. битах. В оригинальном даташите это раздел 14.1, одна страница, и далее 4 страницы про генератор.
Не знаю какой у вас документ, но в моем родном даташите в регистре PCON бит OSCF=0 для 48 кГц, а не для 32. Это действительно, если в конфиге указан _FOSC_INTOSCIO, т.е. внутренний генератор без вывода тактов наружу через RA6.

Re: PIC с нуля

Пн апр 07, 2014 23:18:19

Подскажите, плиз, среду разработки для PIC в ос ubuntu. Язык программирования - ассемблер. Си даже нюхать не хочу, т.к. это язык вуду.

Re: PIC с нуля

Пн апр 07, 2014 23:24:29

MPLAB X IDE

Если данное там под Линукс на Убунту не пойдет по каким-то причинам, попробуйте виндовую через Wine.

Re: PIC с нуля

Пн апр 07, 2014 23:52:00

Спасибо!
К утру скачается, посмотрю.
Ответить