Файл: Архитектура и основы программирования однокристальных микроконтроллеров.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.11.2023

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

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство образования Республики Беларусь Учреждение образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра радиотехнических систем


В.Н. Левкович

АРХИТЕКТУРА И ОСНОВЫ ПРОГРАММИРОВАНИЯ ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ PIC16F84


Методическое пособие

к лабораторным работам и курсовому проектированию

по дисциплине “Вычислительные и микропроцессорные устройства» для студентов специальностей 39 01 02 «Радиоэлектронные системы» и

39 01 01 «Радиотехника» БГУИР всех форм обучения

Минск 2002
УДК681.325.5-181.48(075.8)ББК32.973.26-04я 73Л37ЛевковичВ.Н.Л 37АрхитектураиосновыпрограммированияоднокристальныхмикроконтроллеровсемействаPIC16F84:Метод.пособиеклаб.работамикурсовомупроектированиюподисциплине“Вычислительныеимикропроцессорные устройства» для студентов спец. 39 0102«Радиоэлектронныесистемы» и39 01 01«Радиотехника» БГУИРвсех формобучения/В.Н.Левкович.–Мн.:БГУИР,2002.-67с.:ил.ISBN985-444-423-6.В методическом пособии рассмотрены структурная схема, организацияпамятипрограммипамятиданных,портыввода/вывода,специальныефункции,атакжесистемакомандоднокристальныхмикроконтроллеровсемействаPIC16F84иосновныеправиласоставленияпрограммнаязыкеАссемблер.Пособиепредназначенодляначинающихизучениетехнологиипроектированияустройств намикроконтроллерах и поэтому содержит лишь
основныесведенияпоуказаннымвопросам.УДК681.325.5-181.48(075.8)ББК32.973.26-04я73ISBN985-444-423-6©В.Н.Левкович,2002©БГУИР,2002

ВВЕДЕНИЕ

Однокристальные микроконтроллеры (ОМК) содержат в одном корпусеинтегральноймикросхемывсефункциональныеблокиэлектроннойвычислительноймашины:арифметико-логическоеустройство(АЛУ),устройство управления (УУ), операционные регистры, управляющие регистры,памятьпрограмм,памятьданных,портыввода/вывода.Кромеэтого,накристаллемикросхемы часто размещают и периферийныеустройства,такие,каканалого-цифровойпреобразователь(АЦП),цифроаналоговыйпреобразователь(ЦАП),компараторы,таймеры,энергонезависимаяпамять,драйверы стандартных последовательных интерфейсов и др. Однокристальныемикроконтроллерыпредназначеныдляработыпооднойпрограмме,записываемой в энергонезависимую память программ и не меняемой в течениевсегоциклаэксплуатации.Они,какправило,являютсявстроеннымиваппаратуру вычислительными машинами и выполняют функции управления, атакжеформированияи обработкисигналови информации.В настоящее времяОМК производятнесколько десятков фирм. Срединих микроконтроллеры PICmicro американской фирмы Microchip TechnologyInc. отличаются высокой производительностью, низким энергопотреблением,гибкойиразвитойархитектурой,широкимифункциональнымивозможностями,развитойпериферией,простотойвосвоении,низкойстоимостью.Взависимостиотпроизводительностиифункциональныхвозможностей PICmicro подразделяются на семейства: PIC12, PIC16, PIC17 и

PIC18.Самыепростыемоделивыпускаютсяв8-выводных,асложные–в80-выводныхкорпусах.Приэтомвсесемействаимеютобщуюбазовуюархитектуру и систему команд, чтоупрощает их изучение. Такое сочетаниепотребительских свойств сделало PICmicro одними из самых популярных ОМКсреди разработчиковрадиоэлектроннойаппаратуры.МодельPIC16F84являетсяпочтиидеальнойдляучебныхцелей.Онапроста, но при этом несет в себе важнейшие черты всех семейств, что облегчаетосвоениеновыхмоделеймикроконтроллеров.Наличиевстроеннойэлектрическиперепрограммируемойпамятипрограммпозволяетлегкотестировать разрабатываемые схемыипрограммы. Обучаемому может бытьпредоставленавозможностьпройтиполныйпутьотпостановкизадачидоработающей конструкции.

1. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА PIC16F84


    1. Общие сведения
PIC16F84 разработан в соответствии с модифицированной гарвардскойархитектурой и изготавливается по КМОП-технологии. Он имеетвнутреннююэнергонезависимуюэлектрическиперепрограммируемуюпамятьпрограмм(EEPROM)емкостью102414-разрядныхслов,8-битнуюдлинумашинногословаи64-байтовуювнутреннююпамятьданных.Системакомандвключает35 инструкций.Все команды имеют длину в одно слово шириной 14 бит иисполняются за один цикл (400 нс при тактовой частоте 10 МГц), кроме командперехода,которыевыполняютсязадвацикла(800нс).PIC16F84имеетпрерывание,срабатывающееотчетырехисточников,ивосьмиуровневыйаппаратныйстек.Перифериявключаетвсебя8-битныйтаймер/счетчикс8-битнымпрограммируемымпредварительнымделителем(фактически16-битный таймер), 64 8-битных энергонезависимых ячеек памяти данных и 13линийдвунаправленноговвода/вывода.Высокаянагрузочнаяспособность(25 мА максимальный втекающий ток, 20 мА максимальный вытекающий ток)линий ввода/вывода упрощает внешние драйверы, за счет чего уменьшаетсяобщаястоимостьразрабатываемойсистемы.Микроконтроллерспособенработатьвширокомдиапазонетактовыхчастот–от0до10МГц,широкомдиапазонепитающихнапряжений–от2до6 В, в широком температурном диапазоне – от –40 до +125 °С. Он отличаетсятакженизкимэнергопотреблением:3мАпринапряжении

питания 5 В и тактовой частоте 4 МГц, 50 мкА при питании 2 В и тактовой частоте 32 кГц.

Разработки на базе PIC-контроллеров поддерживаются ассемблером, программным симулятором, внутрисхемным эмулятором и программатором.

Микроконтроллер PIC16F84 подходит для широкого спектра применений: от схем высокоскоростного управления электрическими

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

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

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