Как стать автором
Обновить
242.02

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

Программирование PIC16F876A. Собираем схему с плавно мигающим светодиодом

Время на прочтение5 мин
Количество просмотров48K
Эта статья направлена на новичков в программировании микроконтроллеров семейства PIC16 от Microchip. В нашем случае, я выбрал немного превосходящий микроконтроллер для таких задач, а именно — PIC16F876A. Программирование микроконтроллера будем производить в MPLAB IDE.

Цель работы: собрать схему, которая будет мигать светодиодом, внимание, с применением ШИМ.

И так, цель задачи обозначили. Теперь перейдем к реализации наших планов.
Читать дальше →
Всего голосов 65: ↑55 и ↓10+45
Комментарии65

Создаем простейшее usb-устройство для общения со своей программой

Время на прочтение7 мин
Количество просмотров117K
В продолжение темы о создании собственного USB-гаджета.
Создание простого устройства.

Раз устройство планируется подключать к ПК, значит вероятнее всего потребуется передача данных между устройством и ПК.
Начнем писать прошивку и софт, наладив связь между ними.
Читать дальше →
Всего голосов 138: ↑134 и ↓4+130
Комментарии35

Введение в разработку USB периферии

Время на прочтение4 мин
Количество просмотров49K
Последние полгода я участвую в разработке первого в своей жизни USB-устройства и прикладного ПО к нему, и сейчас хочу поделиться своим пониманием того, как там всё работает: микроконтроллер, драйвер, прикладное ПО. Также затрону вопрос о выборе идентификаторов VID/PID. Список полезных ссылок для желающих более подробно разобраться в теме прилагается.
Читать дальше →
Всего голосов 103: ↑103 и ↓0+103
Комментарии109

Программирование микроконтроллеров PIC16/PIC18 на языке C. Статья третья. Немного о железе

Время на прочтение2 мин
Количество просмотров29K
Все то оно хорошо, когда мигает в симуляторе светодиод, но неплохо бы посмотреть на это действо вживую.
Расскажу коротко об аппаратной части сего процесса.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии27

Истории

Программирование микроконтроллеров PIC16/PIC18 на языке C. Статья вторая. Базовые сведения о платформе. Первая программа

Время на прочтение4 мин
Количество просмотров127K
Если в первой статье все получилось хорошо — мы получили базовую программную обстановку для продолжения обучения.

Едем дальше.

Как я говорил ранее, пока что объяснять буду на базе МК PIC16F628A.
Обязательно качаем документацию на него. Рекомендую для поиска — alldatasheet.com
DataSheet — главный документ при разработке на базе МК.
Рекомендую распечатывать основные таблицы и разделы для удобства пользования.

Открываем ДШ.

Наиболее важные сведения о кристалле:
— максимальная рабочая частота — 20МГц;
— 2048х14 бит флеш-ПЗУ;
— 224 байта статической ОЗУ;
— 128 байт энергонезависимой ПЗУ;
— 16 доступных выводов;
— модуль приемо-передатчика;
— 3 таймера.

Данный кристалл — представитель так называемого среднего (Mid-range) семейства МК PIC.

Вкратце расскажу о том, что обязательно нужно понимать.

Читать дальше →
Всего голосов 54: ↑48 и ↓6+42
Комментарии16

Программирование микроконтроллеров PIC16/PIC18 на языке C. Статья вводная

Время на прочтение3 мин
Количество просмотров83K
Доброго тебе времени суток, хороший человек.

Это вводная статья из небольшого цикла о программировании МК PIC16/18 на языке C.

Необходимый минимум:
ПО:
— MPLAB;
— собственно компилятор C;
— Proteus ISIS;
Железо:
— отладочная плата;
— программатор.

MPLAB — среда разработки от Microchip. Скачать можно на офсайте. Полностью бесплатна.
Содержит компилятор с языка ассемблера, позволяет провести полный цикл разработки в том числе и прошивку(при наличии соответствующего программатора).
Большинство компиляторов языка C имеют механизмы встраивания в эту среду.
Качаем обязательно.

Компилятор C.
Здесь уже немного сложнее с выбором.
Список того, на что я советую обратить внимание:
— CCS PICC;
— Micro-C;
— IAR C;
— HT-PICC;
— Microchip C18;

Читать дальше →
Всего голосов 67: ↑60 и ↓7+53
Комментарии32

Программирование для AVR в Ubuntu

Время на прочтение1 мин
Количество просмотров22K
Для интересующихся программированием микроконтроллеров подсказываю про существование замечательного плагина для Eclipse, упрощающего разработку софта: AVR Eclipse plug-in. Он позволяет выбрать из списка процессор, создать hex и с помощью avrdude загрузить прошивку, плюс различные бантики с просмотром и редактированием отдельных битов в регистрах и фьюзах.

Про IDE Eclipse я здесь рассказывать не буду — большинство присутствующих его знают и используют, а для тех, кто с ним пока не знаком, найдется немало мануалов по установке.
Вначале установим все необходимое для разработки под AVR:

apt-get install avr-gcc avr-binutils avr-libc avrdude

Теперь запускаем Эклипс, заходим в Help->Software updates->Add site… и вписываем туда адрес сайта плагина avr-eclipse.sourceforge.net/updatesite
Жмем Ok, перезапускаем Эклипс и видим в мастере проектов новый пункт «AVR Cross Target Application». Выбираете процессор, тактовую частоту — и вперед!

Успешной работы и правильных фьюзов ;)
Всего голосов 44: ↑28 и ↓16+12
Комментарии6

Почти ОС реального времени — 2

Время на прочтение2 мин
Количество просмотров9.2K
Теперь, когда инструмент готов, его уже можно и нужно использовать.

Предварительно пара слов про Главный Таймер.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии18

Почти ОС реального времени: event-driven

Время на прочтение7 мин
Количество просмотров12K
Пару слов введения:
Делаю систему контроля на базе AtMega32. Цель — отслеживать значение датчиков температуры и давления, управление нагрузкой и сброс отладочных логов в компьютер.

Плюс экранчик 2х16 символов и клавиатура на 7 клавиш. Аппаратную часть использовал готовую — набор NM8036 от МастерКита. А вот с программной частью засада: стандартный алгоритм, уже прошитый в наборе, примитивен и универсален, исходных кодов прошивки нет, обновления выходят в зашифрованном виде. Пришлось писать самому.

Первоначально рисовал «быстро и грязно» — только чтобы работало. Затем система эволюционировала — усложнялись алгоритмы работы, разрастался интерфейс, увеличилось количество параметров, появилась необходимость обучить другого человека работе с системой. Вносить изменение не порушив старый код становилось все сложнее и сложнее. Плюс некоторые архитектурные недоработки, заложенные с самого начала, очень осложняли жизнь.

На форумах, посвященных программированию микроконтроллеров, наткнулся на упоминание об rtos — операционных системах реального времени. Почитал, скачал пару бесплатных, попробовал и принял решение: написать свое.

Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии36

Внутрисхемный программатор отладчик ICD2 + Ubuntu

Время на прочтение3 мин
Количество просмотров4.6K
Разработка в Linux — это просто!

Этот топик будет посвящен подключению программатора отладчика фирмы Olimex — ICD2 на Linux.

Так как в интернете я почти не нашел информации по этому поводу, позволю рассказать себе как я это сделал.
Не хитро догадаться, что нужно знать на какой дистрибутив будем ставить. Мой выбор пал на Ubuntu 8.10. Ядро на данный момент было установлено версии 2.6.27-11-generic ( анстейбл вобщем ).
Однако, это очень дружественный и простой в использовании дистрибутив, но граблей при подключении избежать не удалось.

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии4

Модернизация телефона старого образца(телефон рулетка).

Время на прочтение4 мин
Количество просмотров15K

Суть(цель?) проекта


— На тот момент это был проект для областных соревнований по радиоэлектронике и радиоконструированию.

Далее по списку:
— Выбрать идею — модернизация телефона.
— Создать устройство на базе микроконтроллера семейства PIC16.
— Более лучшее изучение языка ASM а так же Си.
— Создать юзабельный аппарат через который можно будет звонить.
— что нибуть еще =)
Читать дальше →
Всего голосов 98: ↑93 и ↓5+88
Комментарии52

Простая реализация схемы шагового двигателя на мк

Время на прочтение3 мин
Количество просмотров42K
И так, данный пост нацелен на новичков в электронике а так же на новичков в программировании и освоении мк и разработке радиоэлектронных устройств.
Данная разработка представляет простейшее включение МК такого как PIC16F84A для управления шаговым двигателем.
Читать дальше →
Всего голосов 69: ↑61 и ↓8+53
Комментарии79
12 ...
107

Вклад авторов