PIC с нуля
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Вроде пошло дело помаленьку. Только заметил, что в даташите и в инструкции переменная для включения/отключения подтягивающих резисторов порта Б называются RBPU, а в заголовочном файле nRBPU. Еще странность, или просто особенность, нет подтягивающих резисторов порта А, или я просто не смог найти. Но русский даташит точно говорит что нет таких.
На счет плат, личный рекорд это разводка для ft245rl лутом. Хочу освоить фоторезист, но отталкивает пока цена на все это и отсутствие денег.
На счет плат, личный рекорд это разводка для ft245rl лутом. Хочу освоить фоторезист, но отталкивает пока цена на все это и отсутствие денег.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: PIC с нуля
попробовать 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 с нуля
уверен что от микрочипа тот что с mplab x ставится.Kotto писал(а): Какой из компиляторов лучше выбрать со средой разработки
Будете проходить мимо- проходите!
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: PIC с нуля
насчет ХС не скажу,но на него надо переходить уже со знаниями тонкостей си-мое мнение
мплаб-как что здесь http://labkit.ru/html/C_for_PIC?id=397 нажимаете далее и читаете,для мигалки достаточно,сам пробовал,а дальше тупик
даже спрашивать не стоит-пошлют в гугл(меня уже послали ),так что лсд-не судьба изучить
мплаб-как что здесь http://labkit.ru/html/C_for_PIC?id=397 нажимаете далее и читаете,для мигалки достаточно,сам пробовал,а дальше тупик
Re: PIC с нуля
вот так получится:pavel1979 писал(а):лсд-не судьба изучить
https://www.google.ru/search?q=pic+lcd& ... c+lcd+picc
и вот так тоже - все для НАЧИНАЮЩЕГО с PIC - http://www.proavr.narod.ru/09.htm
Будете проходить мимо- проходите!
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
#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, прошивка заливается отлично, без ошибок каких либо.
__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 с нуля
может аналоговые функции А не отключены?
Эффективно прикладывать архив папки проекта к посту.
Эффективно прикладывать архив папки проекта к посту.
Будете проходить мимо- проходите!
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Как то не догадался выложить, извините, вот, архив с проектом
- Вложения
-
- test.X.rar
- (29.48 КБ) 266 скачиваний
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Может фьюзы не так настроены, никак не найду где в MPLAB их настраивать и как. А надо ли отсоединять MCLR после прошивки и прочие линии от п рограмматора, чтобы начало работать или включается сразу?
- КРАМ
- Друг Кота
- Сообщения: 25121
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC с нуля
Если программатор не удерживает MCLR в нуле, то можно программатор не отсоединять. Но обычно в оболочке программатора есть управление этим пином...
Конфиг (фьюзы) в МПЛАБе можно выставить через меню Конфиг, либо указав в этом меню сверху галкой, чтобы конфиг был включен в код (ХЕКС).
Конфиг (фьюзы) в МПЛАБе можно выставить через меню Конфиг, либо указав в этом меню сверху галкой, чтобы конфиг был включен в код (ХЕКС).
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Все равно не понимаю, в протеусе работает, на живом PIC16F628A отказывается, диод просто горит, не хочет мигать и все тут (
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS);
почему то в даташите нет ни одного упоминания об этих параметрах, кроме BOREN
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS);
почему то в даташите нет ни одного упоминания об этих параметрах, кроме BOREN
Последний раз редактировалось AlekseyEnergo Вс апр 13, 2014 15:41:22, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.2 правил форума. Подредактировал. Предупредил!
Причина: Нарушение пункта 2.2 правил форума. Подредактировал. Предупредил!
- КРАМ
- Друг Кота
- Сообщения: 25121
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC с нуля
Это как это нет?
MCLRDIS - MCLR disable
LVPDIS - LVP disable
PWRTEN - PWRT Enable
WDTDIS - WDT Disable
И так далее...
Смотрите DS40044G-page 98
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
И правда, нашел
Но что не так с моим проектом, почему он отказывается работать на живом пике?
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: PIC с нуля
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/ тогда понятнее
написал Вам в личку
- da-nie
- Говорящий с текстолитом
- Сообщения: 1590
- Зарегистрирован: Вс июн 24, 2012 16:07:00
- Откуда: Лен.Обл.
- Контактная информация:
Re: PIC с нуля
А надо ли отсоединять MCLR после прошивки и прочие линии от п рограмматора, чтобы начало работать или включается сразу?
Смотря что у вас за программатор. Но лучше притянуть резистором кОм на 10 к плюсу и отключить программатор.
Вы ещё FOSC настройте, а то непонятно, от чего у вас тактирование идёт.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Спасибо! Наконец то заработало
Программатор вроде как PICKit2, студенческий какой то, вот отсюда собирал
http://www.labkit.ru/html/programmators_shm?id=86
Прописал OSCF = 4000000;
Я сейчас не понимаю где указано откуда тактировать МК, явно я этого нигде не писал, откуда то вышло из умолчаний.
_delay (1000) это задержка в одну секунду приблизительно должна быть, но моргает гораздо чаще.
В даташите написано OSCF = 1 будет 4 МГц, = 0 будет 32 кГц, ставишь 1 вообще перестает мигать
http://www.labkit.ru/html/programmators_shm?id=86
Прописал OSCF = 4000000;
Я сейчас не понимаю где указано откуда тактировать МК, явно я этого нигде не писал, откуда то вышло из умолчаний.
_delay (1000) это задержка в одну секунду приблизительно должна быть, но моргает гораздо чаще.
В даташите написано OSCF = 1 будет 4 МГц, = 0 будет 32 кГц, ставишь 1 вообще перестает мигать
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: PIC с нуля
Источник тактов определяется в конфиг. битах. В оригинальном даташите это раздел 14.1, одна страница, и далее 4 страницы про генератор.
Не знаю какой у вас документ, но в моем родном даташите в регистре PCON бит OSCF=0 для 48 кГц, а не для 32. Это действительно, если в конфиге указан _FOSC_INTOSCIO, т.е. внутренний генератор без вывода тактов наружу через RA6.
Не знаю какой у вас документ, но в моем родном даташите в регистре PCON бит OSCF=0 для 48 кГц, а не для 32. Это действительно, если в конфиге указан _FOSC_INTOSCIO, т.е. внутренний генератор без вывода тактов наружу через RA6.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: PIC с нуля
Подскажите, плиз, среду разработки для PIC в ос ubuntu. Язык программирования - ассемблер. Си даже нюхать не хочу, т.к. это язык вуду.
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: PIC с нуля
MPLAB X IDE
Если данное там под Линукс на Убунту не пойдет по каким-то причинам, попробуйте виндовую через Wine.
Если данное там под Линукс на Убунту не пойдет по каким-то причинам, попробуйте виндовую через Wine.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: PIC с нуля
Спасибо!
К утру скачается, посмотрю.
К утру скачается, посмотрю.