PIC16F877: характеристики, особенности и применение 8-битного микроконтроллера

Что такое PIC16F877. Каковы основные характеристики этого микроконтроллера. Как используется PIC16F877 в электронных проектах. Какие преимущества дает применение PIC16F877 по сравнению с другими микроконтроллерами. Почему PIC16F877 популярен среди разработчиков встраиваемых систем.

Содержание

Основные характеристики микроконтроллера PIC16F877

PIC16F877 — это 8-битный микроконтроллер семейства PIC, производимый компанией Microchip Technology. Вот его ключевые характеристики:

  • 8-битный процессор с RISC-архитектурой
  • Тактовая частота до 20 МГц
  • 14 КБ флэш-памяти программ
  • 368 байт оперативной памяти (RAM)
  • 256 байт энергонезависимой памяти EEPROM
  • 33 линии ввода/вывода общего назначения
  • 10-битный 8-канальный АЦП
  • Два 8-битных и один 16-битный таймер
  • Интерфейсы USART, SPI, I2C
  • Сторожевой таймер
  • Внутрисхемное программирование (ICSP)
  • Напряжение питания 2-5.5 В

Такой набор периферии и достаточный объем памяти делают PIC16F877 универсальным микроконтроллером для широкого круга приложений.


Архитектура и особенности PIC16F877

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

Процессорное ядро реализует RISC-архитектуру с сокращенным набором команд. Большинство команд выполняется за один машинный цикл, что обеспечивает высокую скорость работы.

Микроконтроллер имеет пять портов ввода/вывода общего назначения:

  • PORTA — 6 линий
  • PORTB — 8 линий
  • PORTC — 8 линий
  • PORTD — 8 линий
  • PORTE — 3 линии

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

Память микроконтроллера PIC16F877

PIC16F877 содержит три типа памяти:

  1. Память программ (Flash) — 14 КБ
  2. Оперативная память (RAM) — 368 байт
  3. Энергонезависимая память данных (EEPROM) — 256 байт

Память программ реализована на основе флэш-технологии и может быть перепрограммирована до 1000 раз. В ней хранится код программы и константы.


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

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

Периферийные модули PIC16F877

PIC16F877 содержит богатый набор встроенной периферии:

Таймеры

Микроконтроллер имеет три таймера/счетчика:

  • Timer0 — 8-битный таймер/счетчик с программируемым предделителем
  • Timer1 — 16-битный таймер/счетчик
  • Timer2 — 8-битный таймер с программируемыми предделителем и постделителем

Таймеры могут использоваться для отсчета временных интервалов, генерации ШИМ-сигналов и других задач.

АЦП

10-битный 8-канальный аналого-цифровой преобразователь позволяет измерять аналоговые сигналы в диапазоне от 0 до напряжения питания микроконтроллера. Это дает возможность подключать различные аналоговые датчики.

Интерфейсы связи

PIC16F877 поддерживает несколько стандартных интерфейсов:


  • USART — для асинхронной и синхронной последовательной связи
  • SPI — для высокоскоростного обмена данными с периферийными устройствами
  • I2C — для создания мультимастерных систем на основе двухпроводной шины

Это позволяет легко организовать связь с другими микроконтроллерами и внешними устройствами.

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

Для разработки программ для PIC16F877 можно использовать языки ассемблера или C. Компания Microchip предоставляет бесплатную среду разработки MPLAB X IDE и компиляторы.

Загрузка программы в микроконтроллер осуществляется через интерфейс внутрисхемного программирования ICSP. Это позволяет программировать микроконтроллер непосредственно в готовом устройстве.

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

Области применения PIC16F877

Благодаря своей универсальности, PIC16F877 находит применение в самых разных областях:

  • Промышленная автоматика
  • Системы сбора данных
  • Управление электродвигателями
  • Бытовая техника
  • Измерительные приборы
  • Системы безопасности
  • Автомобильная электроника
  • Медицинское оборудование

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


Преимущества использования PIC16F877

PIC16F877 имеет ряд преимуществ, делающих его популярным выбором среди разработчиков:

  • Невысокая стоимость
  • Большой объем памяти программ и данных
  • Богатый набор периферийных модулей
  • Низкое энергопотребление
  • Хорошая документация и поддержка от производителя
  • Наличие бесплатных средств разработки
  • Совместимость по выводам с другими микроконтроллерами семейства PIC16

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

Сравнение PIC16F877 с аналогами

Как выглядит PIC16F877 на фоне других популярных 8-битных микроконтроллеров? Давайте сравним его с несколькими аналогами:

PIC16F877 vs ATmega328P

ATmega328P — 8-битный микроконтроллер семейства AVR, используемый в популярной платформе Arduino:

  • Больший объем памяти программ у ATmega328P (32 КБ vs 14 КБ)
  • Больше линий ввода/вывода у PIC16F877 (33 vs 23)
  • Более высокая тактовая частота у PIC16F877 (20 МГц vs 16 МГц)
  • Больше каналов АЦП у PIC16F877 (8 vs 6)

PIC16F877 имеет преимущество в скорости и периферии, но уступает по объему памяти.


PIC16F877 vs 8051

8051 — классический 8-битный микроконтроллер, до сих пор широко применяемый:

  • Более высокая производительность у PIC16F877 благодаря RISC-архитектуре
  • Больше встроенной памяти у PIC16F877
  • Более широкий набор периферии у PIC16F877
  • Лучшая энергоэффективность у PIC16F877

PIC16F877 превосходит классический 8051 практически по всем параметрам.

Заключение

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

Однако при разработке новых проектов стоит обратить внимание на более современные модели, такие как PIC16F887 или PIC16F1789. Они обеспечивают лучшие характеристики при сохранении совместимости по выводам с PIC16F877.

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



Лабораторный блок питания на PIC16F877

Микроконтроллеры и Технологии каталог схем и прошивок

  • Вход на сайт
  • Создать аккаунт

Имя пользователя

Пароль

Запомнить меня

  • Забыли пароль?
  • Забыли логин?
  • Создать аккаунт
  • Создать аккаунт
  • Вход на сайт

Часы на ATtiny85 и светодиодной матрице с драйвером HT16K33

Источник питания на ATmega8

Просмотров: 49901

Семисегментный индикатор Амперметр Вольтметр Блок питания PIC16F877

Блок питания имеет два независимых канала со стабилизацией тока и напряжения, и третий независимый канал с фиксированными напряжениями.

Устройство имеет:

— два источника с регулируемым выходом 0-30 Вольт и регулируемым ограничением по току 0,02 — 3 Ампера;
— источник с фиксированными напряжениями 5 и 12 Вольт с ограничением по току 1,5 Ампера;
— регулируемые источники имеют цифровую индикацию напряжения, установленного тока ограничения , текущего потребляемого тока нагрузкой, индикатор перехода в режим стабилизации тока;

— для каждого регулируемого источника есть внешний вход отключения, и таймер программатор;
— таймер программатор в обычном режиме показывает минуты и секунды включенного состояния, с возможностью сброса;
— в режиме таймер можно установить время до 23час 59 мин и запустить обратный отсчет, по окончанию которого источник отключится. Можно выйти из этого режима вручную до отключения или изменить индикацию обратного отсчета — ЧЧ:ММ или ММ:СС.

За основу схемы регулируемых источников была взята хорошо зарекомендовавшая себя схема лабораторного блока питания, опубликованная здесь :http://www. electronics-lab.com/projects/power/003/index.html

Индикация и управление. Для повышения точности использован отдельный источник опорного напряжения для АЦП и делается 4 замера с нахождением среднего значения. Пределы измерения напряжения 0-51 Вольт с шагом 0,05 Вольт, тока 0-5,1 Ампера с шагом 0,01 Ампер. Резистор Р8 — установка тока , свыше которого переходит в режим стабилизации тока , Р9 — установка напряжения

Правильно собранный из исправных элементов блок питания в настройке не нуждается. переменным резистором Р2 выставить опорное напряжение АЦП в пределах 4,5 — 4,6 вольт и провести резистором Р5, Р6, Р7 калибровку показаний индикаторов по образцовым приборам.

Устройство размещается в подходящем по размерам корпусе , рекомендуется использовать принудительную вентиляцию при долговременной работе на больших токах, так как выделяемая тепловая мощность может достигать 100Вт.

Автор: Гармаш Геннадий

Обсуждение статьи на форуме


Архив для статьи «Лабораторный блок питания на PIC16F877»
Описание: Исходный код программы(Ассемблер), файл прошивки микроконтроллера, макет печатной платы SprintLayout5
Размер файла: 43. 2 KB Количество загрузок: 2 634 Скачать

Понравилась статья? Поделиться с друзьями:

  • Назад
  • Вперед
  • Телевизор
  • Асинхронный режим
  • RS232
  • Световой эффект
  • TDA7313
  • PIC16F628
  • BTS555
  • PIC18F252
  • Сигнализация
  • Серво
  • ULN2003
  • ADXL322
  • LPT
  • ATmega8535
  • ATmega16
  • PIC16F886
  • DS1820
  • Счетчик
  • Умный дом
  • Анализатор

Знакомство с PIC16F877 — Инженерные проекты

Привет, ребята! Надеюсь у тебя все хорошо. Я вернулся, чтобы предоставить вам ценную информацию в соответствии с вашими техническими потребностями и требованиями. Сегодня я открою подробное введение в PIC16F877. Это 8-битный микроконтроллер PIC с 40-контактным интерфейсом (PDIP). Он основан на памяти типа Flash. Внутри устройства встроен высокопроизводительный RISC-процессор, который содержит всего 35 инструкций, состоящих из одного слова, в основном предназначенных для двух типов инструкций: одиночного цикла и двойного цикла. В этом посте я расскажу обо всем, что связано с PIC16F877: его характеристиках, распиновке и описании выводов, основных функциях, интерфейсе памяти, используемом компиляторе и записывающем устройстве, а также приложениях. Давайте погрузимся прямо и приступим к мельчайшим деталям этого крошечного устройства.

Знакомство с PIC16F877
  • PIC16F877 — это 8-разрядный микроконтроллер PIC, представленный компанией Microchip и в основном используемый в автоматизации и встроенных системах.

Он поставляется в трех корпусах, известных как PDIP, PLCC и QFN, где первый — 40-контактный, а два других — с 44-контактным интерфейсом.

  • Он имеет 256 байт памяти данных EEPROM, 368 байт RAM и программную память 14 КБ.

Эта версия микроконтроллера включает ЦП, таймеры, 10-разрядный АЦП и другие периферийные устройства, которые в основном используются для установления соединения с внешними устройствами.

  • Приличный ресурс памяти около 1 000 000 для EEPROM и 100 000 для памяти программ делает это устройство идеальным выбором для многих приложений реального времени.

Универсальный синхронный асинхронный приемник-передатчик (USART) очень полезен для развития последовательной связи с другими устройствами.

  • В устройство добавлены некоторые внутренние и внешние функции сброса, которые предотвращают устаревание устройства, предоставляя вам полное право изменять контроллер в соответствии с вашими потребностями и требованиями.

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

1. Характеристики PIC16F877

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

ЦП ПОС
Размер процессора 8-битный
Общее количество контактов 40
Контакты ввода/вывода 33
Аналоговый вход 6
Флэш-память (память программ) 14 КБ
ОЗУ 368 байт
ЭСППЗУ 256 байт
Таймеры (3) Таймер 0 Таймер1 Таймер2
Рабочее напряжение от 4 до 5,5 В
Осциллятор (скорость) до 20 МГц
Производитель Микрочип
Количество портов (5) ПОРТ ПОРТБ ПОРТК ПОРТД ПОРТ
Набор инструкций 35 инструкций
Модули захвата/сравнения/ШИМ 2
Прерывания 14
АЦП 10 бит, 8 каналов
БПК (обнаружение помутнения) Да
Сторожевой таймер Да
UART (последовательная связь) Да
Протокол SPI Да
Протокол I2C Да
ICSP (внутрисхемное последовательное программирование) Да
Постоянный ток для контакта 3,3 В 50 мА
  • Эти функции помогут вам понять основные характеристики контроллера и помогут вам принять окончательное решение, прежде чем вы собираетесь включить этот чип в определенный проект.
2. Распиновка и описание PIC16F877

В этом разделе мы рассмотрим распиновку контроллера и подробное описание каждого контакта.

Распиновка PIC16F877

На следующем рисунке показана распиновка PIC16F877.

  • Этот модуль поставляется в трех пакетах, известных как PDIP, PLCC и QFP. Первый в основном используется для разработки индивидуальных проектов, а два других широко используются в промышленных приложениях.
Описание контакта PIC16F877

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

включения программирования ICSP
Контакт № Имя контакта Контакт Описание
1 МКЛР’ ВПП Master Clear Active Low Reset Pin Контакт
2 РА0 АН0 Контакт цифрового ввода/вывода Аналоговый вход 0 Контакт
3 РА1 АН1 Контакт цифрового ввода/вывода Аналоговый вход 1 контакт
4 РА2 АН2 ВРЕФ- Контакт цифрового ввода/вывода Аналоговый вход 2 контакта Опорное входное напряжение АЦП (низкое)
5 РА3 АН3 ВРЕФ+ Контакт цифрового ввода/вывода Аналоговый вход 3 контакта Опорное входное напряжение АЦП (высокое)
6 РА4 Т0КИ Контакт цифрового ввода/вывода Вход внешних часов для Timer0
7 РА5 АН4 СС Контакт цифрового ввода/вывода Аналоговый вход 4 контакта Вход выбора подчиненного устройства для SPI
8 RE0 АН5 РД’ Контакт цифрового ввода/вывода Аналоговый вход 5 контактов Управление чтением для параллельного ведомого
9 РЭ1 АН6 ВР’ Контакт цифрового ввода/вывода Аналоговый вход 6 контактов Управление записью для параллельного ведомого устройства
10 РЭ2 АН7 КС’ Контакт цифрового ввода/вывода Аналоговый вход 7 контактов Выберите управление для параллельного ведомого
11 ВДД Контакт подачи напряжения
12 ВСС Контакт заземления
13 ОСК1 КЛКИН Входной контакт кварцевого генератора
14 ОСК2 CLKOUT Выходной контакт кварцевого генератора
15 RC0 Т1ОСО Т1СКИ Цифровой ввод/вывод Выход генератора для Timer1 Вход внешнего тактового сигнала для Timer1
16 RC1 T1OSI КПК2 Цифровой ввод/вывод Вход генератора для Timer1 Выход для Compare2 и PWM2, вход для Capture2
17 RC2 КПК1 Цифровой ввод/вывод Выход для Compare1 и PWM1, вход для Capture1
18 РК3 СКК СКЛ Цифровой ввод/вывод Модуль SPI Синхронный последовательный ввод/вывод часов Модуль I2C Синхронный последовательный ввод/вывод часов
19 РД0 PSP0 Контакт цифрового ввода/вывода Параллельный подчиненный порт для D0 с входными буферами TTL
20 РД1 PSP1 Контакт цифрового ввода/вывода Параллельный подчиненный порт для D1 с входными буферами TTL
21 РД2 PSP2 Контакт цифрового ввода/вывода Параллельный подчиненный порт для D2 с входными буферами TTL
22 РД3 PSP3 Контакт цифрового ввода/вывода Параллельный подчиненный порт для D3 с входными буферами TTL
23 РК4 СДИ ПДД Цифровой ввод/вывод Контакт ввода данных SPI Контакт ввода/вывода данных I2C
24 RC5 СДО Цифровой ввод/вывод Контакт вывода данных SPI
25 RC6 Техас СК Цифровой ввод/вывод Асинхронная передача (USART) Синхронные часы (USART)
26 RC7 RX ДТ Цифровой ввод/вывод Асинхронный прием (USART) Синхронные данные (USART)
27 РД4 PSP4 Цифровой ввод/вывод Параллельный подчиненный порт для D4 с входными буферами TTL
28 РД5 PSP5 Цифровой ввод/вывод Параллельный подчиненный порт для D5 с входными буферами TTL
29 РД6 PSP6 Цифровой ввод/вывод Параллельный подчиненный порт для D6 с входными буферами TTL
30 РД7 PSP7 Цифровой ввод/вывод Параллельный подчиненный порт для D7 с входными буферами TTL
31 ВСС Контакт заземления
32 ВДД Контакт подачи напряжения
33 РБ0 ИНТ Цифровой ввод/вывод Внешнее прерывание 0
34 РБ1 Цифровой ввод/вывод
35 РБ2 Цифровой ввод/вывод
36 РБ3 ПГМ Цифровой ввод/вывод Контакт включения программирования ICSP (низкое напряжение)
37 РБ4 Цифровой ввод/вывод
38 РБ5 Цифровой ввод/вывод
39 РБ6 ПГК Цифровой ввод/вывод Часы для программирования ICSP, внутрисхемный отладчик
40 РБ7 ПГД Цифровой ввод/вывод Данные программирования ICSP, встроенный отладчик
3.
Основные функции PIC16F877

Эта модель PIC способна выполнять многие функции, аналогичные другим контроллерам семейства PIC. Ниже приведены основные функции PIC16F877.

Таймер

PIC16F877 поставляется с тремя таймерами, известными как Timer0 (8-разрядный), Timer1 (16-разрядный) и Timer2 (8-разрядный). Эти таймеры можно использовать как таймер, а также как счетчик.

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

Все три таймера имеют возможность выбора внутренних и внешних часов.

USART

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

  • Этот модуль включает в себя два контакта, известные как TX и RX, где первый используется для передачи последовательных данных, а второй — для приема последовательных данных от подключенных устройств.
Сторожевой таймер

PIC16F877 поставляется со встроенным сторожевым таймером, который возвращает контроллер в положение сброса, если программа зависает во время компиляции или застревает в бесконечном цикле.

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

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

  • Сторожевой таймер может управляться только с помощью битов конфигурации. Он поставляется с собственным RC-генератором для максимальной надежности.
Сброс при выходе из строя (BOR)

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

  • Если таймер включения включен, он создаст задержку для возврата устройства из функции BOR. Режим BOR можно настроить двумя способами: настройками BOREN в регистре или с помощью программирования.

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

Внутрисхемное последовательное программирование

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

Основной сброс сброса (MCLR)

Вывод MCLR служит для внешнего сброса микросхемы. Этот контакт не зависит от внутренних сбросов и активируется, удерживая этот контакт в НИЗКОМ значении.

  • Бит конфигурации MCLRE в основном используется для отключения входа MCLR, а фильтр помех включен в процесс выполнения MCLR, что позволяет обнаруживать и удалять малые импульсы.
Сброс при включении

Функция Power On Reset — очень полезная функция, которая сбрасывает контроллер и предотвращает его сбои в работе. Когда модуль включен, сброс при включении питания запустит модуль с нуля, как только Vdd поднимется выше определенного порогового значения.

  • Регистр управления питанием (PCON) поставляется с флаговыми битами , которые помогают различать сброс при включении питания. (POR), сброс сторожевого устройства (WDT) и внешний сброс MCLR.
Связь SPI

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

  • Он поставляется с отдельными линиями синхронизации и данных, а также линией выбора для выбора устройства для связи.
Связь I2C

I2C — это двухпроводной интерфейс связи, который поставляется с двумя основными линиями, известными как SDA и SCL, где первая — это линия последовательных данных, по которой передаются данные, а затем — последовательная линия синхронизации, которая используется для синхронизации всех передач данных по шине I2C.

4. Компилятор PIC
  • Компиляторы и устройства записи PIC используются для различных целей. Первое — это программное обеспечение, используемое для написания желаемого кода для модуля, а позднее — для переноса и записи кода на модуль.

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

  •  MikroC Pro For PIC – это стороннее программное обеспечение, которое является хорошей заменой стандартному компилятору PIC.
  • Эти 3 лучших компилятора PIC C предоставляют вам возможность выбора и выбора любого компилятора в соответствии с вашими потребностями и требованиями.

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

  • PICKit3 — это стандартная программа записи PIC для контроллеров PIC. Другие записывающие устройства также доступны на рынке, но PICKit3 в основном предпочтительнее для PIC-контроллеров.
5. Схема памяти PIC16F877 и работа

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

Память программ

Память программ, также известная как ПЗУ или флэш-память, постоянно хранит количество инструкций.

  • Он поставляется с объемом памяти около 14 КБ и не зависит от источника питания, т.е. имеет возможность хранить информацию при отсутствии основного источника питания.
ЭСППЗУ данных

Память данных ЭСППЗУ аналогична памяти ПЗУ за одним исключением: инструкции в ЭСППЗУ можно контролировать и изменять во время работы контроллера.

  • EEPROM включает в себя пространство памяти около 256 байт и в основном адресуется несколькими регистрами управления.
ОЗУ данных

Оперативная память, также известная как энергозависимая память, временно хранит программу и зависит от источника питания. Он поставляется с объемом памяти около 368 байт и в основном делится на две основные части, называемые Регистры общего назначения (GPR) Регистры специального назначения (SFR)

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

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

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

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

6. Блок-схема PIC16F877

На следующем рисунке показана блок-схема PIC16F877.

  • PIC16F877 поставляется с пятью портами, каждый из которых содержит 8 контактов, кроме порта E, который имеет 3 контакта.
  • Важно отметить, что биты более высокого порядка связаны с регистром STATUS
7.
PIC16F877 Проекты и приложения

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

  • Студенческие работы по управлению двигателем и сопряжению датчиков
  • Системы здравоохранения и безопасности
  • Проекты центрального отопления
  • Встроенная система
  • Проекты датчиков газа
  • GPS проекты
  • Последовательная связь
  • Широко используется в домашней и промышленной автоматизации
  • Изготовление регистратора температуры
8. Зачем использовать микроконтроллеры PIC
  • Раньше, если вы стремились разработать проект автоматизации, вам понадобилась бы куча проводов и множество электрических компонентов, которые не только стоили бы вам дороже, но и утяжеляли бы ваш проект. с большим пространством. Эти PIC-контроллеры оказываются спасением для ваших технических нужд, требующих минимальной схемы.
  • Эти контроллеры имеют удобный интерфейс и простую встроенную архитектуру, которая не требует практически никаких предварительных навыков для ознакомления с чипом.
  • PIC-контроллеры
  • имеют преимущество перед другими контроллерами Atmel, такими как 8051, благодаря более высокой скорости обработки и эффективности.
  • Они очень удобны с точки зрения минимального энергопотребления, что делает этот контроллер идеальным выбором для проектов, где ограничение мощности является серьезной проблемой.

Это все на данный момент. Надеюсь, я дал вам все, что вам нужно знать о PIC16F877. Если вы не уверены в чем-то, что, по вашему мнению, я не сказал об этом чипе, вы можете спросить меня в разделе комментариев ниже. Я хотел бы помочь вам, чем смогу. Пожалуйста, держите нас в курсе ваших ценных предложений, мы планируем нашу контент-стратегию на их основе, так что продолжайте их поступать. Спасибо за прочтение статьи.

Замена на PIC16F887 или PIC16F1789

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

Администратор блога Оставить комментарий

PIC16F877A (и более ранние версии PIC16F877) — это микротролли, поставляемые Microchip. Это всего лишь одно устройство среди многих микроконтроллеров PIC, и это чип-ветеран по сравнению со многими другими. В Интернете есть много статей, проектов и схем, в которых используется PIC16F877A, поэтому кажется, что его использование имеет смысл, но стоит ли вам по-прежнему использовать этот чип?


Быстрый ответ: нет. Во-первых, MPLAB, среда разработки Microchip, позволяет легко переносить код на другой чип. Это особенно верно для последней версии MPLAB X, включая компилятор XC8 C. Далее, есть ряд более новых PIC с той же распиновкой, так что схема будет такой же, как и на любых схемах PIC16F877A.

PIC16F877A в сравнении с другими 40-контактными микроконтроллерами

Код, написанный для PIC16F877A, можно легко поменять местами в MPLAB, схемы те же, но как насчет цены? В прошлый раз я смотрел другие подходящие микроконтроллеры PIC за четверть цены PIC16F877A. Это превращается в ежу понятно!

Какой PIC можно использовать вместо этого?
Первый очевидный ответ — PIC16F887, который можно заменить. Он имеет ту же распиновку с выводами ICSP, питанием и всеми выводами порта в одном месте. PIC16F877A имеет эти функции, которые мы хотим воспроизвести для начала

  • 8K пространства кода
  • 256 байт EEPROM
  • 384 байта SRAM
  • 8-уровневый глубокий аппаратный стек
  • Тактовая частота до 20 МГц
  • 1 16-битный, 2 8-битный таймер
  • Синхронный последовательный порт — SPI и I2C
  • USART
  • 8-канальный, 10-разрядный АЦП
  • Сброс при отключении питания
  • 2 аналоговых компаратора
  • Захват, сравнение, модуль ШИМ

и эта распиновка

Чем отличается PIC887?

PIC16F887 имеет все эти функции, в том числе тот же размер кода и распиновку, но также имеет следующие улучшения

  • Режимы пониженного энергопотребления
  • 14 каналов АЦП
  • USART также поддерживает RS422/485 и LIN
  • .
  • Калиброванный внутренний генератор, 8–31 МГц

Распиновка PIC16F887

Расположение контактов такое же, но 16F887 также имеет дополнительные функции на некоторых портах, например, контакт 37 на 877A — это просто RB4, на 887 это также дополнительный контакт АЦП, AN11.

Легко поменять с PIC16F877A на PIC16F887, без изменений схем и схем, просто поменять устройство в MPLAB и это намного дешевле. Это настолько очевидное обновление, что попытки использовать 16F877 или 16F877A не имеют никакого смысла.

Купить микроконтроллер PIC16F887

Другие устройства PIC

Надеюсь, вы согласны с тем, что мы доказали, что переход на 16F887 является разумной идеей только с точки зрения затрат, но можем ли мы пойти дальше и получить еще большую отдачу от затраченных средств без большого редизайна? Microchip не стояла на месте и выпустила множество новых семейств PIC16F с обозначением PIC16F1xxx. Лучшим претендентом на 40-контактную компоновку, вероятно, является PIC16F1789, который стоит столько же, сколько PIC16F887 и имеет ту же распиновку.

Обладает следующими преимуществами

  • 32 КБ Кодовое пространство вместо 8 КБ
  • То же 256-байтовое EEPROM
  • 2 КБ SRAM вместо 384 байт
  • Тактовая частота 32 МГц, а не 20 МГц
  • 16-уровневый глубокий аппаратный стек вместо 8
  • Два модуля захвата/сравнения/ШИМ не 1
  • Те же модули USART, SPI и I2C
  • 12-разрядный АЦП, а не 10-разрядный, 15-канальный
  • от 2,3 В до 5,5 В постоянного тока
  • 1 8-битный и 3 5-битный цифро-аналоговые преобразователи
    (ЦАП)
  • 4 высокопроизводительных модуля ШИМ
  • Четыре высокоскоростных компаратора вместо 2
  • До трех операционных усилителей
  • Фиксированное опорное напряжение (FVR)
  • Значительно более низкое потребление тока

Хорошо, у него та же цоколевка, в 4 раза больше места для кода, намного больше SRAM, лучший АЦП, более быстрые часы, более широкий диапазон напряжения и стоит те же деньги. Должно быть стоит посмотреть. Кодовое пространство и размер SRAM важны, если вы хотите программировать на C. Компилятор C ест SRAM, а 384 байта на 16F887 недостаточно для действительно серьезного проекта. С появлением большего количества аккумуляторных батарей энергопотребление стало важнее, чем когда-либо, и PIC16F1789(или даже лучше PIC16LF1789) намного эффективнее, чем старые микроконтроллеры PIC.

Купить Микроконтроллер PIC16F1789

Заключение

Использование PIC16F887A не имеет смысла только из соображений стоимости. PIC16F887 сразу лучше. Приложив совсем немного усилий, вы можете перейти на PIC16F1789, который имеет еще больше преимуществ. Кстати, то же самое относится и к PIC16F84 или PIC16F84A, еще одному старому чипу с большим количеством примеров кода. Гораздо лучше перейти на более новый 18-контактный чип, такой как PIC16F1827, по тем же причинам, описанным здесь, более низкая цена, больше возможностей, меньшее энергопотребление и больше места для кода.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *