- •Ответы по дисциплине мпт (2015 г.)
- •1. Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микрокомпьютер, контроллер, микроконтроллер. Принципы построения микропроцессорных систем.
- •2. Архитектура микропроцессора: архитектура со сложной системой команд (cisc-процессоры), архитектура с упрощенной системой команд (risc-процессоры), принстонская и гарвардская архитектуры.
- •3. Структура микропроцессорной системы и основные режимы ее работы – выполнение основной программы, обслуживание прерываний, прямой доступ к памяти.
- •4. Классификация микропроцессоров: универсальные и специализированные, цифровые сигнальные процессоры и микроконтроллеры
- •5. Классификация и структура микроконтроллеров (мк). Процессорное ядро мк, его основные характеристики.
- •6. Типы памяти микроконтроллеров: память программ, память данных, регистры.
- •7. Однокристальные микроконтроллеры семейства pic: состав и общая характеристика. Микроконтроллер pic16f84a: основные параметры, внутренняя структура, назначение выводов.
- •8. Микроконтроллер pic16f84a: организация памяти программ и данных, портов ввода/вывода.
- •9. Применение языка Си для разработки программ микроконтроллерных систем. Интегрированная среда mikroC pro для pic-микроконтроллеров.
- •10. Представление информации в языке Си: имена, типы данных, переменные и константы, массивы и строки.
- •11. Арифметические операции в языке mikroC. Виды операций, примеры их использования в программах.
- •12. Операции отношения и логические в языке mikroC. Виды операций, примеры их использования в программах.
- •13. Поразрядные операции в языке mikroC. Виды операций, примеры их использования в программах.
- •14. Операторы выбора if и switch в языке mikroC. Выполняемые функции, примеры их использования в программах.
- •15. Операторы цикла языка mikroC: for, while, do … while. Выполняемые функции, примеры использования в программах.
- •16. Операторы перехода языка mikroC: break, continue, goto. Выполняемые функции, промеры использования в программах.
- •17. Функции языка mikroC: определение и прототипы.
- •18. Управление отдельными разрядами регистров pic-микроконтроллеров в языке mikroC. Встроенные функции формирования временных задержек компилятора mikroC pro for pic.
- •19. Программирование на mikroC типовых процедур управления для pic-микроконтроллеров: управление светодиодом, формирование периодических сигналов, опрос контактов переключателя.
- •20. Средства аналогового ввода/вывода микроконтроллеров: назначение, принцип построения аналого-цифрового преобразователя (ацп). Модуль ацп в pic-микроконтроллерах.
- •21. Микроконтроллеры семейства avr фирмы Atmel: общая характеристика, внутренняя структура
- •22. Интегрированная среда разработки для avr-микроконтроллеров mikroC pro for avr. Программирование параллельного ввода/вывода данных в avr-микроконтроллерах
- •23. Программирование на mikroC для avr-микроконтроллеров процедур управления отдельными разрядами портов, опроса контактов переключателей
- •24. Интерфейсы микропроцессорных систем, классификация и принципы построения. Интерфейсы параллельные и последовательные, синхронные и асинхронные
- •25. Последовательный асинхронный интерфейс rs-232. Назначение, форматы передачи данных, основные технические характеристики
- •26. Последовательные асинхронные интерфейсы rs-422 и rs-485. Назначение, форматы передачи данных, основные технические характеристики
- •27. Последовательный синхронный интерфейс spi. Назначение, форматы передачи данных, основные технические характеристики
- •28. Интерфейсная шина i2c. Назначение, форматы передачи данных, основные технические характеристики
- •29. Интерфейсная шина can. Назначение, форматы передачи данных, основные технические характеристики
- •30. Общие принципы и основные этапы разработки микроконтроллерных систем. Разработка и отладка аппаратных средств и программного обеспечения. Методы совместной отладки аппаратных и программных средств
7. Однокристальные микроконтроллеры семейства pic: состав и общая характеристика. Микроконтроллер pic16f84a: основные параметры, внутренняя структура, назначение выводов.
Микроконтроллеры семейств PIC (Peripheral Interface Controller) компании Microchip объединяют все передовые технологии микроконтроллеров: электрически программируемую пользователем память программ, минимальное энергопотребление, высокую производительность, хорошо развитую RISC-архитектуру, функциональную законченность и минимальные размеры. Широкая номенклатура изделий обеспечивает использование микроконтроллеров в устройствах, предназначенных для разнообразных сфер применения.
В настоящее время компания Microchip выпускает пять основных семейств 8-разрядных RISC-микроконтроллеров, совместимых снизу вверх по программному коду:
PIC12CXXX – семейство микроконтроллеров, выпускаемых в миниатюрном 8-выводном исполнении. Эти микроконтроллеры выпускаются как с 12-разрядной (33 команды), так и с 14-разрядной (35 команд) системой команд. Содержат встроенный тактовый генератор, таймер/счетчик, сторожевой таймер, схему управления прерываниями. В составе семейства есть микроконтроллеры со встроенным 8-разрядным четырехканальным АЦП;
PIC16C5X – базовое семейство микроконтроллеров с 12-разрядными командами (33 команды), выпускаемое в 18-, 20- и 28-выводных корпусах. Представляют собой простые недорогие микроконтроллеры с минимальной периферией;
PIC16CXXX – семейство микроконтроллеров среднего уровня с 14-разрядными командами (35 команд). Наиболее многочисленное семейство, объединяющее микроконтроллеры с разнообразными периферийными устройствами, в число которых входят аналоговые компараторы, аналогово-цифровые преобразователи, контроллеры последовательных интерфейсов, таймеры/счетчики, широтно-импульсные модуляторы, сторожевые таймеры, и так далее;
PIC17CXXX – семейство высокопроизводительных микроконтроллеров с расширенной системой команд 16-разрядного формата (58 команд), работающие на частоте до 33 МГц, с объемом памяти программ до 16 Кслов. Кроме обширной периферии, 16-уровневого аппаратного стека и векторной системы прерываний, почти все микроконтроллеры этого семейства имеют встроенный аппаратный умножитель 8х8, выполняющий операцию умножения за один машинный цикл.
PIC18CXXX – семейство высокопроизводительных микроконтроллеров с расширенной системой команд 16-разрядного формата (75 команд) и встроенным 10-разрядным АЦП, работающие на частоте до 40 МГц. Содержат 31-уровневый аппаратный стек, встроенную память команд до 32 Кслов и способны адресовать до 4 Кбайт памяти данных и до 2 Мбайт внешней памяти программ. Расширенное RISC-ядро микроконтроллеров данного семейства оптимизировано под использование нового Си-компилятора.
Большинство PIC-контроллеров выпускаются с однократно программируемой памятью программ (OTP-ROM). Для целей отладки предлагаются более дорогие версии с ультрафиолетовым стиранием и Flash-памятью. Полный список выпускаемых модификаций PIC-контроллеров включает порядка пятисот наименований. Поэтому продукция компании перекрывает почти весь диапазон применений 8-разрядных микроконтроллеров.
Наиболее распространенными семействами PIC-контроллеров являются PIC16CXXX.
Типичным представителем микроконтроллеров семейства PIC16CXXX является PIC16F84, который в настоящее время выпускается с маркировкой PIC16F84A.
Микроконтроллер PIC16F84A имеет Гарвардскую архитектуру с RISC-процессором и обладает следующими основными характеристиками:
используются только 35 простых команд;
рабочая частота от 0 до 20 МГц;
1024 × 14 бит память программ, выполненная на основе электрически перепрограммируемой флэш-памяти;
15 восьмиразрядных регистров специальных функций (РСФ);
восьмиуровневый аппаратный стек;
68 восьмиразрядных регистров общего назначения (РОН);
четыре источника прерывания: внешний вход RB0/INT, переполнение таймера TMR0, изменение сигналов на линиях порта B, завершение записи данных в память EEPROM;
64 × 8 бит электрически перепрограммируемая EEPROM память данных;
8-битный таймер/счетчик TMR0 с 8-битным программируемым предварительным делителем.
Микроконтроллер PIC16F84A обладает развитыми возможностями ввода/вывода:
13 линий ввода/вывода с индивидуальной установкой направления обмена;
выходной ток до 25 мА, достаточный для управления светодиодами.
Специализированные микроконтроллерные функции включают следующие возможности:
автоматический сброс при включении (Power-on-Reset);
таймер включения при сбросе (Power-up-Timer);
таймер запуска генератора (Oscillator Start-up Timer);
сторожевой (Watchdog) таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;
бит секретности для защиты кода;
экономичный режим SLEEP;
выбираемые пользователем биты для установки режима возбуждения встроенного генератора;
встроенное устройство для программирования Flash/EEPROM памяти программ и данных с использованием только двух выводов.
КМОП технология обеспечивает PIC16F84A дополнительные преимущества:
статический принцип работы;
широкий диапазон напряжений питания: от 2,0 до 6,0 В;
низкое энергопотребление: менее 2 мА при 5 В и 4 МГц, менее 1 мкА для SLEEP-режима при 2 В.
Архитектура PIC16F84A основана на принципе раздельных шин и областей памяти для данных и команд (Гарвардская архитектура). Шина данных и память данных (ОЗУ) имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит, что обеспечивает выборку 14-разрядной команды за один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один машинный цикл, исключая команды передачи управления.
Микроконтроллер содержит 8-разрядное АЛУ и рабочий регистр W. АЛУ может выполнять операции сложения, вычитания, сдвига и логические операции. В зависимости от результата операции АЛУ может изменять значения битов регистра STATUS (флагов): переноса C (Carry), десятичного переноса DC (Digit carry) и нуля Z (Zero).
Микроконтроллер PIC16F84A выпускается в 18-выводном пластмассовом корпусе типа DIP-18. Его условное графическое обозначение на схемах имеет следующий вид:
Назначение выводов следующее:
OSC1/CLKIN – вход внутреннего тактового генератора, RC-цепочки или вход внешнего тактового сигнала.
OSC2/CLKOUT – вход внутреннего тактового генератора. В RC-режиме – выход ¼ частоты генератора.
- сигнал сброса микроконтроллера.
RA0, RA1, RA2, RA3, RA4 – двунаправленные выводы порта PORTA. Вывод RA4/T0CKI может иметь альтернативную функцию: тактовый вход таймера/счетчика TMR0.
RB0 – RB7 – двунаправленные выводы порта PORTB. Вывод RB0/INT может иметь альтернативную функцию: вход внешнего запроса прерывания.
UDD – положительное напряжение питания.
USS – общий провод (земля).
