1. PIC-КОНТРОЛЛЕРЫ ФИРМЫ MICROCHIP
1.1 Цель работы
Изучить основные параметры, возможности и области применения микроконтроллера PIC16F877.
1.2 Общие сведения
Микроконтроллеры семейства PIC16Fxx(Peripheral Interface Controller) объединяют все передовые технологии микроконтроллеров: мировое лидерство по гибкой однократно или многократно электрически перепрограммируемой пользователем технологии ППЗУ, минимальное энергопотребление, исключительную производительность, мощную RISC архитектуру и минимальные размеры корпуса. Эти широкие возможности и низкая стоимость сделали серию микроконтроллеров PIC лучшим выбором для инженерных применений. Более 200 миллионов микроконтроллеров PIC используются в нескольких тысячах приложений по всему миру. Использовать эти микроконтроллеры рекомендуется во всех случаях, когда критично энергопотребление, габариты и стоимость устройства.
Архитектура RISC микроконтроллеров PIC устанавливает промышленный стандарт: 5 MIPS (миллионов операций в секунду). PIC имеют самое высокое быстродействие по сравнению с большинством, наиболее распространенных 8 -битовых микроконтроллеров аналогичного класса.
PIC – это полностью статическое устройство, тактовый генератор может быть остановлен без потерь логических состояний. Для помехоустойчивых применений используется сторожевой таймер WDT, выполненный как независимый встроенный RC генератор, перезапускающий микроконтроллер при возникновении сбоев. В конструкцию микроконтроллеров PIC также включено много энергосберегающих особенностей, делающих их сегодня на рынке самыми микропотребляющими в режиме ожидания (потребляемый ток менее 1мкА), самым низковольтными по напряжению питания (2В), программируемыми пользователем микроконтроллерами. Схема запуска по включению питания и таймер запуска генератора позволяют во многих случаях обойтись без внешних схем сброса. Возможен выбор одного из четырех типов тактовых генераторов, среди которых есть RC генератор и микропотребляющий генератор LP.
1.3 Области применения
Дополнительный режим пониженного энергопотребления SLEEP, сторожевой таймер WDT позволяют эффективно использовать микроконтроллеры этого семейства в широком спектре применений контроллеров в устройствах с батарейным питанием, питанием от телефонной линии, солнечных батарей и удаленных от источников электроэнергии устройств.
Вот краткий перечень изделий, построенных на базе данных микроконтроллеров:
Техника связи: микро-АТС, автоответчики, АОНы, беспроводные и мобильные телефоны, устройства зарядов аккумуляторов, факс-аппараты, модемы, радиомодемы, транковые системы, пейджеры.
Бытовая техника: системы сигнализации, измерительные приборы, счетчики воды и газа и электроэнергии, детекторы ионизирующего излучения, устройства заряда батарей, игрушки.
Автомобильная электроника: автомобильные сигнализации, радарные детекторы, приборные панели, комбинированные измерительные приборы, системы управлением микроклиматом зажиганием и впрыском топлива.
Промышленные контроллеры: интеллектуальные датчики, схемы управления электродвигателями, промышленные роботы, регуляторы температуры, влажности, давления и др.
Компьютеры и периферия: принтеры, плоттеры сетевые карты, модемы, мыши, сканеры.
Товары народного потребления: аудио системы, CD проигрыватели, системы синтеза речевых сообщений, блоки дистанционного управления, модули телетекста, PIP, VPS, DVD, видеоигры.
1.4 Номенклатура микроконтроллеров семейства PIC16F8хх
Одним из наиболее популярных семейств микроконтроллеров серии PIC фирмы MICROCHIP является модель PIC16F8хх. В состав этого семейства входят следующие микросхемы:
- PIC16F873;
- PIC16F874;
- PIC16F876;
- PIC16F877.
Состав микросхем различается, прежде всего, количеством портов ввода/вывода, количеством каналов АЦП, и объёмом памяти. Краткая характеристика семейства микроконтроллеров модели PIC16F8хх приведено в Таблице 1.1.
Таблица 1.1 Характеристика микроконтроллеров модели PIC16F8хх
Параметр | PIC16F873 | PIC16F874 | PIC16F876 | PIC16F877 |
Тактовая частота | 20 МГц | 20 МГц | 20 МГц | 20 МГц |
Сброс | POR, BOR (PWRT, OST) | POR, BOR (PWRT, OST) | POR, BOR (PWRT, OST) | POR, BOR (PWRT, OST) |
FLASH память программ (14 – разрядных слов) | 4К | 4К | 8К | 8К |
Память данных (байт) | 192 | 192 | 368 | 368 |
EEPROM память данных (байт) | 128 | 128 | 256 | 256 |
Прерываний | 13 | 14 | 13 | 14 |
Порты ввода/вывода | Порты A, B, C | Порты A, B, C, D, E | Порты A, B, C | Порты A, B, C, D, E |
Таймеры | 3 | 3 | 3 | 3 |
Продолжение таблицы 1.1
Параметр | PIC16F873 | PIC16F874 | PIC16F876 | PIC16F877 |
Модуль захват/сравнение/ШИМ | 2 | 2 | 2 | 2 |
Модуль последовательного интерфейса | MSSP, USART | MSSP, USART | MSSP, USART | MSSP, USART |
Модуль параллельного интерфейса | – | PSP | – | PSP |
Модуль 10 – разрядного АЦП | 5 каналов | 8 каналов | 5 каналов | 8 каналов |
Инструкций | 35 | 35 | 35 | 35 |
1.5 Технические характеристики микроконтроллера PIC16F877
- Высокоскоростная RISC архитектура;
- 35 инструкций;
- Все команды выполняются за один цикл, кроме инструкций, переходов, выполняемых за два цикла;
- Тактовая частота:
Fтакт = 20МГц;
Tцикла = 200нс (время одного машинного цикла);
- До 8к х 14 слов FLASH памяти программ;
- До 368 х 8 байт памяти данных (ОЗУ);
- До 256 х 8 байт EEPROM памяти данных;
- Совместимость по выводам с PIC16C73B/74B/76/77;
- Система прерываний (до 14 источников);
- 8-уровневый аппаратный стек;
- Прямой, косвенный и относительный режим адресации;
- Сброс по включению питания (POR);
- Таймер сброса (PWRT) и таймер ожидания запуска генератора (OST) после включения питания;
- Сторожевой таймер WDT с собственным RC – генератором;
- Программируемая защита памяти программ;
- Режим энергосбережения SLEEP;
- Выбор параметров тактового генератора;
- Высокоскоростная, энергосберегающая CMOS FLASH/EEPROM технология;
- Полностью статическая архитектура;
- Программирование в готовом устройстве (используется два вывода микроконтроллера);
- Низковольтный режим программирования;
- Режим внутрисхемной отладки (используется два вывода микроконтроллера);
- Широкий диапазон напряжений питания от 2.0В до 5.5В;
- Повышенная нагрузочная способность портов ввода/вывода (25мА);
- Малое энергопотребление:
Iп = 0.6 мА при Uп = 3.0В и Fтакт = 4.0 МГц;
Iп = 20мкА при Uп = 3.0В и Fтакт = 32кГц;
Iп < 1 мкА в режиме энергосбережения.
Периферийные модули:
- Таймер 0: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем;
- Таймер 1: 16-разрядный таймер/счетчик с возможностью подключения внешнего резонатора;
- Таймер 2: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем и выходным делителем;
- Два модуля сравнение/захват/ШИМ (ССР):
- 16-разрядный захват (максимальная разрешающая способность 12.5нс);
- 16-разрядное сравнение (максимальная разрешающая способность 200нс);
- 10-разрядный ШИМ;
- Многоканальное 10-разрядное АЦП;
- Последовательный синхронный порт MSSP;
- Ведущий/ведомый режим SPI ведущий/ведомый режим I2C;
- Последовательный синхронно-асинхронный приемопередатчик USART с поддержкой детектирования адреса;
- Ведомый 8-разрядный параллельный порт PSP с поддержкой внешних сигналов –RD, –WR, –CS;
- Детектор пониженного напряжения (BOD) для сброса по снижению напряжения питания (BOR).
На рисунке 1.1 представлена схема расположения выводов, подключения резонатора и питания к PIC-контроллеру. Базовые сведения о назначении выводов микроконтроллера PIC16F877 сведены в таблицу 1.2.

Рисунок 1.1 Условное графическое обозначение PIC16F877
Таблица 1.2 Назначение выводов микроконтроллера PIC16F877
Обозначение вывода | Выв. | Тип I/O/P | Тип буфера | Описание |
OSC1/CLKIN | 13 | I | ST/CMOS(4) | Вход генератора / вход внешнего тактового сигнала |
OSC2/CLKOUT | 14 | O | – | Выход генератора. Подключается кварцевый или керамический резонатор. В RC режиме тактового генератора на выходе OSC2 присутствует тактовый сигнал CLKOUT, равный Fosc/4 |
–MCLR/Vpp | 1 | I/P | ST | Вход сброса микроконтроллера или вход напряжения программирования. Сброс микроконтроллера происходит при низком логическом уровне сигнала на входе. |
Двунаправленный порт ввода/вывода PORTA. | ||||
RA0/AN0 | 2 | I/O | TTL | RA0 может быть настроен как аналоговый канал 0. |
RA1/AN1 | 3 | I/O | TTL | RA1 может быть настроен как аналоговый канал 1. |
RA2/AN2A/VREF - | 4 | I/O | TTL | RA2 может быть настроен как аналоговый канал 2 или вход отрицательного опорного напряжения. |
RA3/AN3A/VREF+ | 5 | I/O | TTL | RA3 может быть настроен как аналоговый канал 3 или вход положительного опорного напряжения. |
RA4/T0CKI | 6 | I/O | ST | RA4 может использоваться в качестве входа внешнего тактового сигнала для TMR0. Выход с открытым стоком. |
RA5/-SS/AN4 | 7 | I/O | TTL | RA5 может быть настроен как аналоговый канал 4 или вход выбора микросхемы в режиме ведомого SPI. |
Двунаправленный порт ввода/вывода PORTB. PORTB имеет программно подключаемые подтягивающие резисторы на входах. | ||||
RB0/INT | 33 | I/O | TTL/ ST(1) | RB0 может использоваться в качестве входа внешних прерываний. |
RB1 | 34 | I/O | TTL | |
RB2 | 35 | I/O | TTL | |
RB3/PGM | 36 | I/O | TTL | RB3 может использоваться в качестве входа для режима низковольтного программирования. |
RB4 | 37 | I/O | TTL | Прерывания по изменению уровня входного сигнала. |
RB5 | 38 | I/O | TTL | Прерывания по изменению уровня входного сигнала. |
RB6/PGC | 39 | I/O | TTL/ ST(2) | Прерывания по изменению уровня входного сигнала или вывод для режима внутрисхемной отладки ICD. Тактовый вход в режиме программирования. |
RB7/PGD | 40 | I/O | TTL/ ST(2) | Прерывания по изменению уровня входного сигнала или вывод для режима внутрисхемной отладки ICD. Вывод данных в режиме программирования. |
Двунаправленный порт ввода/вывода PORTC. | ||||
RC0/T1OSO/T1CKI | 15 | I/O | ST | RC0 может использоваться в качестве выхода генератора TMR1 или входа внешнего тактового сигнала для ТМR1. |
RC1/T1OSI/CCP2 | 16 | I/O | ST | RC1 может использоваться в качестве входа генератора для TMR1 или вывода модуля ССР2. |
RC2/CCP1 | 17 | I/O | ST | RC2 может использоваться в качестве вывода модуля ССР1. |
RC3/SCK/SCL | 18 | I/O | ST | RC3 может использоваться в качестве входа/выхода тактового сигнала в режиме SPI и I2C. |
RC4/SDI/SDA | 23 | I/O | ST | RC4 может использоваться в качестве входа данных в режиме SPI или вход/выход данных в режиме I2C. |
RC5/SDO | 24 | I/O | ST | RC5 может использоваться в качестве выхода данных в режиме SPI. |
RC6/TX/CK | 25 | I/O | ST | RC6 может использоваться в качестве вывода передатчика USART в асинхронном режиме или вывода синхронизации USART в синхронном режиме. |
RC7/RX/DT | 26 | I/O | ST | RC7 может использоваться в качестве вывода приемника USART в асинхронном режиме или вывода данных USART в синхронном режиме. |
Продолжение таблицы 1.2 Назначение выводов микроконтроллера PIC16F877
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |


