Jump to content

MicroC (Pro)


panther1
 Share

Recommended Posts

Всем Привет.

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

Начну наверно как многие здесь - Я в 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"

Link to comment
Share on other sites

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

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

1 - Что такое TRISB

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

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

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

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

{

выполнять

этот

код

.....

}

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

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

Это RB3.

REG.Fx = val ;

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

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

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

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

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

Link to comment
Share on other sites

Приглашаем на вебинар «Необычное в обычном. Сравнительный анализ современных решений Recom» (27.01.2022)

Приглашаем 27/01/2022 всех желающих посетить вебинар, посвященный двум наиболее растущим сегментам интегрированных источников питания – AC/DC малой мощности (1-20Вт) и сегменту решений PoL без изоляции. На вебинаре рассмотрим проблему выбора AC/DC в бюджетном сегменте и концепцию тестирования ускоренного старения, проведем сравнительный анализ подходов к интеграции AC/DC модулей. Сделаем обзор решений концепции POL с доисторических времен до современных технологий и средств для разработки и тестирования.

Подробнее

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

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

Link to comment
Share on other sites

LI/PR2 – надежные и недорогие ИП от MORNSUN на DIN-рейку

Компания Mornsun выпустила три серии источников питания с креплением на DIN-рейку в форм-факторе Home Automation на популярные значения выходной мощности 30, 60 и 100 Вт (серии LI30-20/PR2, LI60-20/PR2, LI100-20/PR2). Эти источники питания относятся ко второму поколению продукции (R2) и характеризуются высокой надежностью и хорошей стоимостью.

Подробнее

Стандарт LoRaWAN и его использование в России с контроллерами STM32WL

Стандарт сетевого уровня LoRaWAN технологии LoRa одобрен для применения в России и отвечает требованиям региональных сетевых операторов. Компания STMicroelectronics выпустила линейку беспроводных однокристальных контроллеров серии STM32WL c поддержкой модуляции LoRa. Серия STM32WL имеет цифровые и аналоговые периферийные устройства для приложений, требующих высокой энергоэффективности и возможностей связи на достаточно большие расстояния, подходя для широкого спектра промышленных и потребительских приложений.

Подробнее

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

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

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

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

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

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

Link to comment
Share on other sites

Разработка преобразователей на основе карбид-кремниевых приборов с помощью симулятора SpeedFit 2.0

Компания Wolfspeed разработала бесплатный онлайн симулятор SpeedFit 2.0, позволяющий разработчикам быстро и всесторонне оценить параметры основных процессов, происходящих в силовой части импульсных преобразователей электрической энергии, и сравнить между собой различные варианты реализации поставленного технического задания.

Подробнее

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

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

Link to comment
Share on other sites

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

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

Edited by NebsteR

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

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

Edited by panther1
Link to comment
Share on other sites

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

Удачи.

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

Edited by NebsteR

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

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

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

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

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

Link to comment
Share on other sites

угу)

Edited by NebsteR

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

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

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

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

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

Link to comment
Share on other sites

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

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

Удачи.

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

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

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

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

Link to comment
Share on other sites

  • 4 years later...

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

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

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

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

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

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

Edited by teapot
Link to comment
Share on other sites

  • 8 months later...

Вопрос к знатокам "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 и в процессе счета, и после остановки таймера.

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 3 years later...

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

Edited by Aleksandr1111
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Сообщения

    • Дак а порядок фильта тут причем? Отрежем дальше по частоте и все. Или режектор используем. Второго порядка обычно за глаза.
    • так и красьте! Я бы взял баллон с белой краской, да задул! И похер, что у динамика кардинально меняются характеристики, красиво же!  и колпачок под золото! Ваще бомба! лучше так
    • собственно вот такой вопрос : прелюдия так как твз сам не мотаю , не умею и не имею желания , то всегда их заказываю , если на торах , то у одного мастера , если на ином железе , то у другого . тут как то приключилось что мастер , мотающий мне выходники приболел , и заказов у него накопилось (а мастер думаю известный многим , Абрамов Николай) , а у меня повис заказ на усилитель . на торах в силу конструкции корпуса заказ был невозможен , стал искать где быстро приобрести и относительно бюджетно , наткнулся на магазин ORG.com (не в коем случае не реклама ) , у них в наличии оказались выходники ТВЗ-66РР универсал , как раз подходящие по параметрам под мои нужды , ну собственно и приобрел у них эту пару . в итоге усилитель я так и не отдал клиенту , я провозился два месяца (по выходным дням , но в итоге то так и так два месяца) и заказчик меня просто не дождался , ну да и ладно . ну а теперь к сути вопроса  не смог победить ачх , в области низов , график от 200 герц и ниже был похож на зубья старой ножовки по дереву . я менял лампы , все емкости , панельки , заново собрал БП , и даже попробовал   ооос 12дб , и нечего не помогло , в итоге забросил этот проект и успешно забыл про него . собственно график ачх с дефектом (без ооос и с ооос 12дб ) прикладываю . по прошествии времени я наткнулся на этого "ущербного" и решил повторить поиски , но начать все таки решил с замены твз  , так как кроме него оставалась только сама печатка , но это уже совсем из уровня бреда , так как ранее на таких же печатках собирал несколько экземпляров . Заказал Николаю изготовление твз , с теми же моточными данными  , но на железе от осм 0.063 , трансы пришли , поставил и все прошло . в чем прикол ? неужели конструкция железа так влияет ? в первом случае Ш железо , во втором случае железо от осм . вот сейчас еще мысль пришла в голову : железо в первом случае с отверстием под шпильки крепления , и может шпильки стоят без изоляции и коротят пластины ? ну проверить теперь смогу только в субботу  что еще могло повлиять в твз на эту проблему ? поделитесь мыслями  скрины ачх двух твз прилагаю  второй скрин: в усилителе сразу два твз , один в левом другой в правом каналах , с подключенной ооос  
    • Тому как Qts есть добротность резонанса. Это бас и мидбас вынуждены работать в полосе резонанса. А миду и твитеру это противопоказано.
    • @drubtsow за динамики ни слова... или мы должны сами догадаться? 
    • вот смотрите . там где сейчас 50 ком , с емкостью 0.1мкф образуется срез 32герц , там где 270ком , там срез 6герц , исходя из особенности схемы фазоинвертора, изменив сопротивление верхнего резистора ,  срез по частоте 32 герц Вы сделали для обоих выходных ламп , что собственно и подтверждается графиком АЧХ , а вы говорите что все хорошо и ровно ... далее , учитывая что резисторы 270к(50к неисправный канал) и 270к образуют делитель , со средней точки которого снимается на вторую сетку фазоинвертора , то вы сильно нарушили баланс сигналов на сетках выходных ламп , тем самым очень сильно увеличив уровень второй гармоники , что так же очень хорошо видно на графике ачх . вывод : каналы усилителя звучат совершенно по разному , в какой то степени это сгладит ооос , но звук все же будет ну не айс . вот настоятельно рекомендую сделать это : ну а там каждому свое , устраивает звучание усилителя , ну так и забейте тогда 
    • SENDUST или альсифер по-русски. Ферритовые кольца не годятся. Можно взять ферритовый Ш-образный сердечник с зазором. Какой модуль ? Который вы собрали, или купленный у китайцев ? Если купленный у китайцев, то он работает как SEPIC преобразователь и никакие снабберы и суппресоры ему не требуются, т.к. все выбросы, в т.ч. и отражённое напряжение уходят через конденсатор Cdc к потребителю. На вашем же модуле снаббер нужно ставить в обязательном порядке. Хотя, для такой мощности хватит суппресора.
×
×
  • Create New...