Pic программирование: Средства программирования PIC-контроллеров / Хабр

Содержание

Средства программирования PIC-контроллеров / Хабр

Введение

PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую компактную систему с низким энергопотреблением, не предъявляющую высоких требований по ее управлению. Эти контроллеры позволяют заменить аппаратную логику гибкими программными средствами, которые взаимодействуют с внешними устройствами через хорошие порты.

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

Компания Microchip распространяет MPLAB — бесплатную интегрированную среду редактирования и отладки программ, которая записывает бинарные файлы в микроконтроллеры PIC через программаторы.

Взаимодействие MPLAB и Matlab/Simulink позволяет разрабатывать программы для PIC-контроллеров в среде Simulink — графического моделирования и анализа динамических систем.

В этой работе рассматриваются средства программирования PIC контроллеров: MPLAB, Matlab/Simulink и программатор PIC-KIT3 в следующих разделах.

• Характеристики миниатюрного PIC контроллера PIC12F629
• Интегрированная среда разработки MPLAB IDE
• Подключение Matlab/Simulink к MPLAB
• Подключение программатора PIC-KIT3

Характеристики миниатюрного PIC-контроллера

Семейство РIС12ххх содержит контроллеры в миниатюрном 8–выводном корпусе со встроенным тактовым генератором. Контроллеры имеют RISC–архитектуру и обеспечивают выполнение большинства команд процессора за один машинный цикл.

Для примера, ниже даны характеристики недорогого компактного 8-разрядного контроллера PIC12F629 с многофункциональными портами, малым потреблением и широким диапазоном питания [1].

• Архитектура: RISC
• Напряжение питания VDD: от 2,0В до 5,5В (< 6,5В)
• Потребление:
— <1,0 мА @ 5,5В, 4МГц
— 20 мкА (тип) @ 32 кГц, 2,0В
— <1,0 мкА (тип) в режиме [email protected],0В
• Рассеиваемая мощность: 0,8Вт
• Многофункциональные каналы ввода/вывода: 6/5
• Максимальный выходной ток портов GPIO: 125мА
• Ток через программируемые внутренние подтягивающие резисторы портов: ≥50 (250) ≤400 мкА @ 5,0В
• Разрядность контроллера: 8
• Тактовая частота от внешнего генератора: 20 МГц
Длительность машинного цикла: 200 нс
• Тактовая частота от внутреннего RC генератора: 4 МГц ±1%
Длительность машинного цикла: 1мкс
• FLASH память программ: 1К
Число циклов стирание/запись: ≥1000
• ОЗУ память данных: 64
• EEPROM память данных: 128
Число циклов стирание/запись: ≥10K (-40оС ≤TA≤ +125 оС)
• Аппаратные регистры специального назначения: 16
• Список команд: 35 инструкций, все команды выполняются за один машинный цикл,
кроме команд перехода, выполняемых за 2 цикла
• Аппаратный стек: 8 уровней
• Таймер/счетчик ТМR0: 8-разрядный с предделителем
• Таймер/счетчик ТМR1: 16-разрядный с предделителем

Дополнительные особенности:


• Сброс по включению питания (POR)
• Таймер сброса (PWRTтаймер ожидания запуска генератора (OST
• Сброс по снижению напряжения питания (BOD)
• Сторожевой таймер WDT
• Мультиплексируемый вывод -MCLR
• Система прерываний по изменению уровня сигнала на входах
• Индивидуально программируемые для каждого входа подтягивающие резисторы
• Программируемая защита входа
• Режим пониженного энергопотребления SLEEP
• Выбор режима работы тактового генератора
• Внутрисхемное программирование ICSP с использованием двух выводов
• Четыре пользовательские ID ячейки

Предельная рабочая температура для Е исполнения (расширенный диапазон) от -40оС до +125 оС;

Температура хранения от -65оС до +150 оС.

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

Самоучитель по программированию PIC контроллеров

В 2006-м году возникло у меня желание освоить ассемблер для PIC микроконтроллеров. Решение осваивть именно PIC-и сформировалось не случайно. Для начала всего лишь 35 команд ассемблера. Запомнить наизусть их можно за несколько дней применяя на практике, при написании собственной программы. Или же просто заучить, пользуясь даташитом на любой из PIC контроллеров. Благо, что часть документации доступна на русском языке.

Ну и первая конструкция — само-собой часы. И несложно(во всяком случае в начале мне так казалось) и дома и на работе часам или таймеру применение найти легко. Единственное препятствие, с которым пришлось столкнуться — это отсутствие ясной и последовательно изложенной информации по, непосрественно, способам программирования.

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

После запуска схемы «первый проект на микроконтроллере» — мигания светодиодом начался судорожный поиск дельной информации. И совершенно случайно, рыская по сети в поисках информации по очередной схеме из журнала «Радио» (частотомер Денисова) вышел на сайт Евгения Корабельникова.

Не могу сказать, что на этом мои поиски закончились. Некоторые подходы придумывал сам, а свой код, он как правило всегда лучше, чем придуманный кем-то другим.
Но более последовательного и методичного изложения вопросов по структуре микроконтроллеров, вариантам протоколов обмена информацией PIC-а с внешними устройствами(индикаторы, датчики), работы с микросхемами памяти и многого другого, не встретил пока больше нигде.

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

Если Вам нужен быстрый старт и программирование на ассемблере для PIC контроллеров, то рекомендую сайт Евгения Александровича.



Самоучитель по программированию PIC контроллеров для начинающих 

(руководство по конструированию устройств на микроконтроллерах)

Автор: Корабельников Евгений Александрович         г. Липецк




Общие замечания по стратегии «въезда».

«Самоучитель…» составлен таким образом, что, в случаях наличия каких-то неясностей, возникающих после прочтения предыдущих разделов, в последующих разделах, они постепенно проясняются за счет дополнительной информации. На первичной стадии «въезда», главное — понять смысл, а все остальное к нему, со временем, приложится.

Содержание


Введение
1.   Готовим инструменты. Изготовление программатора и работа с ним.
2.   Что такое микроконтроллер, и как он работает.
3.   Система команд PIC16F84A.
4.   Что такое программа и правила ее составления. Пример создания программы автоколебательного мультивибратора. Директивы. Принципиальная схема мультивибратора
5.   Интегрированная среда проектирования MPLAB IDE и работа в ней.
6.   Что дальше?
7.   Пример создания программы (начало).
8.   Пример создания программы (продолжение).
9.   Работа в симуляторе. Отладка программы.
10. Как отследить выполнение программы
11. Прерывания. Стек. Пример разработки программы с уходом в прерывания.
12. Организация вычисляемого перехода. Работа с EEPROM памятью данных.
13. Флаги. Работа с флагами. Как работает цифровой компаратор. Перенос и заем.
14. Пример задействования флага С в трехбайтном суммирующем устройстве. Циклический сдвиг. Операция умножения.
15. Введение в принцип построения подпрограммы динамической индикации. Косвенная адресация.
16. Преобразование двоичных чисел в двоично-десятичные. Окончательное формирование текста подпрограммы динамической индикации.
17. Принцип счета. Работа с таймером TMR0. Принцип установки групп команд счета в текст программы.
Заключение

Скачать самоучитель
287 страниц в формате PDF
размер файла 3,21 Мб

Скачать приложения
Приложения к самоучителю с сайта автора
формат PDF
размер файла 2,5 Мб


Скачать MPLAB версии 5.70.40
файл на файлообменнике
размер архива 25 Мб

ПРОГРАММИРОВАНИЕ PIC КОНТРОЛЛЕРОВ

   Недавно решил собрать устройство на микроконтроллере фирмы PIC, но по не известным причинам у меня отказал программатор Extra-PIC. Скорее всего, сгорела микросхема МАХ232, такое уже было один раз. Недолго думая, нашел в Интернете простенькую схему программатора, заточенного под IC-Prog и работающую через СОМ порт.


   Плату необходимо отзеркалить при печати. Иначе панельки придется паять со стороны дорожек. 


   Далее просверлил отверстия и начал паять детали. Самой большой проблемой были стабилитроны. Стабилитроны стал искать на плате от ЭЛТ-монитора. Подписаны на плате они как ZD (Zener Diode). Естественно маркировка у них непонятная и неизвестно где и как искать. Чтобы определить, на сколько вольт стабилитрон можно собрать простую схемку.


   Вольтметр достаточно точно покажет, на сколько вольт стабилитрон. Таким нехитрым способом нашел приблизительные по номиналу стабилитроны. Вместо 5,6В установил 6,2В, вместо 12,6В поставил 2 стабилитрона последовательно 6,2+6,2=12,4В


   Транзистор можно поставить КТ315. У себя поставил С945. Диоды тоже любые, я выпаял все 3 шт. из диодного моста той-же платы от монитора. Номинал конденсаторов также не критичен, но их поставил по номиналу. 

   Немного про красные пятачкИ у панелек. Эти ноги вообще не паяются у панелек. Полностью готовый девайс выглядит так: 


   Панельки решил не все паять, т. к. мне нужно было прошить только PIC16F628А. После того как спаял нужно настроить программу. Прошивать мы будем IC-Prog. Скачиваем программу, распаковываем из архива, все файлы должны быть обязательно в одной папке!

1) Если вы пользуетесь Windows NT, 2000 или XP, то правой кнопкой щёлкните на файле icprog.exe. «Свойства» >> вкладка «Совместимость» >> Установите «галочку» на «Запустить программу в режиме совместимости с:» >>
выберите «Windows 2000».

2) Запускаем программу. Если она уже на русском — ничего не нужно, переходите к шагу 3.

   Если программа на английском, то жмите «Settings» >> «Options» >> вкладку «Language» >> установите язык «Russian» и нажмите «Ok».
Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok«). Оболочка программатора перезапустится.

3) Теперь нужно настроить программатор. Кликайте «Настройки» >> «Программатор«. Проверьте установки, выберите используемый вами COM-порт, нажмите «Ok«.


   Для очень «быстрых» компьютеров возможно потребуется увеличить параметр «Задержка Ввода/Вывода». Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.

4) Только для пользователей Windows NT, 2000 или XP. Нажмите «Настройки» >> «Опции» >> выберите вкладку «Общие» >> установите «галочку» на пункте «Вкл. NT/2000/XP драйвер» >> Нажмите «Ok» >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне «Confirm» нажмите «Ok» . Драйвер установится, и оболочка программатора перезапустится.

5) Нажмите снова «Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах: «Включить MCLR как VCC» и «Включить запись блоками«. Нажмите «Ok«.

6) «Настройки» >> «Опции» >> выберите вкладку «Программирование» >> снимите «галочку» с пункта: «Проверка после программирования» и установите «галочку» на пункте «Проверка при программировании«. Нажмите «Ok«.


   Готово, теперь программа полностью готова к работе с программатором. Подключаем наш программатор к СОМ порту, выбираем наш микроконтроллер в программе, открываем прошивку и программируем любые МК серии PIC. Удачи всем в работе с программатором и контроллерами! Автор: [)еНиС

   Форум по МК

РадиоКот :: Начинающим программистам микроконтроллеров PIC

РадиоКот >Обучалка >Микроконтроллеры и ПЛИС >Несколько слов о PIC-контроллерах >

Начинающим программистам микроконтроллеров PIC

Автор: Владимир Д.
[email protected]

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

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

Предлагаемые программы вполне можно применять в виде готовых макросов (законченных подпрограмм).Они не привязаны к конкретному контроллеру, поэтому при применении следует учитывать данные из datasheet -ов.

Примем тактовую частоту — Fтакт. = 4,096 МГц (стандартный кварц). Тогда время цикла составит t c = 1 / Fтакт. * 4 = 0,97656 мкс



INI_TMR				; инициализация  режима прерываний от  RTCC
		bsf STATUS,RP0	; выбираем  банк 1
		movlw b"00000100"
		movwf OPTION		; предделитель  для  RTCC   1 :  32
		bcf STATUS,RP0	;  банк 0
		movlw b"10100000"
		movwf INTCON		;  разрешено прерывание от RTCC
		movlw . 96		;  загружаем  в  RTCC  предварительное число 96
		movwf TMR0

Получим время прерываний:
t i = t c * 32 * (256 — 96 = 160)
t i = 0,97656 * 32 * 160 = 5 000 мкс = 5 мс

Теперь, если в Вашу любую программу ввести бесконечный цикл (так называемый цикл ожи- дания прерывания), и окончание программы переводить на этот цикл, получим временную привязку к 5 мс.И после прерывания программа вернётся по адресу, указанном вектором прерываний (чаще это 04h).Для чего это можно использовать — смотри дальше.

Итак:



;
		org   0
		START		; начало выполнения программы после
;					включения питания
		org   04h		; а это адрес вектора прерывания, по которому
		main		; будет выполняться  основная  программа
;
START				; здесь обычно происходит обязательная  ини-
		INI_TMR		; циализация  портов, режимов, регистров и т. п.
		INI_PORTS
loop
		goto loop		; а это и есть  бесконечный цикл
;--------------------------------------------------

main
;               далее  идёт  тело  основной программы,
;		в которой обязательно надо создать программу обслуживания  прерываний от RTCC,
;            вызываемой   командой  CALL:

ServTMR
		btfsc INTCON,RTIF	;  проверяем  флаг срабатывания прерываний от RTCC  и
		call SET_TMR		;  если "да",то снова инициализируем  TMR0
		return		;  если "нет" -  возврат  в  место вызова  ServTMR в
					;  основной  программе main
;
SET_TMR		movlw .96
		movwf TMR0		; снова загружаем число 96
		bcf INTCON,RTIF		; сбрасываем флаг срабатывания
		retfie		; возврат  с разрешением прерываний  в ServTMR, а
					; затем в основную программу  main

Пример использования прерывания от RTCC для получения секундного импульса на одном из выходов , скажем, порта В — RB0 : Используем регистр Rsec, который должен быть ранее объявлен в в адресном поле рабочих регистров.



FORM_1S				; в каждом цикле,   а он  по прерыванию RTCC  длится
		incf Rsec,w		; 5 Мс,  увеличиваем регистр Rsec на 1 до  числа 200
		xorlw .200		; (5 мс * 200 = 1 сек)
		btfsc STATUS,z
		goto OUT_PORT		; при Rsec = 200  флаг  z = "1" и  переход на управление
					; выводом RB0 порта В
		return		; возврат в основную программу  main
;
OUT_PORT		btfss PORTB,0			; проверяем состояние вывода RB0
		goto OUT_ON		; если RB0 ="0", то  устанавливаем  в "1"
		bcf PORTB,0		; в противном случае - устанавливаем в "0"
		goto main		; возврат в основную программу
;
OUT_ON		bsf PORTB,0		; устанавливаем RB0 = "1"
		goto main

Таким образом на выходе RB0 порта В каждую секунду уровень сигнала будет изменяться то «0» то «1».

В регистрах контроллера информация находится обычно в двоичном виде, ( в бинарном коде). Но часто необходимо получить информацию в двоично — десятичном виде (BCD — код), скажем, для управления поразрядно семисегментным индикатором.

Рассмотрим примеры преобразований двоичного кода b2 в двоично — десятичный BCD и наоборот.

В 8 — bit регистре можно записать в двоичном коде число от 0 до 255 ( от b»00000000″ до b»11111111″ ). Преобразуем двоичное число в три разряда двоично — десятичного кода - «сотни», «десятки» и «единицы». Для этого будем использовать следующие регистры, которые должны быть заранее объявлены в адресном поле рабочих регистров :

Rbin — регистр хранения числа в двоичном коде b2
Rhan — регистр «сотни» кода BCD
Rdec — регистр «десятки» кода BCD
Rsim — регистр «единицы» кода BCD

Преобразования проводим используя операции вычитания чисел 100, а затем 10 с подсчётом количества положительных вычитаний.



CON_100		movlw .100		; вычитаем  100  из  Rbin  c  проверкой, что
		subwf Rbin,w		; результат  не  отрицательный.  Флаг  "c" = 1 при
		btfss STATUS,c		; результате > или =  0, и  "c" = 0  при   


Обратное преобразование BCD - кода в b2. Используем те же регистры Rhan, Rdec, Rsim где находится число в BCD - коде, регистры RbinH - старший разряд и RbinL - младший разряд для чисел ( > 255) в коде b2 и вспомогательные регистры RM1 - "множимое" , RM2- "множитель".Для преобразования BCD в b2 нужно умножить "сотни" на 100, "десятки" на 10 и сложить всё вместе с "единицами" и с учётом переноса в старший разряд при необ- ходимости.Для умножения используем операцию сложения.



B2X_100		movlw .99		; преобразование  "сотен"
		movwf RM2		; множитель  =  кол - во сложений (100) минус  один
		movf Rhan,w
		movwf RM1		; множимое  =  "сотни"
loopX100	addwf RM1,w
 		btfsc STASTUS,c		; проверяем  перенос в  старший  разряд
		incf RbinH,f		; если есть перенос
		decfsz RM2,f		; контролируем  количество  сложений
		goto loopX100
		movwf RbinL		; результат  сложения  заносим  в  регистр  мл.  разряда
;
B2X_10		movlw .9		; преобразование  "десятков"
		movwf RM2		; множитель  =  кол - во  сложений (10) минус один
		movf Rdec,w
		movwf RM1		; множимое = "десятки"
loopX10		addwf RM1,w		; здесь перенос можно не проверять, т.к. результат
		decfsz RM2,f		; всегда  


Конец преобразованиям и дальнейшее выполнение программы. В регистрах RbinL и RbinH получили 16 - bit число в коде b2.

Для выполнения арифметической операции деления по аналогии с умножением, рассмот- ренном выше, применяется операция вычитания. Допустим нам нужно произвести деление числа, находящегося в регистрах RHsum (старшие разряды) и RLsum (младшие разряды) - на делитель ( примем делитель не > 255) находящийся в регистре Rdel.

Результат будем заносить в регистры RHrez и RLrez (старшие и младшие разряды соот- ветственно) :


OP_DEL
		movf Rdel,w
		subwf Rlsum,w
		btfss STATUS,c		; проверяем  не отрицательный  ли  результат?
		goto DEF_carry		; если  "да", то  проводим  заём  из  ст.  разряда
		incf RLrez,f		; подсчитываем  кол-во  вычитаний  с  учётом
		btfsc STATUS,c		; возможного  переноса  в  старший  разряд
		incf RHrez,f
		movwf RLsum		; восстанавливаем  остаток, что бы  не  потерять
		goto OP_DEL		; при  отрицательном  результате вычитания
;
DEF_carry
		movlw 0h
		xorwf RHsum,w		; всё  ли  заняли из старшего разряда  в младший?
		btfsc STATUS,z		; если  "да", т.е.  RHdel  =  0  и  в  OP_DEL  отри-
		goto OUT_ DEL		; цат. результат - конец  делению  и  выход
		decf RHsum,f		; если  "нет" - заём  из  старшего  разряда  и  про-
		incf RLrez,f		; должаем  дальше
		btfsc STATUS,c		; проверка  необходимости  переноса  в  ст.разряд
		incf RHrez,f
		goto OP_DEL

Как вам эта статья?

Заработало ли это устройство у вас?

pic | ProgBook — книги и учебники по программированию

В справочнике приведена вся необходимая информация для применения PIC-микроконтроллеров. Имеются сведения о временных и электрических характеристиках, электрических схемах и назначении ключевых узлов. Подробно расписаны аппаратные и программные требования, предъявляемые PIC-микроконтроллерами, алгоритмы, системы команд, спецификации управляющих регистров и оптимальные программные средства для работы с контроллерами. «Справочник по PIC-микроконтроллерам» Майкла Предко является узкоспециализированным, но востребованным и полезным пособием для техников различного уровня мастерства.

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

Книга «»Умный дом» своими руками» предназначена для радиолюбителей, однако она может быть полезна всем тем, кто интересуется электроникой. Здесь описывается проектирование системы «Умный дом» на основе микроконтроллера PIC16F628A в программном продукте MPLAB. Модули и элементы системы отлаживаются на единой макетной плате. Отметим, что для всех экспериментов, которые описаны в книге, можно применять единую микросхему контроллера. Программатор, который работает с программой PonnyProg2000, без проблем собирается, а также не содержит каких-либо дефицитных элементов. Управляющая программа системы может быть создана на Visual Basic либо на любом другом языке. Компьютер в лаборатории каждого радиолюбителя постепенно превращается, по сути, в саму лабораторию. Необходимо сказать, что в заключительной части Вы найдете справочные материалы по основные командам микроконтроллера PIC16F628A, схемам датчика движения, а также программатора, предназначенные для программирования Р1С-контроллеров.

На данный момент микроконтроллеры применяются повсеместно в машинах, бытовой технике, промышленном оборудовании и т.п. Учебник «Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера» дает полное представление об архитектуре, построении интерфейсов и программировании этого современного чуда техники. На примере микроконтроллеров PIC18 производства компании Microchip в данной книге объясняется архитектура, а также программирование и построение интерфейсов. Отметим, что семейство PIC18 выбрано вовсе не случайно, так как оно относится к современным восьмиразрядным микроконтроллерам. Необходимо сказать, что материал, который изложен в этой книге, подходит и к ранним версиям микроконтроллеров производства вышеуказанной компании, а также к аналогичным устройствам прочих изготовителей. Книга рассчитана на опытных практиков, а также радиолюбителей, которые интересуются микроконтроллерами.

Обладая полезными примерами и иллюстрациями, книга «Разработка встроенных систем с помощью микроконтроллеров PIC. Принципы и практические примеры» будет вашим помощником в освоении проектирования систем при использовании микроконтроллеров PIC и программирование этих устройств на ассемблере и С. Микроконтроллеры 18F242, 16F84A и 16F873A рассмотрены особенно подробно. В книге представлены примеры образцы реальных проектов, среди них — модель робота, который представляет собой транспортное средство с автономным управлением. Также в книге дополнительно разбираются такие сложные вопросы, как построение операционных систем реального времени и использование устройств в сетевой среде.

Издание «Программирование PIC-микроконтроллеров на PicBasic» (автор Чак Хелибайк) является практическим руководством по программированию микроконтроллеров семейства PIC на языке PicBasic. В книге описаны ключевые отличия стандартного компилятора PicBasic от компилятора PicBasic Pro, комплекс команд, параметры и архитектура наиболее часто применяемых PIC-микроконтроллеров, организация взаимосвязи между микроконтроллерами, обработка прерываний и исключительных ситуаций. Приведено большое количество примеров программ, реализующих разнообразные возможности PIC-микрокотроллеров с применением языка PicBasic. Исходные тексты приведенных в тексте книги примеров записаны на диск. Особое внимание уделено актуальной в последнее время теме — робототехнике — под нее выделена отдельная глава. Данное издание будет интересно инженерам, разработчикам-новичкам, студентам радиотехнических специальностей и всем, кого интересует программирование и электроника.

На прилагаемом к книге диске записаны программы:
— Вольтметр;
— Обращение к PORTA;
— Сервомотор;
— 7-сегм. индикатор;
— Бегущий огонь;
— ЖКИ;
— Робот с интеллектом;
— Мелодия
— Последовательный порт и прочее.

Книга Сида Катцена «PIC-микроконтроллеры. Все, что вам необходимо знать» — полное руководство по микроконтроллерам семейства PIC компании Microchip, которое является стандартом для встраиваемых цифровых устройств. В книге детально описана архитектура и система команд восьмибитных микроконтроллеров PIC, работа периферийных модулей продемонстрирована на конкретных примерах. Первая часть содержит основы схемотехники, архитектуры вычислительных систем и математической логики. Во второй части рассмотрены разные аспекты программирования PIC-микроконтроллеров среднего уровня: дается описание набора команда, процесса создания программ на ассемблере и Си (языке высокого уровня), рассмотрены поддержка подпрограмм и прерываний. Третья часть посвящена аппаратным аспектам взаимодействия микроконтроллера и окружающего мира и обработке прерываний. Здесь затронуты такие вопросы, как обработка аналоговых сигналов, последовательный и параллельный ввод/вывод данных, использование EEPROM и временные соотношения. В заключительной части дан пример по разработке реальных устройств. Издание адресуется самому широкому кругу читателей, как любителям, так и инженерам: для понимания изложенного в ней материала не обязательно иметь знания по программированию, электронике и цифровой схемотехнике. Кроме того, студенты, обучающиеся по специальности «Радиоэлектроника» и «Вычислительная техника», могут пользоваться этой книгой как учебным пособием при написании курсовых работ или изучении соответствующих курсов.

Книга Ю. А. Шпака «Программирование на языке C для AVR и PIC микроконтроллеров» содержит в себе рассмотрение программирования на языке С микроконтроллеров AVR с применением компилятора WinAVR и микроконтроллеров PIC, созданных с помощью компилятора CCS-PICC. Также здесь описываются средства программной разработки в среде WinAVR и CCS-PICC, в частности, работа программ при помощи AVR Studio и MPLAB, приводится рассмотрение синтаксиса языка С и директивы препроцессора, в том числе и особенностей программирования микроконтроллеров на данном языке. В книге имеются программные примеры на С и справочник, в котором описана система ассемблерных команд микроконтроллеров AVR и PIC.

Программирование PIC | theremino


Программирование PIC процессорах с HEX файлов

HEX-файла (и завершить проекты) Вы скачать со страницы: Технические/схемы

Микро регуляторы используемые в вашей системе Theremino:
– PIC24FJ64GB002 (все мастер, От 2012 в 2015)
– PIC24FJ128GB202 (будущий мастер с 12 или 13 INOUT и 2 дополнительные биты в АЦП)
– PIC32MX110F016 (будущий мастер для 32 бит) (Примечание 1)
– PIC24F16KA101 (все рабы, Слуга и CapSensor)

(Примечание 1) Вероятно, мы не будем использовать модели для 32 бит, потому что, В дополнение к не дает реальные преимущества в скорости и точности, ограничить местоположения серийный Pin. Мы предпочитаем использовать новый пик серии 24, Это позволит 12 или даже 13 PIN-код и содержащий новые АЦП, четыре раза более точной.


ICSP коннектор – В цепи последовательного программирования



Все модули системы Theremino имеют ICSP коннектор, Это позволяет легкое программирование “в цепи”, с тип PicKit2 программист, Pickit3 или аналогичный.


Подключение кабель для программирования

На позиции PIN-код 1 обозначается белая точка. В более новых версиях с треугольником, как программист PicKit2 и PicKit3. Во всех случаях ПИН 1 всегда указывается с “VPP”.

Кабель для программирования, как правило, имеет шесть проводов, Хотя ICSP коннектор имеют пять. Шестой проволока мне нужно использовать программист как осциллограф, или анализатор сигналов, и вам не нужно программа, Тогда мы дадим отключен.

В трафаретной печати некоторых CapSensors, произведенных в прошлом, два слова DAT и CLK были заменены местами.. Но не против, правильное соединение — это то, что вы видите на этой картинке. Все модули системы Theremino имеют это расположение, с CLK на противоположном конце VPP.

На некоторых программистов найти местоположение провода “1” Это может быть трудно. Например PicKit3 Olimex имеет не треугольник, или p, для обозначения этого. Даже читать руководство не удается найти ПИН 1. Только Публикация изображений не относятся к разъему на контроллере, но на бесполезные программирование пластины. Таким образом, чтобы найти ПИН 1, использовать следующее изображение ’:

Предположить, что вы отмечать свой PIN-код 1 с треугольником или черная точка, проведение программист с светодиоды и разъем внизу.


Купить PicKit2

Лучше купить PicKit2, который легче использовать PicKit3.

На eBay легко найти их, Вот некоторые ссылки:
http://www.ebay.it/itm/161327061057
http://www.ebay.it/itm/191911587734
http://www.ebay.it/itm/122179854117 (дешевые но медленно Доставка из Китая)

Или на Amazon:
HTTPS://www. Amazon.IT/…….pickit2 (Amazon стоимостью чуть больше)

Пример PicKit2 для продажи на eBay – ’ нажмите на изображение, чтобы увеличить.

Если предыдущая ссылка больше не действительны, пожалуйста, сообщите нам. Чтобы найти похожие предлагаю вам сделать поиск на eBay, со словами “USB Программатор PICKIT2”.


Эксцентрик гнезда? Нет, спасибо.

Планирование “в цепи” Он проверяет, заполните форму и у вас есть уверенность, что все будет хорошо. Вместо этого забивать не даже уверен, что мы можем запланировать (отсутствуют внешние компоненты и источник питания). И вам сэкономить время, Она занимает больше времени, чтобы проверить вне пик от розетки и переместить его в окончательной цепи. Так что не купить Сабо наряду с программист. Дорого и остаются неиспользованными в ящик.


В цепи отладчиков?

Забудьте об этом, являются сложными, дорого и очень медленно, никогда не будет их использовать. Есть более эффективные способы отладки, к примеру MPLAB Эмуляторы, Но прежде всего хитрости (Измените в нужном месте и посмотреть, что происходит) дихотомических и техника (разделить проблему на две части и повторять, пока вы найдете л ’ ошибка).


Методы программирования и программистов

Первый уровень сложности, планирует использовать HEX файлов, подготовленные нами и программировать их с PicKit2. Немного’ более громоздким запрограммировать их с PicKit3.

Третий уровень, только для смелых, Это MPLAB, Она также позволяет вам изменить прошивку и перекомпилировать его. Трудно начало MPLAB, потому что вы также должны установить компиляторы. В дополнение к этому, Он сказал, что с MPLAB и PicKIt2 вы можете запрограммировать все модели ПОС. И почти наверняка нельзя использовать PicKit3.

И наконец c ’ является MPLAB X, что делает программирование PIC реальной весело (очень похож на азартная игра). MPLAB X была написана, чтобы позволить программирование на Apple и Linux, и не только это не возможно программировать с Mac OS и Ubuntu, но вы больше не можете программировать даже с Windows. Нас Мы не могли заставить его работать на любой из наших ПОС и вот некоторые комментарии, найти в сети:
английский “… К сожалению, сочетание новых идей, Компиляторы и устройств часто может привести к возникновению серьезных проблем. Именно поэтому его часто называют «крае», Благодаря потянув из волос, скрежет зубов, лишение сна и случайные кровопотери, Хотя устранение этих проблем…»
итальянский “…К сожалению, сочетание новых IDE, Компиляторы и устройств часто может вызвать серьезные проблемы. Это часто называют на английском языке, как “степени кровотечения”, из-за разрывая волосы, скрежетание зубами, лишение сна и случайные кровотечения, При решении этих проблем…”


Рекомендации для программирования

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

Это не вина микрочип, абсолютно! Мы рады, что производят микро для каждой потребности, от микроскопических те до очень мощные dsPIC, и что они по-прежнему производят более лучше модели, Это просто трудно с ним. Другие производители (Atmel) продолжать производить же микро пятнадцать лет, ADC всегда одинаковы, производительность до сих пор то же самое…

Скоро мы будем передавать PIC24FJ128GB202 (с два дополнительных бит АЦП, затем четыре раза более точной) и еще более осложнить проблемы программирования (особенно для тех, кто на PicKit3).

Для работы некоторых ПОС и программистов может понадобиться:
– Вручную выбрать семьи (24) и модель ПОС.
– Мощность модуля от USB во время программирования.
– Питание от тот же компьютер, который подключен к программист.
– Использование программирования высокого напряжения (HVP).
– Выполните удаление.
– Отключить запись защищать.
– Открытые, с помощью блокнота, файл «PICkit2.ini» расположен рядом с «PICkit2V2.exe».
– Измените строку «PE24: Y «в «PE24: N».

Линия «PE:24: Не «отключает загрузку» программирование исполнительной», в некоторых случаях, предотвращает программа.

Вместо этого установите «Быстрый программирование» это хорошая идея. Двойная скорость программирования.


Как мы можем быть уверены, что пик запрограммирован хорошо

Лучше не делать чтений памяти, потому что во многих случаях они обманывают. Программа загрузки ваш HEX, нажать «Написать» и проверка зеленый, написание «Программирование успешно». В некоторых случаях они появляются «Предупреждения» в оранжевый, Но независимо. ПИК запрограммирован хорошо, хотя есть предупреждение.

Только истинное испытание, USB, которая активизируется и СИД мигает. В образце светодиод мигает быстро, как можно скорее, как программирование, Вместо этого на рабов во главе мигает только после настройки ПИН-кода с применением HAL.


PicKit2 программиста приложения

Эта утилита позволяет программировать пик без установки MPLAB. Просто получите файл HEX и программист PicKit2. Версия, которую мы публикуем основана на версии 2.61 Микрочип, что больше обновлений на протяжении многих лет. Мы исправили многие незначительные недостатки и мы переименовали 3. 0.

Не обманывайте версий, EXE, всегда называется PicKit2V2 была удалена, потому что он работает на PicKit2 программист версия 2. Версия приложения не является 2 Но то, что написано имя ZIP-файла.
PicKit2_Programmer_V3.0.zip
Pickit2_Programmer_V3.0_WithSources.zip (Версия для программистов)

Версия 3.2 также включает в себя “Файл устройства” изменено на программу новых PIC24FJ128GB202 (мы завершаем прошивку 202 потому что у них есть непреодолимые недостатки). Она также включает в себя отключение “Исполнительный программирования” чтобы предотвратить проблемы с некоторыми ПОС.
PicKit2_Programmer_V3.2.zip
Pickit2_Programmer_V3.2_WithSources.zip (Версия для программистов)

Версия 3.3 работает лучше. Нижней панели, что указывает на завершение операций теперь течет в обычном порядке, и до конца. В “Файл устройства” Она изменяется программировать некоторый небольшой ПИК как 12F1571 и есть другие “Файл устройства” что может быть полезным для тех, кто знает, как редактировать их и заменить их. Наконец, когда вы идете в меню “Справка / О” версия правильно сообщается как 3.3 (в предыдущих версиях это было всегда 3.0).
PicKit2_Programmer_V3.3.zip
Pickit2_Programmer_V3.3_WithSources.zip (Версия для программистов)


Приложение для программиста PicKit3

Эти направления для использования ’, Оба на итальянском и английском языках, в файле “Theremino_Pickit3_ReadMe” расположен в папке “Документы”.

Программа “Ноутбук”, не устанавливайте его в C:Программ, но просто извлечь его из ZIP, в una нового dell’utente, например вложенная папка документов.

Этот ZIP-файл содержит все необходимое для программирования с PicKit3. Есть также наши изменения в “PK2DeviceFile.dat”, с которой мы смогли запланировать новые PIC24FJ128GB202.
PicKit3_Programmer_V4.0.zip
Pickit3_Programmer_V4.0_WithSources.zip (Версия для программистов)


Приложения для редактирования файла Devices.DAT

К сожалению как PicKit2 что PicKit3 не являются полными и не программировать все модели ПОС. Это приложение служит для завершения и правильные данные (которые находятся в файле “PK2DeviceFile.dat”). Мы использовали его для исправления битовые маски для PIC24FJ128GB202 с исправление мы могли бы их и программирования.
DeviceFile_Editor.zip


Спецификациях ПОС

Вот спецификации всех ПОС, используемых в системе Theremino, Вместе с нотами приложения, данные для семей ПОС и ошибки.
PIC_Datasheets


Изменение прошивки и перекомпилировать его с MPLAB

Чтобы внести изменения в прошивки необходимо установить MPLAB и компилятор языка C. Мы рекомендуем вам установить MPLAB версии 8.92 от здесь: MPLAB_Archives (должны были исчезнуть здесь: MPLAB_IDE_8_92.zip)

После установки MPLAB C30, компилятор должен быть установлен: C30_Compiler
Зарегистрируйтесь для загрузки компилятор C30 не является обязательным, Микрочип не рассылаем спам. C30 компилятор должен быть установлен в версии “Облегченный”, не хватает лишь немного оптимизации. Код немного больше, но это не имеет значения, потому что у нас очень открытые места в памяти (должны были исчезнуть здесь: MPLABC30Combo_v3_31.zip)

Наконец, вам придется загрузить полный проект (не только HEX файлов), заполнить его, Убедитесь, что не было никаких ошибок во время компиляции и записать его с ПОС.

MPLAB X
Новый X MPLAB, как известно, имеют ряд difettucci, Прежде всего вы не можете запрограммировать ПОС. Для тех, кто хочет попробовать, связь это: MPLAB_X


Компоненты технологии микрочип

Все модули системы Theremino производятся с микро контроллеров серии микрочип 24. Мастер использует PIC24FJ64GB002, рабы, используя PIC24F16KA101. Эти микро контроллеры работают на 3.3 Вольт для напряжения 5 Вольт довольно нестабильной USB порт, стабилизируется регулятором микрочип LDO (Низкая отсева) MCP1700 регулятор типа 3,3 В.

Мы выбрали компонентов Microchip, по самой своей природе, Это позволило нам осуществить следующие нововведения:
– UART транспондер на одного провода.
– Скорость передачи данных USB 12 серийный мегабит в секунду и до 4 мегабит в секунду.
– ADC ветерок, с надлежащей передискретизация, производить эффективное разрешение над 14 бит (и до 16 бит с последней PIC24FJ128GB202)
– CTMU технология, которая облегчает мера способности очень маленький.
– Низкий расход топлива благодаря NW XLP™ Технология.
– Возможность построения небольших модулей благодаря SOIC Low Pin Count.
– Отличная поддержка в режиме таблицы и ApplicationNotes.
– Удобные и бесплатные инструменты.

Алехин В.А. Микроконтроллеры PIC. Основы программирования и моделирования в интерактивных средах MPLAB IDE, mikroC, TINA, Proteus.

Микроконтроллеры PIC

Микроконтроллеры PIC
Основы программирования и моделирования в интерактивных средах MPLAB IDE, mikroC, TINA, Proteus

Электроника и микропроцессорная техника являются фундаментальной основой производства современного оборудования, технических систем управления, роботов, информационно-измерительных устройств, разнообразных бытовых приборов. Изучение и практическое освоение методов проектирования электронных устройств с микроконтроллерами является актуальной и сложной задачей, требующей использования разнообразных современных программных средств. Изучение микроконтроллеров интересует многих разработчиков и любителей электроники. В 2016 году в издательстве «Горячая линия-Телеком» вышла моя книга «Микроконтроллеры PIC. Основы программирования и моделирования в интерактивных средах MPLAB IDE, mikroC, TINA, Proteus». Цель этой книги помочь любому студенту, инженеру или начинающему любителю электроники быстро перейти к созданию собственных проектов и устройств на микроконтроллерах. Для получения практических навыков книга содержит 15 лабораторных работ с листингами программ, схемами моделей и подробным описанием выполнения заданий. Подробное содержание этой книги посмотрите на сайте издательства В.А. Алехин. Микроконтроллеры PIC

Электротехника и электроника. Лабораторный практикум

В среде MPLAB IDE v.8.92 Вы изучите программирование на языках ассемблера и Си. Чтобы облегчить программирование на Си сопряжения микроконтроллеров внешними периферийными устройствами , Вы будете изучать среду mikroC PRO for PIC v.6.5.0 компании MikroElektronika. Этот мощный инструмент разработки программ для PIC микроконтроллеров относится к языкам высокого уровня. Составленную и отлаженную в MPLAB IDE или mikroC программу Вы научитесь испытавать в моделях микроконтроллерных устройств, используя интерактивные программные среды TINA 9 и Proteus.

Тем, кто не знаком со схемотехническим моделированием электрических цепей и электронных схем в программе TINA, будет полезно изучить это по моей книге В.А. Алехин. Электротехника и электроника. Компьютерный лабораторный практикум в среде TINA

Электротехника, электроника и смемотехника в обрачной среде TINACloud. Лабораторный практикум

Моя новая книга вышла из печати в январе 2017 года и будет полезна тем, кто хочет работать на ноутбуках и планшетах в любое время и в любом месте, где есть Интернет В. А. Алехин. Электротехника, электроника и схемотехника. Лабораторный практикум в облачной среде схемотехнического проектирования TINACloud

Примеры моделирования микроконтроллеров
Лабораторная работа №8. Применение памяти EEPROM и косвенной адресации
Моделирование в программе TINA

Лабораторная работа №12. Исследование модели системы безопасности с клавиатурой и дисплеем
Моделирование в программе Proteus

Когда Вы научитесь самостоятельно набирать программы, Вы сможете загрузить и использовать готовые листинги программ из книги. Листинги написаны как файлы *txt и открывать их первоначально следует в программе Notepad++.

  • Программы для практикума по микроконтроллерам
  • Надеюсь, что Вы будете с увлечением работать в программах TINA, MPLAB IDE, mikroC, Proteus, так как каждая задача содержит элементы творчества и доставляет удовольствие от успешного решения.

    Желаю успехов!
    В.А. Алехин
    Доктор технических наук,
    профессор кафедры вычислительной техники
    Российского технологического университета
    (РТУ — МИРЭА)

    Проекты Джеффа — Программирование микроконтроллеров PIC

    Большинство моих проектов основаны на микроконтроллере Microchip PIC, который должен быть запрограммирован с соответствующей прошивкой для выполнения своей работы. Но программирование этих маленьких процессоров может стать большим препятствием для многих людей.

    Как это часто бывает, Microchip пытается облегчить вам задачу, предоставляя дешевых программаторов и бесплатное программное обеспечение. Они надеются, что это побудит вас покупать больше их фишек.Результат — беспроигрышная ситуация.

    Итак, в этой статье я намерен показать, насколько легко запрограммировать микроконтроллер PIC с вложениями менее 20 долларов.

    Обратите внимание, что на этой странице описано только программирование процессоров Microchip серии PIC. Есть много других микроконтроллеров (Atmel, TI и т. Д.), И для них потребуются другие программисты и программное обеспечение.

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

    Флэш-память можно стирать и перепрограммировать много раз, а сохраненные данные сохраняются даже при отключении питания. В дополнение к программе в микросхеме есть другие запоминающие устройства, которые также запрограммированы в одной операции; к ним относятся параметры конфигурации (иногда называемые «предохранителями»), EEPROM (другой тип стираемой памяти) и области загрузки. Информация для программирования всего этого содержится в одном файле, который обычно имеет расширение.шестнадцатеричный (например «FirmwareV1.hex»). Часто файл называют «шестнадцатеричным файлом».

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

    ICD3 и ICD4. Это высокопроизводительные (и дорогие) программаторы / отладчики от Microchip. Они предназначены для использования разработчиками и являются излишними для среднего любителя.

    PICkit3 и PICkit4.Это лучший выбор для любителей, так как они невысоки и поддерживают все чипы производства Microchip. PICkit4 — новейший и самый быстрый, но PICkit3 по-прежнему хорошо справляется со своей задачей. Преимущество PICkit3 в том, что многие китайские производители делают дешевые клоны, которые можно найти на eBay.

    PICkit2. Это старый дизайн, который не поддерживает новейшие микросхемы, такие как серия PIC32. На eBay есть много PICkit2 по очень низким ценам, но вам следует избегать их, поскольку они почти бесполезны.

    Внутрисхемный отладчик / программатор MPLAB® Snap является новейшей разработкой Microchip и довольно дешев (15 долларов США + фрахт). Он отлично справляется со своей задачей и может быть приобретен у самих Microchip, таких дистрибьюторов, как Mouser, и на eBay. Это хороший выбор, если вы хотите держаться подальше от китайских клонов PICkit3

    .

    Если вы просто хотите запрограммировать микросхемы PIC32, используемые для Maximite и Micromite, еще более дешевой альтернативой является Microbridge. Это основано на одном чипе стоимостью менее 2 долларов США, и здесь у него есть собственная веб-страница.Основная проблема с Microbridge заключается в том, что вам нужно в первую очередь установить микропрограммное обеспечение в чип, чтобы вы в конечном итоге столкнулись с ситуацией с курицей и яйцом, требующей в любом случае покупки программатора, такого как PICkit3.

    Поскольку клоны PICkit 3 настолько дешевы и поддерживаются программным обеспечением Microchip и могут программировать практически любой микроконтроллер Microchip, ниже мы сконцентрируемся на PICkit 3 в качестве предпочтительного программиста.

    Вы можете купить подлинный PICkit 3 у Microchip за 48 долларов США + фрахт (ссылка) или у их дистрибьюторов. Номер детали — PG164130, и если вы выполните поиск в Google по этому номеру детали, вы найдете множество поставщиков.

    Однако я рекомендую клоны PICkit 3, которые, кажется, работают так же хорошо, но намного дешевле. В качестве теста я купил один за 18,80 долларов США с бесплатной доставкой, и я не могу винить его. Программное обеспечение Microchip распознало его как подлинный PICkit 3, и он работал так же хорошо, как и подлинный продукт.

    Хорошее место для поиска дешевых клонов — eBay. Просто найдите PICkit3.

    Итак, если вам просто нужен дешевый метод программирования микроконтроллеров Microchip, покупка клона Pickit 3 будет лучшим вариантом. По их смехотворно низким ценам вы можете позволить себе купить один, чтобы запрограммировать один чип, а затем добавить его в свой ящик для инструментов для возможного будущего проекта.

    Большинство микроконтроллеров Microchip используют соединение для последовательного программирования в цепи (сокращенно «ICSP») для передачи программы на микросхему. Обычно на печатной плате есть разъем для этого, и он будет выглядеть примерно так, как разъем, выделенный на фотографии справа.

    Если у вас нет такого разъема (возможно, вы программируете голый чип), вам придется самостоятельно выяснять соединения.Следующая таблица, в которой перечислены выводы разъема ICSP, должна помочь:

    PIN НАЗВАНИЕ ИСПОЛЬЗОВАНИЕ
    1 MCLR Вывод главного сброса на микроконтроллере
    2 Vdd Напряжение питания микроконтроллера
    3 VSS Заземление или вывод нулевого напряжения
    4 PGD Сигнал данных программирования
    5 PGC Программирование тактового сигнала
    6 — Не используется —


    Программист контролирует напряжение на выводе 2 (Vdd) и использует его, чтобы определить, действительно ли запрограммирован чип.Чтобы начать операцию программирования, программатор подает на вывод 1 (MCLR) напряжение выше Vdd (обычно от 12 до 15 вольт). Затем он передает данные с помощью контакта 4 (PGD) и контакта 5 (PGC). Внутренняя логика микросхемы принимает эти данные и записывает их во флэш-память микросхемы.

    На приведенном выше рисунке печатной платы вы можете подключить PICkit 3 непосредственно к шестиконтактному разъему заголовка ISCP. Контакт 1 разъема PICKit 3 отмечен белым треугольником, и обычно контакт 1 разъема на печатной плате отмечен цифрой 1 или другим символом.

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

    При программировании микроконтроллера вам нужно только подать питание на микросхему (и подключить конденсатор к Vcap, если микросхема имеет этот вывод). Вам не нужны никакие другие компоненты, так как чип будет запускаться с использованием своего внутреннего генератора, и это все, что понадобится программисту.

    Для управления PICkit 3 вам необходимо установить систему разработки программного обеспечения MPLAB X компании Microchip на свой персональный компьютер. Это доступно в различных версиях для Windows, Mac OS и Linux. К сожалению, полная установка включает в себя множество вещей, которые вам не нужны (например, полностью интегрированная среда разработки), но важной частью является MPLAB IPE, который является компонентом программиста (IPE означает интегрированная среда программирования). Обычно он устанавливается в виде значка на рабочем столе.

    Когда вы запускаете MPLAB IPE, у вас есть довольно простой экран, который позволяет вам указать номер детали чипа и шестнадцатеричный файл для программирования в нем. Просто выполните пронумерованные шаги, показанные ниже, чтобы запрограммировать свой чип.

    Когда вы нажмете кнопку «Program», программное обеспечение даст команду PICkit 3 стереть чип, запрограммировать его на новую прошивку, а затем прочитать эту программу, чтобы убедиться, что она была правильно записана. В конце должно появиться сообщение «Программирование завершено».

    Конечно, это может быть не так просто. Вы можете столкнуться с тремя наиболее распространенными ошибками:

    « Целевой Vdd не обнаружен ». Обычно это означает, что вы неправильно подключились к разъему программирования ISCP или что устройство, которое вы пытаетесь запрограммировать, не запитано.

    « Не удалось запрограммировать устройство » или « Не удалось прочитать идентификатор устройства ». Программист мог сказать, что вы к чему-то подключились (потому что Vdd присутствовал), но он не мог связаться с чипом.Обычно это означает, что что-то мешает линиям MCLR, PGD и / или PGC (т. Е. Они не были подключены или другие компоненты загружали сигналы).

    « ИД целевого устройства не соответствует ожидаемому ИД устройства ». Это означает, что программист обнаружил устройство, отличное от устройства, указанного на шаге 1 выше.

    Обычно микросхема, которую вы программируете, будет получать питание от цепи, которая ее окружает, но у вас также есть возможность запитать микросхему от самого PICKit 3.Это может пригодиться, когда вы программируете чип, который позже будет подключен к его возможному дому, но на данный момент это просто бесплатный чип. Обратите внимание, что PICkit 3 может обеспечить максимум 30 мА, поэтому он годен только для питания голого чипа и ничего больше.

    Чтобы PICkit 3 предоставил питание, вам необходимо выбрать «Настройки» -> «Расширенный режим». Затем вам необходимо ввести пароль («Microchip») для входа в расширенный режим. Наконец, выберите вкладку Power и отметьте «Power Target Circuit from Tool». Затем PICkit 3 будет подавать питание на вывод 2 (Vdd), а не просто измерять напряжение на этом выводе (что он обычно и делает).

    КАК ПРОГРАММИРОВАТЬ МИКРОКОНТРОЛЛЕРА PIC

    КАК ПРОГРАММИРОВАТЬ МИКРОКОНТРОЛЛЕР PIC, В этом руководстве вы узнаете, как запрограммировать микроконтроллер PIC, используя программное обеспечение компилятора под названием MikroC . Это простое и удобное программное обеспечение, предназначенное для преобразования кода языка C в шестнадцатеричный файл, который затем может быть передан в микроконтроллер для выполнения определенных задач.После завершения этого руководства вы сможете сгенерировать шестнадцатеричный код программы на языке C, используя любой микроконтроллер PIC, а затем смоделировать его.

    Шестнадцатеричный код загружается во флэш-память микроконтроллера в виде нулей и единиц, интерпретируемых ЦП как выполненные команды. Чтобы понять, как создается шестнадцатеричный файл, давайте рассмотрим пример простой программы, которая устанавливает все восемь контактов порта PORTC на логику 1.

    ШАГИ ДЛЯ ПОЛУЧЕНИЯ ШЕСТИГРАННОГО КОДА

    • Откройте программу mikroC PRO, дважды щелкнув значок на рабочем столе.
    • В меню вверху выберите Project à New Project .

    Mikro c tutorial
    • Появится окно мастера создания нового проекта. Нажмите «Далее», чтобы перейти к окну «Настройки проекта». Укажите уникальное имя для проекта, выберите имя устройства как PIC16F877A и просмотрите папку проекта; здесь будет сохранен шестнадцатеричный файл. Выберите часы устройства в соответствии с используемыми в дизайне и нажмите Далее.
    Mikro c учебником
    • Step2 позволяет вам добавить файл в проект, а step3 позволяет вам включать все или отдельные библиотеки.Нажмите «Далее», не внося никаких изменений, в обоих окнах, а затем нажмите «Готово», чтобы завершить работу мастера. Окно редактора кода будет отображаться с надписью «void main ()» в первой строке. Здесь вы должны написать свою программу. Напишите код и нажмите СТРОИТЬ на горизонтальной панели инструментов вверху.
    Mikro c tutorial

    Здесь у нас есть двухстрочный код, в котором все контакты portC установлены на высокий уровень.

    • При успешном завершении процесса сборки в окне «Сообщение» в нижней части экрана появится сообщение, указывающее, что код был скомпилирован без каких-либо ошибок и шестнадцатеричный файл готов.
    Mikro c для учебника по рис.

    Шаги для моделирования

    Затем моделируется вышеупомянутая программа для обеспечения ее правильной работы. Ниже приведены необходимые шаги для проведения моделирования:

    • Выберите Run à Start Debugger в строке меню.
    Mikro c for pic tutorial

    Функция отладчика выполняет все инструкции с одной инструкцией за раз и отражает пошаговые изменения, внесенные в контакты порта, регистры и т. Д.Переменные, которые вы хотите отобразить, можно выбрать в окне «Watch Value» в правой части экрана.

    • Выберите переменную PORTC , нажав «Выбрать переменную из списка», а затем нажмите кнопку Добавить , чтобы добавить ее в список наблюдения.
    Mikro c для рис.
    • Нажмите F8, чтобы переместить синюю линию на следующую инструкцию, синяя линия подсвечивает инструкцию, которая будет выполнена следующей. Следует отметить, что в окне «Watch Value» значение PORTC все еще равно нулю, поскольку третья инструкция еще не была выполнена.

    • Нажмите F8 еще раз, и теперь значение PORTC было изменено на 255, то есть все максимумы
    Mikro c for pic tutorial

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

    канад — PIC-KIT | Набор для программирования микроконтроллеров PIC для изучения микроконтроллеров PIC

    Набор для программирования микроконтроллеров PIC

    Этот комплект PIC включает в себя все, что вам нужно, чтобы узнать о программировании микроконтроллеров PIC, в том числе: исчерпывающие руководства по HTML, книга на компакт-диске, программное обеспечение для разработки MPLAB X, включая компилятор XC8 C, аппаратные платы, а также программатор и отладчик PICKit4.

    Он основан на одном из новых микроконтроллеров PIC от Microchip, PIC16F1789, который намного лучше (и дешевле), чем старые микроконтроллеры PIC, такие как PIC16F877. Он учит вас программированию микроконтроллера PIC с самого начала и охватывает все, что вам нужно знать, как создавать свои собственные проекты и изучать встроенное программирование на C.

    Курс микроконтроллера PIC

    Руководства на основе браузера, связанные с книгой и множеством примеров проектов, научат вас всему, что вам нужно знать о микроконтроллерах PIC и о том, как писать программы на ассемблере и C, используя профессиональную интегрированную среду разработки (IDE) MPLAB X.Вы узнаете, как на самом деле работает микроконтроллер PIC, что вначале требует больше работы, но вы понимаете, как быть эффективным программистом встраиваемых систем.

    Учебник по PIC охватывает эти темы

    • Схема и структура микроконтроллера PIC
    • Системы нумерации и логика
    • Планирование программ
    • Как правильно использовать MPLAB X IDE
    • Программирование PIC на языке ассемблера
    • Программирование PIC во встроенном C
    • Как скачать и отладить проект
    • Как настроить и использовать периферийные устройства микроконтроллера PIC
    • Узнайте, как взаимодействовать с UART, ЖК-дисплеем, клавиатурами, датчиками и многим другим
    • Научитесь повторно использовать файлы кода и библиотеки для создания сложного проекта
    • Создавайте собственные проекты

    Микрочип PICKit4 Этот комплект PIC имеет подлинный отладчик и программатор Microchip PICKit4.PICKit3 может просто загрузить код в PIC16F1789 или использоваться в качестве внутрисхемного эмулятора (ICE), чтобы вы могли отлаживать код в реальном времени. Отладчик — важный инструмент для эффективной разработки кода на C или ассемблере.


    PICKit4 также можно запускать из собственного отдельного программного обеспечения, что делает его идеальным для мелкосерийного производства, поскольку вы этого не сделаете. нужно использовать MPLAB X для программирования. PICKit4 может питать целевую плату, поэтому внешний источник питания не требуется.
    Модульное оборудование
    Этот комплект PIC позволяет подключать дополнительные модули к основной плате, когда они вам нужны, и полный, индивидуальный проект может быть собран в один простой стек, готовый поместиться в коробку проекта. Учебная доска поставляется с комплектом, и она может быть частью окончательного проекта или быть удалена.

    Дополнительные модули, датчики, клавиатура, ЖК-дисплей и макетные платы поставляются с монтажными стойками и кабелями и могут просто устанавливаться на основную плату или встраиваться в другие модули по мере необходимости.

    Основная плата PIC
    Основная плата компактна, но имеет разъемы для всех 8, 14, 20, 28 и 40-контактных микроконтроллеров PIC, так что вы можете перейти на другой устройство, если требуется. Он оснащен 40-контактным разъемом PIC16F1789 — преимущества этого устройства см. Ниже. Имеет Кристалл 8 МГц, но байты конфигурации PIC16F1789 могут быть настроены для работы на частоте 32 МГц. Плата PIC имеет разъемы расширения для всех контактов порта и для подключения других модулей, таких как учебная плата и ЖК-дисплей.Он имеет разъем USB, который отображается как виртуальный последовательный порт на вашем ПК, как и большинство плат микроконтроллеров. которые по-прежнему оснащены стандартным 9-контактным последовательным портом. Плата также может получать питание через этот разъем USB. Он имеет разъемы шины I2C и шины питания 3,3 и 5 В.

    Микроконтроллеры серии PIC18F
    Плата также поддерживает микроконтроллеры серии PIC18F, так как они имеют такое же расположение выводов, что и PIC16F. PICKIT4 также поддерживает PIC18F в режиме программирования и отладки.На компакт-диске есть несколько проектов ассемблера PIC18 и C, которые охватывают все основы. См. Сопутствующие продукты для подходящего микроконтроллера PIC18F4221.

    Учебная плата PIC
    Учебная плата PIC устанавливается на основную плату с помощью столбов, а порты подключаются с помощью ленточных кабелей для обеспечения полного гибкость. Он имеет 8 переключателей и светодиодов, аналоговый потенциометр, зуммер, последовательный разъем памяти EEPROM и интерфейсы шины I2C. Образец кода в ассемблере и C охватывает эти и многие другие функции, а учебные пособия полностью их описывают.

    PIC16F1789 Преимущества
    Это один из последних 40-контактных микроконтроллеров Microchip PIC, который примерно так же похож на некогда популярный PIC16F877. как современный автомобиль поступает с Model-T Ford.

    • Быстрее — до 32 МГц
    • Больше памяти для программ — 32 КБ кодового пространства, а не 8 КБ
    • Больше памяти данных SRAM — для более эффективного кода C
    • Более низкое энергопотребление и более широкий диапазон напряжений
    • Дополнительные периферийные устройства, функции защиты и отключения
    • И намного дешевле

    Он выгодно отличается от линейки AVR и питается от ATmega328P, обычно используемой наборами Arduino на завтрак.
    Модульная конструкция
    Этот комплект PIC является модульным, поэтому после того, как вы использовали учебную доску для изучения программирования микроконтроллера PIC, вы можете просто подключить дополнительные модули, такие как ЖК-дисплей или клавиатура или используйте макетные платы для создания собственных схем. Kanda продает ряд дополнительных плат, включая датчики газа, температура, влажность, влажность почвы и многое другое. Другие модули также могут быть подключены, чтобы вы могли создать свой собственный проект. используя одно и то же оборудование — комплект, который растет вместе с вами.

    Introduction to PIC — PIC Microcontroller Tutorials — PIC Tutorial Resource

    Введение

    Добро пожаловать в начало PIC Tutorial.Эти страницы познакомят вас с основной структурой устройства, вплоть до методов и приемов программирования. Кроме того, будут предложения о том, как изменить код, чтобы вы могли адаптировать PIC к вашим приложениям в Cybot. Мы не будем включать какие-либо схемы внутренней архитектуры, так как это может привести только к путанице. Если вы хотите ознакомиться с таблицей данных, ее можно загрузить с веб-сайта Microchips.

    Для начала давайте взглянем на ПОС.

    Microchip PIC 16F84 Микроконтроллер

    Microchip производит серию микроконтроллеров под названием PIC.Посмотреть ассортимент их микроконтроллеров можно здесь. Доступно множество различных вариантов, от некоторых базовых типов с низким объемом памяти, вплоть до тех, которые имеют встроенные аналогово-цифровые преобразователи и даже ШИМ. Мы собираемся сконцентрироваться на PIC 16F84. Как только вы научитесь программировать один тип PIC, выучить остальные станет легко.

    Существует несколько способов программирования PIC — с использованием BASIC, C или языка ассемблера. Мы собираемся показать вам язык ассемблера. Не пугайтесь этого.Необходимо изучить всего 35 инструкций, и это самый дешевый способ программирования PIC, поскольку вам не нужно никакого дополнительного программного обеспечения, кроме бесплатных.

    Штифты 16F84

    Ниже приведена схема, показывающая распиновку PIC 16F84. Мы рассмотрим каждый штифт, объясняя, для чего он используется.

    RA0 К RA4

    RA — двунаправленный порт. То есть его можно настроить как вход или выход. Число после RA — это номер бита (от 0 до 4).Итак, у нас есть один 5-битный направленный порт, каждый бит которого можно настроить как вход или выход.

    RB0 К RB7

    RB — второй двунаправленный порт. Он ведет себя точно так же, как RA, за исключением того, что задействованы 8 бит.

    ВСС И ВДД

    Это контакты блока питания. VDD — это положительное питание, а VSS — отрицательное напряжение, или 0 В. Максимальное напряжение питания, которое вы можете использовать, составляет 6 В, а минимальное — 2 В.

    OSC1 / CLK IN и OSC2 / CLKOUT

    К этим контактам мы подключаем внешние часы, чтобы микроконтроллер имел какое-то время.

    MCLR

    Этот вывод используется для стирания ячеек памяти внутри PIC (т.е. когда мы хотим его перепрограммировать. При нормальном использовании он подключается к положительной шине питания.

    ИНТ

    Это входной контакт, который можно контролировать. Если контакт становится высоким, мы можем заставить программу перезапускаться, останавливаться или выполнять любую другую функцию, которую мы пожелаем. Мы не будем часто его использовать.

    T0CK1

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

    Как программировать PIC

    Хорошо, значит, вы пока не откладываете. Теперь вы хотите знать, как программировать PIC, но, помимо изучения инструкций кода сборки, как вы на самом деле программируете информацию? Что ж, есть два способа — простой способ и способ «сделай сам». Самый простой способ — купить PIC-программатор (около 35), который будет подключаться к вашему ПК, и вы сможете запрограммировать PIC с помощью прилагаемого программного обеспечения.Самостоятельный способ — создать своего собственного программатора (самый дешевый — чуть меньше 20), использовать бесплатное программное обеспечение из Интернета и запрограммировать его таким образом.

    Если вы хотите использовать метод «сделай сам», мы настоятельно рекомендуем этот сайт и щелкните «Поддерживаемые программисты», чтобы просмотреть схемы. Самый дешевый — TAIT Classic Programmer. Программное обеспечение для программирования PIC также можно скачать с этого сайта в разделе Download

    .

    Если вы хотите пойти более легким путем, загляните на этот сайт. Здесь можно купить как комплект деталей, так и готовый агрегат.

    Здесь есть еще один хороший сайт для бесплатного программного обеспечения. Это программное обеспечение позволяет использовать любого программиста, так как программное обеспечение полностью настраивается.

    Подойдет любой метод, поскольку оба они приводят к одному и тому же — программированию PIC.

    Следующее, что вам понадобится, это ассемблер. Это преобразует программу, которую вы пишете, в формат, понятный PIC. Лучшая из них — от самих Microchip, она называется MPLAB. Он основан на Windows и включает в себя редактор, симулятор и ассемблер.Это де-факто программное обеспечение, как написано производителями ПОС, и, прежде всего, оно БЕСПЛАТНО!

    Мы также рекомендуем использовать Breadboard для построения ваших схем, пока вы играете с PIC. Доступны различные размеры, которые предоставляются за отдельную плату. Посетите ссылки Maplin Electronics на главной странице для получения более подробной информации о ценах и т. Д.

    Далее мы рассмотрим, как подключить простую схему для разработки PIC.

    Щелкните здесь, чтобы начать обучение >>
    (подключение к микроконтроллеру PIC)

    Как запрограммировать микроконтроллер PIC с использованием Raspberry Pi или Orange Pi

    Опубликовано 29.10.2019, Джим Грегори,
    время чтения: ~ 12 минут

    Я использовал микроконтроллеры PIC во многих проектах, включая PedalPC.Мне нравится их использовать, потому что:

    • они имеют широкий спектр полезных периферийных устройств, таких как 12-разрядные дифференциальные АЦП и встроенный Full Speed ​​USB 2.0,
    • они недорогие (примерно от 1/3 до 1/2 стоимости сопоставимых микроконтроллеров AVR, когда вы покупаете их в небольших количествах, как я), и
    • почти все микросхемы с 40 контактами или меньше доступны в форм-факторе DIP, который легко припаять.

    Компилировать программы для микроконтроллеров PIC легко на одноплатном компьютере с низким уровнем ресурсов, таком как Raspberry Pi, с использованием языков программ с открытым исходным кодом, таких как Great Cow Basic или JAL.(Я могу описать, как это сделать, в другом посте).

    Проблема в том, как перенести скомпилированные программы на чип. Обычный метод заключается в использовании специального внешнего устройства (называемого программатором), которое подключается как к вашему компьютеру, так и к микросхеме и передает скомпилированную программу в память микроконтроллера.

    Эти программаторы могут быть довольно дорогими (обычно не менее 30 долларов) и являются еще одним специализированным оборудованием, которое вам нужно иметь при себе.

    Однако с правильным программным обеспечением и несколькими резисторами вы можете передавать свои программы прямо на свой PIC, используя контакты GPIO одноплатного компьютера (SBC), такого как Raspberry Pi или Orange Pi.Это может быть очень полезно, если вы уже используете SBC для чтения данных с PIC, как это делаю я на PedalPC.

    В этом уроке я объясню, как:

    Программа внутрисхемного последовательного программирования (ICSP), которую мы будем использовать в этом руководстве, представляет собой отличную утилиту под названием Pickle, написанную Дарроном Броудом. Он работает со многими одноплатными компьютерами под управлением Linux и требует всего несколько резисторов для успешного программирования большинства PICS при напряжении 3,3 В. (Для программирования схемы PIC с напряжением 5 В потребуется недорогой 4-канальный преобразователь с выходом 5 В на 3.Преобразователи логического уровня 3 В, которые широко доступны на eBay и других сайтах.)

    Этот метод работает только с микроконтроллерами PIC, которые могут быть запрограммированы с использованием метода программирования низкого напряжения (LVP), который включает наиболее распространенные PIC, используемые сегодня. (У Даррона есть список поддерживаемых микроконтроллеров PIC на своем сайте, а также большая таблица PIC, которые были протестированы.) Он не будет работать со старыми чипами, для которых требуется метод программирования высокого напряжения (HVP). Для этих микросхем вам понадобится программатор, а не несколько резисторов или преобразователь уровня.

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

    Используйте следующие команды для установки программы Pickle ICSP на ваш SBC:

      cd / tmp
    wget http://wiki.kewl.org/downloads/pickle-4.20.tgz
    tar zxf pickle-4.20.tgz
    cd pickle-4.20 /
    делать
    sudo make install
      

    Это компилирует и устанавливает утилиты Pickle в / usr / local / bin на вашем SBC.

    Выберите контакты для программирования

    Вам понадобятся 3 (или 4) контакта GPIO для подключения к VPP, PGC и PGD (и PGM, если ваш PIC этого требует — большинство микросхем в настоящее время этого не делают.) Эти контакты в настоящее время не могут использоваться вашим ядром. Вы можете увидеть, что контакты GPIO используются:

      ls / sys / class / gpio | grep gpio [0-9_]
      

    Если в списке нет контактов, вы можете выбрать любой из доступных контактов GPIO на вашей плате. Если вам нужно использовать уже используемый штифт, вы можете сделать его доступным следующим образом:

      sudo echo <номер контакта> | / системный / класс / gpio / неэкспорт
      

    Вот список контактов GPIO Raspberry Pi:

    Raspberry Pi 2 и 3 контакта GPIO
    штифт заголовка функция штифт заголовка функция
    01 3V3 02 5V
    03 GPIO0 / GPIO2 04 5V
    05 GPIO1 / GPIO3 06 ЗЕМЛЯ
    07 GPIO4 08 GPIO14 / TX
    09 ЗЕМЛЯ 10 GPIO15 / RX
    11 GPIO17 12 GPIO18
    13 GPIO21 / GPIO27 14 ЗЕМЛЯ
    15 GPIO22 16 GPIO23
    17 3V3 18 GPIO24
    19 GPIO10 20 ЗЕМЛЯ
    21 GPIO9 22 GPIO25
    23 GPIO11 24 GPIO8
    25 ЗЕМЛЯ 26 GPIO7
    ID_SD EEPROM 27 28
    29 GPIO5 30 ЗЕМЛЯ
    31 GPIO6 32 GPIO12
    33 GPIO13 34 ЗЕМЛЯ
    35 GPIO19 36 GPIO16
    37 GPIO26 38 GPIO20
    39 ЗЕМЛЯ 40 GPIO21

    Для Raspberry Pi 2 или 3 я рекомендую использовать GPIO_9, GPIO_10 и GPIO_11.Для PIC, таких как 16F1788, где выводы PGD и PDC также являются выводами последовательного порта Rx и Tx (соответственно), выводы GPIO_14, GPIO_15 и GPIO_18 работают даже лучше, потому что вы можете использовать одни и те же выводы для программирования связи PIC и . с ним через последовательный порт PIC.

    Предполагается, что ваш PIC не имеет или не должен использовать вывод PGM для программирования в режиме LVP. Если используется PIC, который вы используете (например, 18F14K50), вам также необходимо выбрать четвертый вывод GPIO для этой функции.

    Вот список контактов Orange Pi + 2:

    Orange Pi Plus 2 40-контактный разъем
    штырь функция sysfs номер GPIO штифт функция sysfs номер GPIO
    1 3,3 В 2 VCC-5V
    3 PA12 (TWI0-SDA / DI_RX / EINT12) NA 4 VCC-5V
    5 PA11 (TWI0-SCK / DI_TX / EINT11) NA 6 ЗЕМЛЯ
    7 PA6 (SIM_PWREN / PWM1 / PA_EINT6) gpio_6 8 PA13 (SPI1_CS / UART3_TX / PA_EINT13) gpio_13
    9 ЗЕМЛЯ 10 PA14 (SPI1_CLK / UART3_RX / PA_EINT14) gpio_14
    11 PA1 (UART2_RX / JTAG_CK0 / PA_EINT1) gpio_1 12 PD14 (RGMII_NULL / MII_TXERR / RMII_NULL) gpio_110
    13 PA0 (UART2_TX / JTAG_MS0 / PA_EINT0) gpio_0 14 ЗЕМЛЯ
    15 PA3 (UART2_CTS / JTAG_DI0 / PA_EINT3) gpio_3 16 PC4 (NAND_CE0) gpio_68
    17 3.3В 18 PC7 (NAND_RB1) gpio_71
    19 PC0 (NAND_WE / SPI0_MOSI) NA 20 ЗЕМЛЯ
    21 PC1 (NAND_ALE / SPI0_MISO) NA 22 PA2 (UART2_RTS / JTAG_DO0 / PA_EINT2) гпио_2
    23 PC2 (NAND_CLE / SPI0_CLK) NA 24 PC3 (NAND_CE1 / SPI0_CS) NA
    25 ЗЕМЛЯ 26 PA21 (PCM0_DIN / SIM_VPPPP / PA_EINT21) gpio_21
    27 PA19 (PCM0_CLK / TWI1_SDA / PA_EINT19) NA 28 PA18 (PCM0_SYNC / TWI1_SCK / PA_EINT18) NA
    29 PA7 (SIM_CLK / PA_EINT7) gpio_7 30 ЗЕМЛЯ
    31 PA8 (SIM_DATA / PA_EINT8) gpio_8 32 PG8 (UART1_RTS / PG_EINT8) gpio_200
    33 PA9 (SIM_RST / PA_EINT9) gpio_9 34 ЗЕМЛЯ
    35 PA10 (SIM_DET / PA_EINT10) gpio_10 36 PG9 (UART1_CTS / PG_EINT9) gpio_201
    37 PA20 (PCM0_DOUT / SIM_VPPEN / PA_EINT20) NA 38 PG6 (UART1_TX / PG_EINT6) gpio_198
    39 ЗЕМЛЯ 40 PG7 (UART1_RX / PG_EINT7) gpio_199

    Для этой платы я рекомендую использовать gpio_1, gpio_0 или gpio_3; или gpio_13, gpio_14 и gpio_110.Последний вариант лучше всего подходит, если вы хотите установить связь с последовательным портом PIC, а выводы последовательного порта PIC также являются выводами для программирования.

    Опять же, это предполагает, что вашему PIC не нужно использовать вывод PGM для его программирования. Если это так, вам также понадобится дополнительный вывод GPIO для этой функции.

    Примечание: мне потребовалось время, чтобы выяснить, как пронумерованы контакты на платах Orange Pi.

    Контакты GPIO идентифицируются буквой, соответствующей местоположению банка, и двузначным числом, связанным с его положением в этом банке.Например, вывод «PD14», который находится на 12-й позиции в заголовке, является 14-м выводом в группе «D».

    Эта буквенно-цифровая система должна быть преобразована в чистое число, которое понимает sysfs Linux. Формула для этого:

      Номер GPIO = (позиция буквы в алфавите - 1) x 32 + номер контакта  

    Для этого булавки, поскольку «D» является четвертой буквой алфавита:

      

    Число GPIO = (4–1) x 32 + 14 = 110

    Следовательно, вывод 12 заголовка — gpio_110.

    Я использовал эту формулу для расчета номеров контактов, указанных в таблице.)

    Таблица взята из вики Orange Pi Plus 2 linux-sunxi). Другие платы Orange Pi могут иметь разные конфигурации. Вы можете найти другие платы Orange Pi в разделе Xunlong вики linux-sunxi. (Xunlong является производителем плат Orange Pi.)

    Некоторые контакты ввода-вывода в заголовке могут быть настроены для других задач и недоступны для использования в качестве контактов ввода-вывода общего назначения.Как определить, какие контакты доступны, зависит от того, какое ядро ​​Linux использует ваша плата. Существует два основных типа: старые «устаревшие» (3.x) ядра и новые «ванильные» (4.x) ядра. Вы можете определить, какое ядро ​​Linux вы используете, через.

      $ sudo uname -a
    [sudo] пароль для пользователя:
    Linux orangepiplus 3.4.112-sun8i # 14 SMP PREEMPT Вт, 5 июля 16:28:14 CEST 2016 armv7l GNU / Linux
      

    Номер версии указан после слов «Linux» и вашего имени хоста. В данном случае это 3.4.112. Если меньше 4, вы используете «устаревшее» ядро. Если оно> 4, значит, вы используете «ванильное» ядро.

    Устаревшие ядра настраиваются с помощью файла fex. Этот файл fex компилируется в двоичный файл и читается при загрузке. Чтобы увидеть, как настроены контакты, вам нужно декомпилировать этот двоичный файл и прочитать конфигурации gpio конфигурации. Команда для этого:

      sudo bin2fex /boot/script.bin | grep gpio_
      

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

    Создание файла конфигурации

    Как только вы узнаете, какие выводы GPIO можно использовать для программирования PIC, вы создаете файл конфигурации, необходимый Pickle для программирования микросхемы. Этот файл называется .pickle и хранится в вашем домашнем каталоге.

    Образец файла создается при установке программного обеспечения. Вы можете отредактировать существующий файл или создать новый.

    Вы можете запустить эту команду, чтобы создать файл, необходимый для Raspberry Pi 2 или Raspberry Pi 3:

      кошка>.рассол << EOF
    УСТРОЙСТВО = RPI2
    СОН = 1
    БИТРУЛЫ = 0x4F00
    VPP = 9
    # установите PGM = -1, если не используется, в противном случае используйте правильный номер пина ниже
    PGM = -1
    PGC = 10
    PGD ​​= 11
    EOF
      

    В этой конфигурации контакты GPIO 9, 10 и 11 Raspberry Pi будут подключены к контактам VPP, PGC и PGD на микроконтроллере. PGM не будет использоваться. Если вашему чипу требуется вывод PGM для программирования в режиме LVP, вам нужно изменить «-1» на номер вывода GPIO, который вы будете использовать для этой функции.

    Вот команда, которую нужно запустить для создания файла конфигурации для Orange Pi + 2:

      кошка>.рассол << EOF
    # Linux с битовым битом GPIO
    # УСТРОЙСТВО = / dev / gpio-bb
    # оригинальный Orange Pi, Orange Pi PC, Orange Pi PC Plus или Mini
    # DEVICE = OPI
    # Апельсин Пи Ноль
    # DEVICE = OPI0
    # Orange Pi Plus или Orange Pi Plus 2
    УСТРОЙСТВО = OPIP
    СОН = 1
    # Правила битов ввода-вывода.
    # Эти правила определяют полярность контрольных линий и
    # ввод данных требует вывода данных на высокий уровень.
    # 0x0001 PGD_OUT_FLIP
    # 0x0002 PGC_OUT_FLIP
    # 0x0004 VPP_OUT_FLIP
    # 0x0008 PGD_IN_FLIP
    # 0x0010 PGD_IN_PULLUP
    # 0x0020 PGM_OUT_FLIP
    # 0x0040 VPP_OUT_CLOCK
    # Эти правила предназначены для GPIO при выходе из программы.# 0x0100 PGD_RELEASE
    # 0x0200 PGC_RELEASE
    # 0x0400 PGM_RELEASE
    # 0x0800 VPP_RELEASE
    # 0x1000 VPP_RUN
    # Это правило включает переключение с блокировкой irq для GPIO BIT-BANG.
    # 0x2000 BB_LOCK
    # Это правило повторно включает функцию ALT0 при освобождении R-PI GPIO.
    # 0x4000 ALT_RELEASE
    # Мы хотим, чтобы VPP находился в режиме "run" и PGC & amp; PGD ​​выпущен для использования UART3
    БИТРУЛЫ = 0x4F00
    ЗАНЯТО = 0
    #PGD - контакт # 8 (PA13 / UART3_TX - & gt; sysfs 13)
    # Примечание: PGD также может быть UART_RX на многих PIC
    PGD ​​= 13
    #PGC - контакт # 10 (PA14 / UART3_RX - & gt; sysfs 14)
    # Примечание: PGC также может быть UART_TX на многих PIC
    PGC = 14
    #VPP - контакт # 12 (PD14 - & gt; sysfs 110)
    ВПП = 110
    #PGM - не используется
    PGM = -1
    ОТЛАДКА = 10
    EOF
      

    Здесь мы используем gpio_13 для PGD, gpio_14 для PGC и gpio_110 для VPP.Я выбрал именно эти контакты, потому что некоторые PIC (например, 16f1788, который я сейчас использую) имеют альтернативное сопоставление своих последовательных контактов Tx и Rx с контактами PGC и PGD соответственно. Это позволяет мне использовать одни и те же линии как для программирования микросхемы, так и для связи с ней через UART. Это освобождает два дополнительных контакта как на плате, так и на микросхеме.

    Вот как это выглядит при подключении к моей плате Orange Pi Plus 2E:

    Провода на фото выше подключены следующим образом:

    1. VDD
    2. PGD
    3. PGC
    4. ВПП
    5. ЗЕМЛЯ

    Эта компоновка также будет работать на компьютерах Orange Pi или Orange Pi PC Plus.

    Установите драйвер Bit-Bang (для других одноплатных компьютеров)

    Pickle поддерживает все платы Raspberry Pi, и поддержка была добавлена ​​для большинства плат Orange Pi, начиная с версии 4.0f. Если ваша плата не поддерживается (Odroid C2, Tinkerboard и т. Д.), Вам необходимо установить драйвер Bit-Bang для Linux Даррона Броада. Сначала установите Mercurial, если он еще не установлен на вашем Pi:

      sudo apt-get install mercurial
      

    Затем клонируйте его репозиторий и запустите сценарий установки:

      hg clone http: // hg.kewl.org/pub/gpio-bb
    cd gpio-bb
    делать
    sudo make install
      

    Теперь он должен появиться в вашем списке установленных модулей:

      lsmod | grep gpio_bb
      

    После установки вы должны быть root, чтобы использовать драйвер bit-bang (и, следовательно, программировать свой чип). Чтобы изменить это, создайте группу для пользователей драйвера и добавьте себя в группу:

      sudo addgroup gpiobb
    sudo chgrp gpiobb / dev / gpio-bb
    sudo adduser your_username gpiobb
      

    Обновите файл конфигурации modprobe, чтобы он загружался при каждой перезагрузке компьютера, добавив его в / etc / modprobe.d / modprobe.conf (вам может потребоваться создать файл, если он не существует):

      install gpio-bb modprobe --ignore-install gpio-bb & amp; & amp; modprobe gpio-bb & amp; & amp; mknod / dev / gpio-bb c 180 0 & amp; & amp; chmod 666 / dev / gpio-bb & amp; & amp; chgrp gpiobb / dev / gpio-bb
      

    Наконец, добавьте в файл / etc / modules следующее:

      gpio-bb
      

    Программирование PIC

    После того, как все установлено, подключите свой чип к контактам GPIO на плате, используя контакты, которые вы выбрали в своем.файл рассола. (Даррон рекомендует подключать резистор ~ 470 Ом последовательно в каждой из линий программирования и Vpp, чтобы предотвратить повреждение в случае ошибки; я без проблем использовал резисторы 1 кОм.) Не забудьте также подключить линию заземления. , а также линию 3,3 В, если ваше устройство не имеет автономного питания.

    Если ваше устройство питается от 5 В во время программирования, вам необходимо использовать 4-канальный преобразователь уровня 3,3 В в 5 В между вашим устройством и SBC, потому что большинство контактов SBC GPIO являются 3.3В.

    Как только ваш PIC подключен к компьютеру SBC, вы готовы его программировать. Команда, которую вы должны использовать для программирования вашего микроконтроллера, зависит от PIC, который вы используете:

    Серия PIC команда программирования
    14-битное слово PIC10F / 12F / 16F с.14
    14-битное слово, новый алгоритм PIC10F / 12F / 16F n14
    16-битное слово PIC18F p16
    16-битное слово, новый алгоритм PIC18F n16
    24-битное слово PIC24 / dsPIC п24
    32-битное слово PIC32 п32

    PIC «нового алгоритма» - это более новые 8-битные устройства, которые используют новый алгоритм программирования, которые старые микросхемы не используют.Вы можете получить список устройств, которые запрограммирует команда, запустив «<команда> select». Например,

      $ n16 выбрать
    PIC18F24K40 PIC18F24K42 PIC18F25K40 PIC18F25K42
    PIC18F26K40 PIC18F27K40 PIC18F45K40 PIC18F46K40
    PIC18F47K40 PIC18LF24K40 PIC18LF24K42 PIC18LF25K40
    PIC18LF25K42 PIC18LF26K40 PIC18LF27K40 PIC18LF45K40
    PIC18LF46K40 PIC18LF47K40
    Итого: 18
      

    Итак, если вы хотите запрограммировать, скажем, 18F25K42, это означает, что вы захотите использовать команду «n16», а не команду «p16».

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

      p14 id lvp
      

    ( Примечание : если вы используете микросхему PIC32, вам следует опустить «lvp» в команде.)

    Вы должны получить что-то вроде (в данном случае 16F1789):

      [0000] [ПРОГРАММА] 4000 СЛОВ (0200 СТРОК ИЗ 0020 СЛОВ)
    [8000] [USERID0] 3FFF.
    [8001] [USERID1] 3FFF.[8002] [USERID2] 3FFF.
    [8003] [USERID3] 3FFF.
    [8004] [ЗАЩИЩЕНО] 3FFF
    [8005] [ПЕРЕСМОТР] 2041 РЕД .: 041
    [8006] [DEVICEID] 302A DEV: 302A PIC16F1789
    [8007] [КОНФИГУРАЦИЯ1] 39E4
    [8008] [КОНФИГУРАЦИЯ2] 3FFF
    [8009] [CALIB1] 314D
    [800A] [CALIB2] 1D49
    [800B] [CALIB3] 3FFD
    [800C] [CALIB4] 3A87
    [800D] [CALIB5] 3FFF
    [800E] [CALIB6] 3887
    [800F] [CALIB7] 3988
    [8010] [CALIB8] 3B86
    [8011] [CALIB9] 3FCF
    [8012] [CALIB10] 3FD4
    [8013] [CALIB11] 3FD7
    [F000] [ДАННЫЕ] 0100 БАЙТОВ
      

    Если вместо этого вы получите:

      pic14_read_config_memory: информация: устройство не обнаружено. 

    при выполнении приведенной выше команды, либо вы запускаете неправильную команду (например, p16 вместо p14), она подключена неправильно, либо у вас что-то не так в вашем файле конфигурации. См. Раздел об устранении неполадок ниже.

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

      <команда> программа lvp 
      

    , где <команда> - это команда из приведенной выше таблицы, а - это шестнадцатеричный файл, который вы хотите загрузить в чип.

    Чтобы загрузить файл с именем program.hex на микросхему 16F1788, например, вы должны использовать:

      p14 программа lvp program.hex
      

    Опять же, оставьте «lvp», если вы программируете часть PIC32.

    Поиск и устранение неисправностей

    Если вы не получаете результата при попытке прочитать идентификатор микросхемы, подключите последовательно светодиод и резистор между VPP и землей, затем выполните следующую команду:

      ptest VPP 5
      

    Светодиод должен мигать.Повторите также для PGC и PGC.

    Если светодиод мигает в каждой ситуации, кроме одного, то либо вы используете неправильный вывод GPIO, либо этот вывод настроен неправильно.

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

    Программирование микроконтроллера PIC с помощью MBASIC

  • Выбрать все Front Matter

    Доступ к полному тексту

    Предисловие
    Благодарности
    Что на компакт-диске?
  • Выберите главу 1 - PIC «101»

    Глава книги Только аннотация

    Глава 1 - PIC «101»

    Страницы 1-9

    PurchaseView аннотация
  • Выберите главу 2 - MBasic Compiler and Development Boards

    Book Глава Только аннотация

    Глава 2 - Компилятор MBasic и платы разработки

    Страницы 10-27

    PurchaseView аннотация
  • Выберите главу 3 - Основы - Вывод

    Глава книги Только аннотация

    Глава 3 - Основы - Вывод

    Страницы 28 -52

    PurchaseView аннотация
  • Выберите главу 4 - Основы - Цифровой ввод

    Глава книги Только аннотация

    Глава 4 - Основы - Цифровой ввод

    Страницы 53-66

    PurchaseView аннотация
  • Выберите главу 5 - ЖК-модули

    Глава книги Только аннотация

    Глава 5 - ЖК-модули

    Страницы 67-85

    Покупка Просмотр абстракции ct
  • Выбрать главу 6 - Чтение сложных входных переключателей

    Глава книги Только аннотация

    Глава 6 - Чтение сложных входных переключателей

    Страницы 86-106

    PurchaseView аннотация
  • Выбрать главу 7 - Семисегментные светодиодные дисплеи

    Книга Глава Только аннотация

    Глава 7 - Семисегментные светодиодные дисплеи

    Страницы 107-119

    Покупка Просмотреть аннотацию
  • Выбрать главу 8 - Ознакомительные шаговые двигатели

    Глава книги Только аннотация

    Глава 8 - Ознакомительные шаговые двигатели

    Страницы 120-150

    PurchaseView аннотация
  • Выберите главу 9 - Последовательный интерфейс RS-232

    Книжную главу Только аннотацию

    Глава 9 - Последовательный интерфейс RS-232

    Страниц 151-186

    PurchaseView аннотация
  • Выберите главу 10 - Прерывания и таймеры в MBasic

    Глава книги Только аннотация

    Глава 10 - Прерывание s и таймеры в MBasic

    Страницы 187-210

    PurchaseView аннотация
  • Выберите главу 11 - Аналого-цифровое преобразование

    Книжную главу Только аннотацию

    Глава 11 - Аналого-цифровое преобразование

    Страницы 211-230

    PurchaseView аннотация
  • Выбрать главу 12 - Цифровые датчики температуры и часы реального времени

    Книжная глава Только аннотация

    Глава 12 - Цифровые датчики температуры и часы реального времени

    Страницы 231-259

    PurchaseView аннотация
  • Выбрать главу 13 - Ассемблер 101

    Глава книги Только аннотация

    Глава 13 - Ассемблер 101

    Страницы 260-280

    Покупка Просмотреть аннотацию
  • Выбрать главу 14 - Встроенный ассемблер

    Глава книги Только аннотация

    Глава 14 - Встроенный ассемблер

    Страницы 281-316

    PurchaseView аннотация
  • Выберите главу 15 - Обработчики прерываний и Таймеры в Ассемблере

    Глава книги Только аннотация

    Глава 15 - Обработчики прерываний и таймеры в Ассемблере

    Страницы 317-334

    Покупка Просмотреть аннотацию
  • Выбрать главу 16 - Цифро-аналоговое преобразование

    Глава книги Только аннотация

    Глава 16 - Цифро-аналоговое преобразование

    Страницы 335-359

    PurchaseView аннотация
  • Выберите главу 17 - Декодирование тона DTMF и телефонный интерфейс

    Глава книги Только аннотация

    Глава 17 - Декодирование тона DTMF и телефонный интерфейс

    Страницы 360- 388

    PurchaseView аннотация
  • Выберите главу 18 - Внешняя память

    Глава книги Только аннотация

    Глава 18 - Внешняя память

    Страницы 389-417

    PurchaseView аннотация
  • Выберите главу 19 - Advanced Stepper Motors

    000 Book chapter

    Глава 19. Усовершенствованные шаговые двигатели

    Pages 418-452

    PurchaseView аннотация
  • Select Chapter 20 - X-10 Home Automation

    Book chapterAbstract only

    Chapter 20 - X-10 Home Automation

    Pages 453-486

    PurchaseView abstract
  • Select Chapter 21 - Цифровые потенциометры и управляемый фильтр

    Глава книги Только аннотация

    Глава 21 - Цифровые потенциометры и управляемый фильтр

    Страницы 487-516

    Покупка Просмотреть аннотацию
  • Выбрать главу 22 - Инфракрасные пульты дистанционного управления

    Глава книги Только аннотация

    Инфракрасные пульты дистанционного управления

    Страницы 517-541

    Покупка Просмотр аннотации
  • Выберите главу 23 - Управление мощностью переменного тока

    Глава книги Только реферат

    Глава 23 - Управление мощностью переменного тока

    Страницы 542-566

    Покупка Просмотр аннотации
  • Выберите главу 24 - Управление двигателем постоянного тока

    Глава книги только

    Глава 24 - Управление двигателем постоянного тока

    Страницы 567-594

    Покупка Просмотреть аннотацию
  • Выбрать главу 25 - Считыватель штрих-кода

    Глава книги Только аннотация

    Глава 25 - Считыватель штрих-кода

    Страницы 595-632

    Покупка Просмотреть аннотацию
  • Выбрать главу 26 - Отправка кода Морзе

    Глава книги Только аннотация

    Глава 26 - Отправка кода Морзе

    Страницы 633-660

    Покупка Просмотреть аннотацию
  • Выбрать главу 27 - Читатель Морзе

    Глава книги Только аннотация

    Глава 27 - Устройство для чтения кода Морзе

    Страницы 661-690

    Покупка Просмотр аннотации
  • Выберите главу 28 - Метеостанция и регистратор данных

    Глава книги Только аннотация

    Глава 28 - Метеостанция и регистратор данных

    Страницы 691-728

    PurchaseView аннотация
  • Выберите Глава 29 - Переход с v5.2.1.x до 5.3.0.0 и недокументированный MBasic

    Глава книги Только аннотация

    Глава 29 - Переход с v5.2.1.x на 5.3.0.0 и недокументированный MBasic

    Pages 729-744

    PurchaseView аннотация
  • Выбрать приложение A - Список деталей

    Глава книги Нет доступа

    Приложение A - Список деталей

    Страницы 745-754

    Покупка
  • Выберите Приложение B - Указатель функций

    Глава книги Нет доступа

    Приложение B - Указатель функций

    Страницы 755- 759

    Купить
  • Выбрать Об авторе

    Глава книги Нет доступа

    Об авторе

    Страница 760

    Купить
  • Выбрать индекс

    Глава книги Нет доступа

    Индекс

    Страницы 761-783

    Страницы 761-783

    Руководство для начинающих по программированию микроконтроллеров Microchip PIC | Lirtex

    Теги: Электронная схема, Микроконтроллер, PIC

    Это руководство проведет вас через процесс создания вашей первой схемы на базе микроконтроллера Microchip PIC.

    Он охватывает все, что необходимо сделать, чтобы написать простую программу, которая будет мигать светодиодом, в пошаговом «практическом» методе. Все программы, используемые в этом руководстве, абсолютно бесплатны. Все, что вам нужно, это простой программист JDM (подробности читайте), и все готово!

    Вот список того, что вы должны получить перед тем, как мы начнем:

    1. Микроконтроллер PIC16F. Вы можете купить его в магазинах электроники или в Интернете.
      В этом руководстве я собираюсь использовать PIC16F684, потому что он дешевый, маленький и простой в использовании.
    2. макетная плата
    3. ПК с ОС Windows XP / 2000. Ваш компьютер должен иметь последовательный COM-выход.
    4. простой 9-жильный последовательный кабель между гнездом и штекером (вилка DB9)
    5. Немного списка комплектующих.
    6. PIC Programmer

      Вы можете купить все вышеперечисленное здесь

    Bedore мы начинаем, вот краткое объяснение процесса разработки:

    Сначала мы напишем наш код в MPLAB - среде разработки, затем скомпилируем и построим наш код и получим файл HEX.
    для передачи шестнадцатеричного файла в микроконтроллер будет использовать программатор PIC, простую электронную схему, которая может получить код с нашего ПК через последовательный порт
    и запрограммировать его во флэш-память программы PIC.

    Давайте начнем. Если у вас есть вопросы, воспользуйтесь нашей системой форума.

    1. Загрузите и установите MPLAB IDE с веб-страницы Microchip.
      В процессе установки вам будет предложено установить компилятор PICC, разработанный компанией HI-TECH PIC.
      Install it !, это компилятор C, который позволяет нам писать наш код на языке C в Asembler.
    2. Чтобы запрограммировать наш код на микроконтроллер, мы должны создать программатор. в Интернете есть множество дизайнов для программистов.
      Я рекомендую следующий.
    3. Загрузите Winpic800. это хорошая программа, которая управляет Программистом. Он поддерживает большинство микроконтроллеров Microchip.
    4. Постройте следующую схему. это простая схема, которая подает напряжение 5 В на PIC и соединяет программные линии
      с соответствующими выводами микроконтроллера.

    Краткое описание схемы:

    J1 - Разъем питания.
    SW1 - главный выключатель питания
    D1 -

    У1- регулятор напряжения 5В.
    C1, C2 -

    D2 - индикатор включения питания
    SW2 - сброс пользователем

    внимательно проверьте соединения!

    Наша схема нуждается в питании. Рекомендуется использовать хороший генератор энергии, но если у вас его нет и вы не хотите его покупать, вы можете использовать простой преобразователь
    , который может подавать не менее 500 мА при 9 В.Лучше быть слитым, потому что вы не хотите сжечь свой трансформатор, если вы по ошибке подключаетесь к линиям + и -.

    Подключите трансформатор к вашей цепи и включите переключатель. зеленый светодиод должен загореться. Подключите последовательный кабель от вашего COM-порта к программатору PIC, а затем подключите заголовок ICSP программатора PIC к макетной плате с помощью правого разъема.

    Если все подключено правильно, это должно выглядеть так:

    Написание первой программы PIC

    • Запустить программу MPLAB
    • Создайте новый проект (Projects-> New Project)
    • Выберите свой микроконтроллер из списка (в нашем случае PIC16F684)

    • Затем выберите HI-TECH Univeral ToolSuite и Hi-TECH C Compiler (см. Снимок экрана ниже)
    • На следующем экране назовите свой проект и нажмите «Далее».
    • Дважды нажмите «Далее», и все, ваш новый проект создан!
    • Теперь мы добавим новый файл в только что созданный проект. Щелкните File-> New.

    Первый программный код PIC

    Введите следующий код в только что созданный файл:

    включить 
    
    void main (пусто)
    {
    беззнаковый int i;
    TRISC = 0x00;
    
    в то время как (1)
    {
    для (я = 0; я <0xFFFF; я ++)
    PORTC = 0xFF;
    
    для (я = 0; я <0xFFFF; я ++)
    PORTC = 0x00;
    
    }
    
    }
     
    Расшифровка указанного кода

    включает <рис.ч>

    Эта команда инструктирует компилятор включить соответствующий код для PIC, который мы используем.

    пусто главное (пусто) {

    Определение основной функции кода.

    целое число без знака i;

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

    TRISC = 0x00;

    Установите регистр TRISC. Регистр TRISC - это 8-битный регистр, который устанавливает состояние контактов PORTC PIC.Состояние вывода может быть либо 0, что означает выход, либо 1, что означает вход. Мы определяем все контакты порта как выходы и, следовательно, значение 0x00.

    , а (1) {

    Так как мы хотим, чтобы светодиодный индикатор мигал бесконечно, мы создаем бесконечный цикл (1 в программировании означает «истина», поэтому следующая строка читается как «while (true)», что означает «всегда» :).

    для (i = 0; i <0xFFFF; i ++)

    Целью этого цикла является создание задержки между включением светодиода и его выключением.Это не оптимальный способ создания задержки, но пока этого достаточно.

    PORTC = 0xFF;

    Регистр PORTC содержит значения его входных / выходных ветвей. Поскольку мы инициализировали порт как порт вывода, эта команда установит значение каждой ветви в 1 (помните, что 0xFF - это 11111111 в двоичном формате). Другими словами, микроконтроллер повысит напряжение в этих выводах до VCC, или 5 В в нашем случае, и, следовательно, вызовет включение светодиода.

    для (i = 0; i <0xFFFF; i ++)

    PORTC = 0x00;

    Назначение этих строк такое же, как и последних - создать задержку.Но на этот раз мы изменяем состояние регистра PORTC на низкий (0x00), что приведет к снижению напряжения на выводах PORTC на землю, а затем выключим светодиод.

    Если эти команды «выключить» и «включить» бесконечно повторяются командой while, светодиодный индикатор будет мигать.


    • Нажмите File-> Save и сохраните файл как src1.c
    • Нажмите View-Project, и вы увидите окно, содержащее дерево каталогов проекта, который мы создали.

    • Щелкните каталог правой кнопкой мыши и выберите «Добавить файлы», а затем «Исходный файл».
    • Теперь проект готов к компиляции.Скомпилируйте его, щелкнув меню Project-> Compile
    • Если процесс компиляции завершился без ошибок, в каталоге проекта должен быть создан файл HEX. Этот файл содержит двоичную форму вашего кода - и запись его на PIC заставит PIC запустить ваш код.
    • Чтобы записать PIC, загрузите программу winpic800.
    • Теперь мы настроим программу для первого использования.

    • Нажмите Settings-> Hardware и выберите порт, к которому вы подключили свой JDM Programmer .

    • Установите остальные настройки, как показано на рисунке около.
    • В правом верхнем углу программы выберите модель PIC, которую вы используете (на изображении используется PIC 16F684)
    • Теперь мы проверим, может ли программа успешно подключиться к используемому нами программатору PIC.

    • Нажмите на кнопку, отмеченную на изображении выше.
    • Если вы получили то же сообщение, что и на картинке выше, все подключено правильно и оборудование распознано.В противном случае проверьте свои соединения и настройки COM-порта.
    • Снова подключите программатор PIC к макетной плате и включите схему. Светодиод должен снова включиться.

    • Теперь мы проверим, что программное обеспечение успешно распознает PIC MCU, который мы используем. Щелкните значок, отмеченный на изображении выше, и должна быть обнаружена правильная модель PIC.
    • Теперь выберите файл, с которым мы хотим запрограммировать PIC (это тот же файл HEX, который был создан путем компиляции нашего кода на предыдущем уровне)

    • Теперь нажмите кнопку «Настройки» (отмечена на изображении выше).Этот диалог позволяет нам настроить несколько параметров запуска PIC. Например - внутренняя тактовая частота, использовать внутренние или внешние часы и т. Д.
    • Выберите INTOSCIO - Используйте внутренние часы PIC.
    • Убрать маркировку WDTE.

    • Теперь все готово для программирования вашего PIC с кодом, который вы написали и скомпилировали!
    • Нажмите на красную кнопку, отмеченную на картинке выше. Программа будет записана на PIC, и если все правильно, то при включении схемы светодиод начнет мигать!
    Подпишитесь сейчас через RSS и никогда не пропустите ни одного сообщения!

    Опубликовано в Руководства по codex

    .
  • Добавить комментарий

    Ваш адрес email не будет опубликован.