Выбор микроконтроллера обычно осуществляется под необходимые задачи. Для изучения хорошо подойдет популярный МК с минимальным набором периферии: PIC16F628A.
Первым делом необходимо скачать документацию по выбранному микроконтроллеру. Достаточно зайти на сайт производителя и скачать Datasheet.
На первых страницах перечислены основные характеристики МК (русское описание).
Основные моменты, которые нам понадобятся:
Схема расположения выводов:
Vdd — питание.
Vss — земля.
Остаются доступными 16 ног МК. Не сложно посчитать, что использование каждой ноги каким-либо модулем уменьшает максимальное число используемых цифровых портов.
Как я уже писал в предыдущих статьях, самым простым и легким я посчитал компилятор JAL с IDE JALEdit.
Качаем JALPack, устанавливаем.
В этом паке содержаться все необходимые библиотеки, а так же примеры их использования.
Запускаем JALEdit. Открываем пример програмы для нашего микроконтроллера: 16f628a_blink.jal, дабы не портить исходник, сразу сохраняем ее в новый файл, к примеру, 16f628a_test.jal.
Весь код можно разделить на 4 блока:
include 16f628a -- подключение библиотеки нашего МК
--
-- This program assumes a 20 MHz resonator or crystal
-- is connected to pins OSC1 and OSC2.
pragma target clock 20_000_000 -- oscillator frequency
-- configuration memory settings (fuses)
pragma target OSC HS -- HS crystal or resonator
pragma target WDT disabled -- no watchdog
pragma target LVP disabled -- no Low Voltage Programming
pragma target MCLR external -- reset externally
--
alias led is pin_A0
pin_A0_direction = output
enable_digital_io() -- переключение всех входов\выходов на цифровой режим
forever loop
led = on
_usec_delay(250000)
led = off
_usec_delay(250000)
end loop
Нажав F9 (или соответсвующую кнопку) программа скомпилируется в готовую прошивку, при этом будет видно сколько ресурсов МК будет задействовано:
Code :58/2048 Data:4/208 Hardware Stack: 0/8 Software Stack :80
Если прочитать комментарии, то станет ясно, что данная программа рассчитана на использование внешнего кварца 20MHz.
Так как у нас его пока нет, разберемся с конфигурацией и перепишем программу на использование внутреннего генератора.
В разных микрокотнролерах существуют различные наборы конфигурационных битов. Узнать о назначении каждого бита можно в даташите (стр. 97).
В подключенной библиотеке каждому биту и каждому его значению присвоена читабельная переменная, остается только выбрать необходимые нам параметры.
-- Symbolic Fuse definitions
-- -------------------------
--
-- addr 0x2007
--
pragma fuse_def OSC 0x13 { -- oscillator
RC_CLKOUT = 0x13 -- rc: clkout on ra6/osc2/clkout, rc on ra7/osc1/clkin
RC_NOCLKOUT = 0x12 -- rc: i/o on ra6/osc2/clkout, rc on ra7/osc1/clkin
INTOSC_CLKOUT = 0x11 -- intosc: clkout on ra6/osc2/clkout, i/o on ra7/osc1/clkin
INTOSC_NOCLKOUT = 0x10 -- intosc: i/o on ra6/osc2/clkout, i/o on ra7/osc1/clkin
EC_NOCLKOUT = 0x3 -- ec
HS = 0x2 -- hs
XT = 0x1 -- xt
LP = 0x0 -- lp
}
pragma fuse_def WDT 0x4 { -- watchdog timer
ENABLED = 0x4 -- on
DISABLED = 0x0 -- off
}
pragma fuse_def PWRTE 0x8 { -- power up timer
DISABLED = 0x8 -- disabled
ENABLED = 0x0 -- enabled
}
pragma fuse_def MCLR 0x20 { -- master clear enable
EXTERNAL = 0x20 -- enabled
INTERNAL = 0x0 -- disabled
}
pragma fuse_def BROWNOUT 0x40 { -- brown out detect
ENABLED = 0x40 -- enabled
DISABLED = 0x0 -- disabled
}
pragma fuse_def LVP 0x80 { -- low voltage program
ENABLED = 0x80 -- enabled
DISABLED = 0x0 -- disabled
}
pragma fuse_def CPD 0x100 { -- data ee read protect
DISABLED = 0x100 -- disabled
ENABLED = 0x0 -- enabled
}
pragma fuse_def CP 0x2000 { -- code protect
DISABLED = 0x2000 -- off
ENABLED = 0x0 -- on
}
Изменим конфигурацию под себя:
pragma target clock 4_000_000 -- указываем рабочую частоту, необходимо для некоторых функций расчета времени
-- конфигурация микроконтроллера
pragma target OSC INTOSC_NOCLKOUT -- используем внутренний генератор
pragma target WDT disabled -- сторожевой таймер отключен
pragma target PWRTE disabled -- таймер питания отключен
pragma target MCLR external -- внешний сброс активен
pragma target BROWNOUT disabled -- сбос при падении питания отключен
pragma target LVP disabled -- программирование низким напряжением отключено
pragma target CPD disabled -- защита EEPROM отключена
pragma target CP disabled -- защита кода отключена
Модифицируем программу так, что бы светодиод моргал только тогда, когда зажата кнопка.
Выберем еще неиспользуемую ногу МК. Возьмем, к примеру, RB5(pin 11). Данная нога не имеет дополнительных функций, потому она нам более нигде не понадобится.
В режиме цифрового выхода МК может притягивать к ноге либо питание, либо землю.
Подключать нагрузку можно как к плюсу, так и к минусу. Разница будет лишь в том, когда и в какую сторону потечет ток.
В первом случае ток потечет от МК при установке единицы, а во втором — к МК при установке нуля.
Дабы светодиод зажигался от логической единицы, остановимся на первом варианте.
Для ограничения тока через ногу (максимально допустимо 25 мА на цифровой вход или 200 мА на все порты) установлен токоограничительный резистор. По простейшей формуле высчитываем минимальное значение в 125 Ом. Но так как предел нам не нужен, возьмем резистор в 500 Ом (а точнее ближайший подходящий).
Для подключения более мощной нагрузки можно использовать транзисторы в различных вариантах.
Возьмем вторую неиспользуемую нигде ногу — RB4 (pin 10, указанная в распиновке функция PGM отностися к LVP, который мы отключили).
В режиме цифрового входа микроконтроллер может считывать два состояния: наличие или отсутствие напряжения. Значит нам необходимо подключить кнопку так, что бы в одном состоянии на ногу шел плюс, а во втором состоянии — к ноге подключалась земля.
В данном варианте резистор используется в качестве подтяжки (Pull-up). Обычно для подтяжки применяют резистор номиналом 10 кОм.
Впрочем, подтягивающий резистор не всегда необходим. Все ноги PORTB (RB0-RB7) имеют внутреннюю подтяжку, подключаемую программно. Но использование внешней подтяжки куда надежнее.
Можно подключать не только кнопку, главное помнить о ограничении тока через МК.
Пока не забыли, что мы активировали внешний сброс, добавим аналогичную кнопку на ногу MCLR (pin 4).
После нажатия такой кнопки МК начнет выполнение программы с нуля.
Присваиваем нашему светодиоду и кнопке переменные:
enable_digital_io() -- переключение всех входов\выходов на цифровой режим
--
alias led is pin_B5 -- светодиод подключен к RB5
pin_B5_direction = output -- настраиваем RB5 как цифровой выход
--
alias button is pin_B4 -- кнопка подключена к RB4
pin_B4_direction = input -- настраиваем RB4 как вход
led = off -- выключаем светодиод
Теперь присваивая переменной led значения 1 или 0 (on или off, true или false, другие алиасы..) мы будем подтягивать к нужной ноге МК или плюс, или минус, тем самым зажигая и гася светодиод, а при чтении переменной button мы будем получать 1 если кнопка не нажата и 0 если кнопка нажата.
Теперь напишем необходимые нам действия в бесконечном цикле (эти действия будут выполняться постоянно. При отсутствии бесконечного цикла МК зависнет):
forever loop
led = off -- выключаем светодиод
_usec_delay(500000) -- ждем 0,5 сек
if Button == 0 then -- если кнопка нажата, выполняем действия
led = on -- зажигаем светодиод
_usec_delay(500000) -- ждем 0,5 сек
end if
end loop
Задержка считается просто:
частота генератора у нас 4MHz. Рабочая частота в 4 раза меньше: 1 MHz. Или 1 такт = 1 мкс. 500.000 мкс = 0,5 с.
Компилируем прошивку:
Errors :0 Warnings :0
Code :60/2048 Data:4/208 Hardware Stack: 0/8 Software Stack :80
Теперь нам необходимо записать эту прошивку в МК, собрать устройство согласно схеме и проверить, что у нас все получилось как надо.
Все таже схема:
Смотрим на распиновку:
Паяем…
Некачественная пайка — одна из основных проблем неработоспособности устройства.
Не повторяйте мои плохие привычки: не используйте навесной монтаж.
В качестве питания 5В в данном случае использовался хвост от старой PS/2 мыши, вставленный в разъем для мыши.
Подключаем к компьютеру.
Качаем и запускаем WinPic800.
Идем в Settings->Hardware, выбираем JDM и номер порта, на котором висит программатор
Нажимаем Hardware Test, затем Detect Device
Открываем нашу прошивку pic628a_test. hex
На вкладке Setting можно проверить, что конфигурационные биты выставлены верно, при желании тут же их можно изменить
Program All, затем Verify All
Если ошибок не возникло, продолжаем паять.
Финальная схема:
От программатора нам мешает только высокое напряжение (12в) на MCLR. Дабы не отпаивать весь программатор, можно отпаять только один провод… Или просто не подключать программатор к COM порту. Остальные провода нам мешать не будут (а подключенные питание и земля только упростят пайку).
Кнопку на MCLR паять можно по желанию, но подтяжка обязательна.
При повторном подключении программатора резистор необходимо будет убрать, иначе он подтянет 12в к питанию.
Результат работы можно увидеть на видео.
Итак, у нас получилось самое простое устройство на микроконтроллере: мигалка светодиодом.
Теперь нам необходимо научиться пользоваться всей оставшейся периферией, но об этом в следущей статье.
Использование PIC-микроконтроллера и ИС UCN-5804 для управления ШД
Мы использовали схему управления работой ШД непосредственно с помощью ИС PIC. Также для управления работой ШД мы использовали специализированную ИС. При совместном использовании специализированной ИС и PIC-микроконтроллера мы можем объединить преимущества, характерные для каждой из схем. ИС UCN-5804 в этом случае выполняет всю «черновую» работу по управлению работой ШД. При некотором усложнении конечной электрической схемы программа управления PIC может быть сильно упрощена, что является хорошим решением.
Принципиальная схема устройства управления ШД с использованием специализированной ИС показана на рис. 10.15, а фотография устройства приведена на рис. 10.16. Питание ИС UCN-5804 осуществляется от источника постоянного тока напряжением 5 В. При напряжении питания 5 В управляющие работой ШД напряжения могут достигать 35 В.
Рис. 10.15. Схема микроконтроллера шагового двигателя
Рис. 10.16. Принципиальная схема микроконтроллера и ИС управления шаговым двигателем
Обратите внимание, что на схеме присутствуют два резистора, обозначенные «rx» и «ry» без указания их номинала. Наличие или отсутствие этих резисторов определяется типом применяемого ШД. Целью введения этих резисторов является ограничение выходного тока, протекающего через ШД, значением 1,25 А (в случае необходимости).
Рассмотрим наш ШД с напряжением питания 5 В. Его обмотки имеют сопротивление 13 Ом. Ток, протекающий через обмотки, составляет 5В/130 м=0,385А, или 385 мА, что значительно ниже максимально разрешенного значения тока 1,25 А для ИС UCN-5804. Поэтому для данного случая резисторы rx и ry не требуются и могут быть исключены из схемы.
Перед тем как мы двинемся дальше, рассмотрим еще один случай. ШД с напряжением питания 12 В имеет сопротивление обмоток 6 Ом. Ток, протекающий через обмотки ШД, составит 12 В/6 Ом=2 А. Такое значение тока превышает максимально допустимое для ИС UCN-5804. Для использование данного ШД резисторы rx и ry необходимы. Для обеспечения одинакового крутящего момента для каждой фазы сопротивления rx и ry должны быть равны. Величины резисторов должны ограничивать ток до величины 1,25 А или ниже. В данном случае сопротивление резисторов должно быть не менее 4 Ом (при мощности от 5 до 10 Вт). При включении резисторов значение тока составит 12 В/10 Ом = 1,20 А.
Уровни входов ИС UCN-5804 совместимы с выходами КМОП– и ТТЛ-логики. Это означает, что для нормальной работы схемы мы можем непосредственно соединить входы ИС с шинами выхода PIC-микроконтроллера. Входные тактовые импульсы (вывод 11) для ИС UCN-5804 генерируются PIC-микроконтроллером. Вывод управления выходом разрешает вращение ШД при подаче сигнала низкого уровня и останавливает ШД при сигнале высокого уровня.
Выводы 10 и 14 ИС UCN-5804 управляются переключателями, подающими сигналы высокого или низкого уровня. Вывод 10 управляет режимами полного или половинного шага, а вывод 14 управляет направлением вращения. При желании этими функциями можно управлять с помощью PIC. Для управления на соответствующие выводы подаются сигналы высокого или низкого уровня аналогично управлению работой выхода ИС.
Программа на PICBASIC для обеспечения работы схемы имеет следующий вид:
‘Управление шаговым двигателем через ИС UCN?5804
Symbol TRISB = 134 ‘Инициализировать TRISB как 134
Symbol PortB = 6 ‘Инициализировать PortB как 6
Poke TRISB,0 ‘Установить шины PORTB на выход
low1 ‘Установить выход на низкий уровень
start:
pulsout 0, 10000 ‘Подача 10 мс импульсов на UCN?5804
goto start ‘Повторение
В этом случае я снова написал простейшую «базовую» программу, чтобы показать, насколько просто осуществляется управление вращением ШД. Конечно, вы можете дополнить программу управлением частотой импульсов, направлением вращения и т. д.
Данный текст является ознакомительным фрагментом.
Причины использования микроконтроллера Способность микроконтроллера к хранению и выполнению уникальной (заданной пользователем) программы обусловливает гибкость его применения. Например, можно запрограммировать микроконтроллер на принятие решений (исполнение
Подробности программирования PIC микроконтроллера Программирование PIC микроконтроллера происходит в три этапа. Однако прежде чем приступить к собственно программированию, вам необходимо приобрести две вещи: программу компилятор PICBASIC и программатор EPIC (плата, куда
Проверка PIC микроконтроллера На приведенной схеме видно, что для обеспечения работы микроконтроллера требуется очень небольшое количество дополнительных деталей. Прежде всего необходим резистор смещения, присоединенный к выводу 4 (MCLR), кварцевый резонатор на частоту 4
Движемся дальше – приложения использования микроконтроллера Сейчас настало время продемонстрировать вам, как используются микроконтроллеры в различных схемах. Вы уже обладаете начальным опытом программирования микроконтроллера 15F84. В этой главе приведены некоторые
Список необходимых частей для программирования микроконтроллера • компилятор PSIBASIC• компилятор PSIBASIC Pro (включая CodeDesignerLit)• программатор EPIC• компилятор PICBASIC и программатор EPIC• CodeDesigner любительская версия• CodeDesigner стандартная версия• 16F84-4 1 шт.• кварцевый резонатор
ИС UCN-5804 На рис. 10.7 изображена цоколевка ИС UCN-5804. ИС предназначена для управления и запитки четырехфазного однополярного шагового двигателя, который мы будем использовать в нашей конструкции. ИС UCN-5804 имеет следующие параметры:• Максимальный выходной ток в непрерывном
Применение ИС UCN-5804 На рис. 10.8 изображена схема управления ШД с использованием ИС UCN-5804. Тактовые импульсы вырабатываются с помощью таймера ИС 555. Частота тактовых импульсов может быть увеличена или уменьшена с помощью переменного резистора V1. Изменение частоты тактовых
Использование микроконтроллера для управления ШД Для изучения принципов работы ШД изготовим схему управления ШД с помощью микроконтроллера PIC
Программа для микроконтроллера Микроконтроллер 16F84 управляет работой трех сервомоторов. Наличие большого числа незадействованных шин ввода/вывода и места под программу предоставляет возможность совершенствования и модификации базовой модели
8. Использование энергии Некоторые положения в области тепловой работы печей могут быть получены непосредственно из классической термодинамики обратимых процессов.Под тепловой работой печи понимается совокупность происходящих в ней тепловых процессов, конечной целью
8.2.4.3.8 Использование клавиатуры Должны быть определены правила использования специальных клавиш в диалоговой документации.Примечания1 Пользователь должен иметь возможность вызова справки, используя конкретную клавишу или комбинацию клавиш, в любой точке программы.
5.5.4. АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ И КОМПЛЕКСЫ ПРОТИВОАВАРИЙНОГО УПРАВЛЕНИЯ Работы по созданию автоматизированных систем управления технологическими процессами (АСУ ТП) электроэнергетических объектов были начаты с появлением
2.1. Реактивная система управления корабля Apollo. Общая характеристика системы управления Все 3 отсека корабля Apollo – командный отсек, служебный отсек и лунный корабль – имеют самостоятельные реактивные системы управления (рис. 21.1). Рис. 21.1. Корабль Apollo: 1 – лунный корабль; 2 –
13. 1 Использование ранее разработанного ПО В последующих подразделах рассмотрены вопросы, связанные с использованием ранее разработанного ПО, включая оценку модификаций, изменение объекта среды приложения или среды разработки, обновление базовой линии разработки и
Архитектура микроконтроллера PIC тенденции в передовых технологиях, которые используются для помощи в разработке самых передовых электронных устройств. Так как многие электронные устройства разрабатываются с использованием микроконтроллеров. В настоящее время во многих отраслях промышленности используются микроконтроллеры PIC из-за высокой производительности, низкого энергопотребления и т. д.
Микроконтроллер PIC — это самый маленький микроконтроллер в мире, который может быть разработан для выполнения огромного количества задач. . Эти микроконтроллеры находятся в электронных устройствах, таких как телефоны, компьютеры, встроенные операционные системы и т. д. Кроме того, функции этих микроконтроллеров включают ОЗУ, CCP, SSP, LCD, ICSP и т. д.
Для пояснения, архитектура этого микроконтроллера состоит из ЦП, портов ввода-вывода, прерываний, генератора, таймеров/счетчиков, аналого-цифрового преобразователя, организации памяти, последовательной связи, модуля CCP и т. д.
Этот ЦП состоит из АЛУ, БУ, МУ, накопителя и т. д. АЛУ (Арифметико-логическое устройство) используется для арифметических операций, а также для принятия логических решений. Память используется для хранения инструкций. Используются CU, которые подключены к CPU и аккумулятору для хранения результатов.
Микроконтроллер PIC состоит из пяти портов, таких как порт A, порт B, порт C, порт D и порт E.
Порт A: Это 16-битный порт, который можно использовать для входного и выходного порта на основе состояния регистра TRISA.
Порт B: Это 8-битный порт, который можно использовать как вход и выход.
Порт C: 8-битный порт и операции ввода или вывода определяются состоянием регистра TRISC.
Порт D: 8-битный порт, который действует как подчиненный порт для подключения к микроконтроллеру ARM.
Порт E: Это 3-битный порт, который выполняет дополнительную функцию аналогово-цифрового преобразователя управляющих сигналов.
Эта архитектура микроконтроллера состоит из оперативной памяти, постоянной памяти и стека.
Оперативная память — это нестабильная память, используемая для временного хранения данных в регистрах. Кроме того, он разделен на два банка, каждый банк состоит из ряда регистров. Также эти регистры делятся на два типа. Это регистр специальных функций и регистр общего назначения.
Это стабильная память, которая используется для постоянного хранения данных. ПЗУ также называется памятью программ, где пользователь записывает программу и сохраняет ее постоянно, и, наконец, программа выполняется ЦП.
Процесс стека — это когда происходит прерывание, микроконтроллер PIC должен выполнить прерывание и существующий адрес процесса. То, что выполняется, хранится в стеке. После завершения выполнения прерывания микроконтроллер вызывает процесс с помощью адреса, хранящегося в стеке, и получает выполнение процесса.
Таймеры в основном используются для создания действий по обеспечению точности. Хотя он имеет четыре таймера/счетчика, где один 8-битный таймер, а остальные таймеры могут выбирать 8- или 16-битный режим.
Как правило, осцилляторы используются для генерации тайминга. Он состоит из внешнего генератора, такого как RC и кварцевые генераторы. В RC-генераторе значение конденсатора и резистора, которые используются для определения тактовой частоты. Диапазон тактовой частоты составляет от 30 кГц до 4 МГц.
Он состоит из 20 внутренних прерываний и трех внешних прерываний, связанных с различными периферийными устройствами, такими как АЦП, USART, таймеры и т. д. Модуль CCP работает в трех режимах, таких как режим захвата, режим сравнения и режим ШИМ.
Микроконтроллер PIC можно использовать в различных приложениях, таких как аудиоаксессуары, периферийные устройства, видеоигры и т. д.
Этот проект используется для обнаружения движения транспортного средства на автомагистралях, чтобы включить блок уличных фонарей, а также выключить габаритные огни для экономии энергии.
Блок питания подает питание на цепь путем выпрямления, понижения, фильтрации и регулирования переменного тока. ИК-датчики размещаются на дороге для обнаружения движения транспортного средства и отправки команд микроконтроллеру PIC для включения или выключения светодиодов.
29 октября 2020 — 0 комментариев
PIC16F628A представляет собой 8-разрядный микроконтроллер среднего уровня на основе CMOS FLASH , который поставляется с 18-контактным корпусом, из которых 16 контактов могут использоваться в качестве контактов ввода-вывода. Этот микроконтроллер имеет внутренний генератор 4 МГц со 128 байтами памяти данных EEPROM, упакованный одним модулем Capture/Compare/PWM и модулем USART с 2 компараторами. Этот микроконтроллер поддерживает программирование низкого напряжения.
Конфигурация контактов PIC16F628A
Номер контакта | Название контакта | Описание |
1 | РА2/АН2/ВРЕФ | Контакт двунаправленного ввода-вывода порта A, бит 2, или вход аналогового компаратора, канал 2, или выход аналогового опорного напряжения |
2 | РА3/АН3/КМП1 | Двунаправленный порт ввода-вывода или вход аналогового компаратора или выход компаратора 1. |
3 | РА4/ТОКИ/КМП2 | Двунаправленный ввод/вывод порта A, бит 4 или вход тактового сигнала таймера 0 или выход канала компаратора 2. |
4 | РА5/МКЛР/ВПП | Входной порт или основной сброс или ввод напряжения программирования. При настройке в качестве MCLR этот контакт является активным низким уровнем сброса устройства, в основном используется для программирования или 5-го бита порта A. |
5 | ВСС | Контакт заземления питания. |
6 | РБ0/INT | Контакт двунаправленного ввода-вывода порта B, бит 0 или контакт внешнего прерывания. |
7 | РБ1/РС/ДТ | Контакт двунаправленного ввода-вывода порта B, бит 1 или USART Приемный контакт или синхронный ввод-вывод данных. |
8 | РБ2/ТС/СК | Контакт двунаправленного ввода-вывода порта B, бит 2, или контакт передачи USART или ввод-вывод синхронных часов. |
9 | РБ3/КПК1 | Двунаправленный ввод-вывод порта B, бит 3 или сравнение ввода-вывода PWM. |
10 | РБ4/ПГМ | Контакт двунаправленного ввода-вывода порта B, бит 4 или контакт программирования низкого напряжения. |
11 | РБ5 | Контакт двунаправленного ввода-вывода порта B, бит 5. |
12 | РБ6/Т1ОСК/Т1СКИ/ПГК | Контакт двунаправленного ввода-вывода порта B, бит 6, или выход генератора Timer1, или вход часов Timer1, или часы программирования ICSP, в основном используемые для целей программирования. |
13 | РБ7/Т1ОСИ/ПГД | Двунаправленный ввод-вывод порта B, бит 7, или вход генератора таймера 1, или данные программирования ICSP, в основном используемые для целей программирования. |
14 | ВДД | Положительный контакт питания. |
15 | RA6/OSC2/CLKOUT | Двунаправленный ввод-вывод порта A, бит 6, или кварцевый выход генератора, или тактовый сигнал в RC/INTOSC |
16 | РА7/ОСК1/КЛКИН | Двунаправленный ввод/вывод порта A, бит 7 или вход кварцевого генератора или вход внешнего тактового генератора |
17 | RA0/AN0 | Контакт двунаправленного ввода-вывода порта A, бит 0 или входной канал аналогового компаратора 0. |
18 | РА1/АН1 | Контакт двунаправленного ввода-вывода порта A, бит 1 или входной канал аналогового компаратора 1 |
Особенности и технические характеристики микроконтроллера PIC16F628A
PIC16F628A — упрощенные характеристики и спецификация | |
ЦП | Среднечастотный 8-разрядный |
Количество контактов | 18 |
Рабочее напряжение (В) | 2 — 5,5 В |
Количество контактов ввода-вывода | 16 |
Модуль АЦП | нет |
Модуль таймера | 3 |
Компараторы | 2 |
Модуль ЦАП | нет |
Периферийные устройства связи | УАПП(1) |
Внешний осциллятор | Да |
Внутренний осциллятор | 4 МГц |
Память программ (КБ) | 3,5 КБ |
Скорость процессора (MIPS) | 5 |
байт ОЗУ | 224 байта |
ЭСППЗУ данных | 128 байт |
Примечание : Полную техническую информацию можно найти в техническом описании PIC16F628A , ссылка на которое находится внизу этой страницы.
Альтернатива для PIC16F628A
Альтернативные продукты для микроконтроллера PIC16F628A перечислены ниже:
Другой 8-разрядный микроконтроллер
PIC16F1503
Знакомство с PIC16F628A
PIC16F628A — это 8-разрядный микроконтроллер среднего уровня на базе CMOS FLASH, который поставляется в 18-контактном корпусе, из которых 16 контактов могут использоваться в качестве контактов ввода-вывода. Этот микроконтроллер имеет внутренний генератор 4 МГц со 128 байтами памяти данных EEPROM, упакованный одним модулем Capture/Compare/PWM и модулем USART с 2 компараторами. Этот микроконтроллер поддерживает программирование низкого напряжения.
Микроконтроллер PIC16F628A также имеет два 8-разрядных и один 16-разрядный таймер, подходящие для приложений среднего уровня, связанных с синхронизацией, где требуются разные таймеры.
PIC16F628A работает с напряжением от 2 В до 5,5 В, поэтому подходит для приложений с логическим уровнем 3,3 В и 5,0 В. Сброс при выключении питания, сброс при включении питания, сторожевой таймер с независимым генератором, энергосберегающие спящие режимы также поддерживаются микроконтроллером PIC16F628A. Схема контактов PIC16F628A показана ниже:
Подробные характеристики PIC16F628A
PIC16F628A – подробные характеристики | |
ЦП | Средний диапазон 8 — бит |
Архитектура | 8-битный |
Размер памяти программ (Кбайт) | 3,5 КБ |
ОЗУ (байт) | 224 байта |
ЭСППЗУ/HEF | 128 байт |
Количество выводов | 18 |
Макс. Частота процессора (МГц) | 20 МГц |
Выбор периферийного контакта (PPS) | № |
Внутренний осциллятор | 4 МГц |
Количество компараторов | 2 |
№ операционного усилителя | нет |
Количество каналов АЦП | нет |
Максимальное разрешение АЦП (бит) | — |
АЦП с вычислением | № |
Номер преобразователя ЦАП | нет |
Максимальное разрешение ЦАП | — |
Внутреннее опорное напряжение | 2 — 5,5 В |
Обнаружение пересечения нуля | № |
Количество 8-битных таймеров | 2 |
Количество 16-битных таймеров | 1 |
Таймер измерения сигнала | № |
Аппаратный таймер ограничения | № |
Количество выходов ШИМ | 1 |
Максимальное разрешение ШИМ | 1024 |
Угловой таймер | № |
Математический ускоритель | № |
№ модуля UART | 1 |
№ модуля SPI | нет |
№ модуля I2C | нет |
№ USB-модуля | нет |
Оконный сторожевой таймер (WWDT) | № |
CRC/скан | № |
Осциллятор с числовым программным управлением | № |
Крышка. Сенсорные каналы | нет |
Сегментный ЖК-дисплей | нет |
Минимальная рабочая температура (*C) | -40°С |
Максимальная рабочая температура (*C) | 125°С |
Минимальное рабочее напряжение (В) | 2 В |
Максимальное рабочее напряжение (В) | 5,5 В |
Возможность работы с высоким напряжением | № |
Программирование микроконтроллера PIC
Микроконтроллеры PIC можно программировать с помощью различного программного обеспечения, доступного на рынке. Есть люди, которые до сих пор используют язык ассемблера для программирования микроконтроллеров PIC. Приведенная ниже информация относится к наиболее продвинутому и распространенному программному обеспечению и компилятору, разработанному самой компанией Microchip.
Для программирования микроконтроллера PIC нам понадобится IDE (интегрированная среда разработки), в которой происходит программирование. Компилятор, в котором наша программа преобразуется в удобочитаемую форму MCU, называемую HEX-файлами. IPE (интегрированная среда программирования), которая используется для создания дампа нашего шестнадцатеричного файла в наши микроконтроллеры PIC.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Компилятор: XC8
Компания Microchip предоставила все эти три программы бесплатно. Их можно скачать прямо с их официальной страницы. Я также предоставил ссылку для вашего удобства. После загрузки установите их на свой компьютер. Если у вас есть какие-либо проблемы с этим, вы можете опубликовать их в комментарии ниже.
Для создания дампа или загрузки нашего кода в PIC нам потребуется устройство с названием PICkit 3. Программатор/отладчик PICkit 3 представляет собой простой недорогой внутрисхемный отладчик, которым управляет работающий ПК.