Перейти к содержанию

MicroC (Pro)


panther1

Рекомендуемые сообщения

Всем Привет.

Предисловие:

Начну наверно как многие здесь - Я в PIC'ах новичек. Спаял программатор Extra-Pic, купил МК 16F73, Скачал программу MicroC Pro 2009 ну и поставил перед собой задачу, она конечно глобальная и пока целиком нехочу о ней рассказывать (всему свое время), самое главное что в ней затронется обучение с самого начала (помигать Светодиодом) потом что то вроде светодиодной шкалы из 4 светодиодов, далее использование кнопки для запуска работы и т.д. заканчивая подключением LCD и выводом на него информации. Надеюсь Вы мне поможете и подскажете, потому как информации и примеров программ на MicroC с хорошими комментариями в сети почти не нашел, а данная ветка поможет многим новичкам к тому же проект будет затрагивать многие интересные для начинающих вопросы.

Глава 1

Моргаем светодиодом.

Создал новый проект, задал в нем МК и частоту кварца, написал вот такую программку:

void main ()

{

TRISB.F3=0;

while(1)

{

PORTB.F3=1;

Delay_ms(500);

PORTB.F3=0;

Delay_ms(500);

}

}

Нашел этот пример где то на просторах интернета практически без описания, кроме Delay (ждать 0,5 сек.) ничего непонятно.

1 - Что такое TRISB

2 - что такое while (думаю начало цикла) и почему он (1)?

3 - PORTB 1 и PORTB 0 Это включить и выключить светодиод но на какой ноге порта B он должен висеть (F3 это и есть третя нога)?

Ну и последнее на сегодня - как скомпилировать программу в HEX?

С Уважением и надеждой на взаимопонимание!

P.S. Модераторы пожалуйста поменяйте название темы, торопился и допустил опечатку в слове Micro, и букву "С" в конце большую. "MicroC Pro"

Ссылка на комментарий
Поделиться на другие сайты

Вы немного не с того начали. Слишком высокий шаг для начинающего.

Для начала покурите даташит, узнайте что может МК, какая у него структура и т.д.. А потом уже начинайте писать программы.

1 - Что такое TRISB

Это направление порта (вход/выход).

2 - что такое while (думаю начало цикла) и почему он (1)?

По Русски это будет так

пока(условие)

{

выполнять

этот

код

.....

}

В хелпе всё это есть.

(F3 это и есть третя нога)?

Это RB3.

REG.Fx = val ;

Это присвоить в регистре REG биту под номером х значение val

В хелпе всё это есть.

Ну и последнее на сегодня - как скомпилировать программу в HEX?

Читайте хелп на МикроСи, там всё есть.

PS: Тему не переименуешь в MicroC, не даст движок форума.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

По поводу даташита и хелпа в английском я силен процентов на 70, а в техническом английском процентов на 20-30, так что в даташите понимаю не очень много. помигать светодиодом думаю можно на любом МК.

Хелп только что нашел от 6 версии MicroC, завтра буду разбираться. Дело в том что интернет у меня дома, а разбираюсь с МК на работе во время обеда ну и в редкие минуты перекура. Так что часа полтора в день всего, поэтому и создал эту ветку, чтоб помогли поскорее освоиться. Завтра буду пробовать компилировать и эмулировать в pic simulator'e, как получится поморгать буду двигаться дальше по намеченному плану. со временем и надеюсь отчасти с Вашей помощью начну более глубоко разбираться в струткуре МК.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

угу, неплохой камень, можно еще 688, но насчет русского дш для него я хз...

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

Выпросил комп с интернетом на 5 мин на работе.

Ну пока нет 628, пытаюсь поморгать тем что есть. :) Скомпилировал программку в pic simulator загрузил, но функция delay не отрабатывает, зацикливается. Светодиод включается и все ждать хоть 0,5сек хоть 5 мин в режиме нормал или фаст все равно не моргает. Подскажите в чем проблема?

Ссылка на комментарий
Поделиться на другие сайты

может компилятор левый какой-нить? по идее вышеприведенный код должен быть правильным...

зы: советую скачать нормальный проверенный компилятор, это PCWH PICC... на него и библиотек/драйверов, и книг полно, например "Шпак Ю.А. - Программирование на языке C для AVR и PIC"...

Изменено пользователем NebsteR

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

скачал, установил просит регистрационный файл которого нет :(

Скомпилировал программу в mikroC 6, mikroC 9, MikroC Pro 2009 V2.5 Результат один и тот же. что то странно это. могу выложить Hex файл посмотрите может вы поймете почему не работает в PIC Simulator.

В общем вот файлик: http://slil.ru/28012402 , если будет время посмотрите кто разбирается в этом пожалуйста буду признателен.

p.s. Немогу на название темы смотреть, прям бесит омечатка. может создадите тему с нормальным названием как с бейсиком, я б утда свои вопросы выкладывал да и другим может быть было проще куски кода туда кидать на С, чем каждый раз новую тему создавать.

Изменено пользователем panther1
Ссылка на комментарий
Поделиться на другие сайты

стукнись в аську, номер в профиле, скину рег. файл и, если надо, гарантированно работающую с ним версию компилятора...

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

Мой тебе совет не парься с PIC Simulator, он работает нормально только если прога написана на его дибильном бейсике, скачай Proteus поставь и эмулируй в нем любые схемы с любыми МК.МикроСи отличный компилятор, особенно хелп на него, кроме этого хелпа в принципе ничего больше не надо, там описан и Си и все библиотеки и куча примеров, причем рабочих примеров.Если же хочешь все писать своими ручками т.е вникнуть в структуру всего, что скрыто за библиотеками от разработчиков тогда тебе нужен HITECH-PICC, но лучше не заморачивайся, а пользуй микроСи и не мечись в стороны.

Хелп на русском от 6-й версии подходит и для других более новых версий, хотя я лично пользуюсь версией 6 и не заморачиваюсь.

Удачи.

Будьте проще и люди к вам потянутся.

Ссылка на комментарий
Поделиться на другие сайты

В протеусе нет такого ПИКа, а ему нужен именно этот.

panther1, А зачем Вам симулятор ? Никак не пойму. У Вас есть железо, пробуйте на нём !

Ссылка на комментарий
Поделиться на другие сайты

есть там такой пик)) 16C73B, почти полный аналог, работает отлично, пообщались с panther1 в аське, в итоге полку пиководов прибыло :D

Изменено пользователем NebsteR

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

угу)

Изменено пользователем NebsteR

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

Мой тебе совет не парься с PIC Simulator, он работает нормально только если прога написана на его дибильном бейсике, скачай Proteus поставь и эмулируй в нем любые схемы с любыми МК.МикроСи отличный компилятор, особенно хелп на него, кроме этого хелпа в принципе ничего больше не надо, там описан и Си и все библиотеки и куча примеров, причем рабочих примеров.Если же хочешь все писать своими ручками т.е вникнуть в структуру всего, что скрыто за библиотеками от разработчиков тогда тебе нужен HITECH-PICC, но лучше не заморачивайся, а пользуй микроСи и не мечись в стороны.

Хелп на русском от 6-й версии подходит и для других более новых версий, хотя я лично пользуюсь версией 6 и не заморачиваюсь.

Удачи.

Спасибо уже все понял сношу пик симулятор, и разбираюсь с протеусом.

В протеусе нет такого ПИКа, а ему нужен именно этот.

panther1, А зачем Вам симулятор ? Никак не пойму. У Вас есть железо, пробуйте на нём !

Контактной макетной платы нет, а травить каждый раз новую плату чтоб проверить работает ли устройство потом паять его как то нет особого желания пока не изучу МикроС на столько чтоб писать программы для нужных устройств. Как только появятся деньги куплю макетку и буду пробовать каждый свой код на работоспособность в железе :)

Ссылка на комментарий
Поделиться на другие сайты

  • 4 года спустя...

Не смотря на дату созданной темы, вставлю я свои 5 копеек. Когда сам только начинал постигать mikroC, все гурьбой кричали, мол учи сначала архитектуру МК а только потом лезь в языки - оно то да, но если сугубо погружаться в них полностью и всяк, а если поморгать светодиодом, иль, что другое простенькое сделать. так лезть с головой в архитектуру это извращенство! хотя это сугубо мое мнение.

Определил я для себя одно: прежде чем лезть в программирование МК, нужно поставить конкретную задачу для чего это вообще нужно. По архитектуре пройтись конечно стоит, что бы знать куда, копать, но для начала можно просто узнать какой функционал МК действительно понадобится и откинуть все остальное - пока откинуть, а позже может и вернуться, опять же если надо будет. Перелопатил я кучу умной литературы, по рекомендации тех же "архитектурщиков", и естественно для меня, человека нового в этом всем, полученная информация была как с другой планеты, которая не могла сразу поместится в мою голову, а соответственно оперировать какими-то понятиями было просто нереально. И лишь случайно в поисках новой, более понятной литературы напоролся на сайт какого-то кружка детского, где было описано начало работы с МК. Хоть в статьях на этом сайте и были какие то расхождения с теми заумными книжками, но они были написаны для школьников, и естественно направление моим трудам было задано. И всем "архитекторам" могу сказать, что врубился в работу портов ввода вывода, в таймеры, только после того, как просмотрел как это все работает, естественно написав перед этим программу по примерам.

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

Оставлю ссыль на сайт кружка, где читал статьи, может ком пригодится.

http://ehob.by/index...ikrokontrollery

П.С. Есть такой метод - от противного. Для начала можно, что то сделать, и после копать как это работает.

Изменено пользователем teapot
Ссылка на комментарий
Поделиться на другие сайты

Оставлю ссыль на сайт кружка, где читал статьи, может ком пригодится.

http://ehob.by/index...ikrokontrollery

Нормальные статейки для начинающих. Правда есть небольшие "ляпы", но терпимые...
Ссылка на комментарий
Поделиться на другие сайты

  • 8 месяцев спустя...

Вопрос к знатокам "MikroC for PIC". У меня версия 4.60. Работают ли таймеры в симуляторе?

Вот фрагмент:

void izm () // измерение

{

out=1; Delay_us (10); out=0; TMR1L=TMR1H=0;

while (in==0) { } // ждем единицу

T1CON=0x01; // вкл таймер

while (in==1) { } // ждем нуль

T1CON=0;

Процесс идет нормально, но TMR1L и TMR1H остаются равны 0 и в процессе счета, и после остановки таймера.

Заранее благодарен за помощь.

Ссылка на комментарий
Поделиться на другие сайты

1-й бит T1CON, т.е. TMR1CS = 0. Это значит: используется внутренний тактовый генератор Fosc/4. В ассемблере вроде бы больше я никаких регистров не настраивал?

Ссылка на комментарий
Поделиться на другие сайты

А, Вы сразу в регистр T1CON пишите значение, не обратил внимание, смутил комментарий "вкл таймер".

Значит такая IDE "хорошая" :) Попробуйте в протеусе или на железе. Всё должно работать.

PS: У Микрочипа есть своя фирменная IDE (Mplab IDE) и свой Си-компилятор (XC8), советую ими пользоваться.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо. До железа еще далеко, устройство еще не всё сформировалось. MPLAB IDE 8.91 когда-то запускал, но мне что-то не понравилось или что-то не получилось. Уже не помню. Попробую еще...

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...

Всем привет! Подскажите кто-нибудь: в компиляторе mikroC pro for PIC пытаюсь запускать отладку (меню Run), но тут же открывается вкладка с другой программой (.с-файлом), в которой тоже недавно включал отладку. А в нужной проге никак, я уже перезапускал mikroC, не помогает, какие-то глюки, что ли?:help:

Изменено пользователем Aleksandr1111
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...