Изучение архитектуры однокристального микроконтроллера pic16f84

Цель работы

1 Изучить назначение, структурную схему, организацию памяти программ и памяти данных, а также систему команд микроконтроллера PIC16F84.

2 Изучить назначение и программирование регистров общего назначения и специальных регистров микроконтроллера PIC16F84.

3 Изучить порты ввода/вывода и специальные функции микроконтроллера PIC16F84.

4 Получить практические навыки работы со справочной литературой.

Подготовка к выполнению работы

1 Повторить по [1] или [4] назначение, структурную схему, организацию памяти программ и памяти данных, а также систему команд микроконтроллера PIC16F84.

2 Повторить по [1] или [4] назначение выводов микроконтроллера PIC16F84.

Вопросы для самоконтроля

1 Укажите особенности микроконтроллеров по сравнению с универсальными микропроцессорными системами.

2 Поясните суть и достоинства гарвардской архитектуры, использованной в микроконтроллере PIC16F84.

3 Укажите емкость памяти программ и разрядность команд в микроконтроллере PIC16F84.

4 Поясните процесс считывания и выполнения команд в микроконтроллере PIC16F84.

5 Поясните принцип организации и укажите емкость памяти данных в микроконтроллере PIC16F84.

6 Укажите назначение программного счетчика PC, регистра команд, рабочего регистра W, регистра состояния STATUS в микроконтроллере PIC16F84.

7 Укажите какие операции выполняет микроконтроллер PIC16F84 и их общее количество.

8 Укажите форматы команд работы с байтами, битами и константами.

9 Укажите, какие операции выполняют следующие команды: MOVWF TMRO; BCF STATUS,RPO; ADDLW 08h.

Порядок выполнения работы

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля.

2 Выполнить индивидуальное задание (таблица 84). Изучить назначение и программирование заданных узлов либо режимов работы микроконтроллера PIC16F84 (номер варианта определяется номером учащегося в списке учебного журнала).

Таблица 84 – Исходные данные для индивидуального задания

Номер варианта Наименование узла микроконтроллера или режима работы Команды
Регистр состояния STATUS. Режим пониженного энергопотребления SLEEP BSF STATUS, RPO
Регистр OPTION BCF OPTION, PSA
Регистр INTCON BCF INTCON, INTE
Счетчик команд PC, стек и косвенная адресация данных MOVLW 0Fh; ADDWF PCL
PORT A MOVLW 0Ch; MOVWF TRISA
PORT B MOVLW F0h; MOVWF TRISB
Модуль таймера MOVLW 20h; MOVWF OPTION
Регистр CONFIG и генераторы BCF STATUS, PRO
Регистр CONFIG и схемы сброса-запуска CLRWDT; SLEEP
Сторожевой таймер WDT. Прерывания BSF INTCON,TOIE


2.1 Выбрать из таблицы 84 узел либо режим работы микроконтроллера PIC16F84 для заданного варианта.

2.2 Изучить по [4] заданный узел микроконтроллера PIC16F84, указать его назначение. Зарисовать формат регистра либо другого узла и указать назначение разрядов.

2.3 Изучить по [4] и описать назначение и реализацию заданного режима. Указать назначение входных и выходных сигналов.

2.4 Расшифровать заданные в таблице 84 команды. Указать их тип и выполняемую операцию.

3 Ответить на контрольные вопросы.

4 Оформить отчет и сдать зачет.

Содержание отчета

Отчет должен содержать:

1 Наименование и цель работы.

2 Выполненное индивидуальное задание (условие в виде таблицы и ответы на пункты 2.2 …2.4).

3 Ответы на контрольные вопросы.

Контрольные вопросы

1 Поясните последовательность включения питания микроконтроллера PIC16F84.

2 Укажите в каком случае разряды порта ввода-вывода программируются как входы?

3 Поясните, как обратиться к странице 0 памяти данных.

4 Поясните, когда происходит прерывание от таймера/счетчика TMRO и как это прерывание может быть запрещено.

5 Поясните, как происходит вход в режим пониженного энергопотребления SLEEP и какие события приводят к выходу из этого режима.

6 Поясните назначение и принцип работы сторожевого таймера WDT.

Требования к знаниям и умениям учащихся

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

Должны уметь:

- составлять последовательность команд для программирования регистров специальных функций;

- составлять программы для инициализации портов.

ЛИТЕРАТУРА

1 Дружинин, А. А. PIC и его команда. / А. А. Дружинин. – Рига : MEMEX BALTIC, 1996. – 129 с.

2 Калабеков, Б. А. Цифровые устройства и микропроцессорные системы : учеб. для техникумов связи / Б. А. Калабеков. – М. : Горячая линия – Телеком, 2002. – 336с.

3 Угрюмов, Е. П. Цифровая схемотехника : учеб. пособие для вузов. – 2-е изд., перераб. и доп. / Е. П. Угрюмов. – Спб. : БХВ – Петербург, 2005. – 800с.

4 Цифровые и микропроцессорные устройства : конспект лекций для учащихся специальностей 2-45 01 03 – Сети телекоммуникации, 2-45 01 02 – Системы радиосвязи, радиовещания и телевидения. В 5 ч. Ч. 4: Основы микропроцессорной техники; Ч.5: Принципы организации однокристальных микроконтроллеров. Организация памяти микропроцессорных систем / сост. В. И. Богородов. – Минск : ВГКС, 2009. – Ч.4 – 63с; Ч5 – 85с.

ПРИЛОЖЕНИЕ А

(справочное)

ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ НА СИМУЛЯТОРЕ SIM8085 MICROPROCESSOR SIMULATOR

Эмулятор Sim8085 Microprocessor Simulator предназначен для симуляции работы микропроцессора Intel 8085A (отечественным аналогом является микропроцессор К1821BM85A). Рассмотрим работу эмулятора Sim8085 Microprocessor Simulator.

После запуска программы следует выбрать вкладку File-New, и на экране появится рабочая область или окно программы (рисунок А 1):

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.1 – Окно программы эмулятора Sim8085 Microprocessor Simulator

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

Для упрощения перевода из одной системы счисления в другую в эмулятор вшит конвертер (рисунок А.2), который можно вызвать: Tools-Base Converter.

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.2 – Окно конвертера

Для преобразования числа из шестнадцатеричной системы счисления в десятичную необходимо просто вписать число, которое необходимо перевести, в поле <<HEX>> и десятичное число автоматически появится в поле <<DEC>>. Например из рисунка А.2 видно, что для ввода шестнадцатеричного числа 2000Н нам необходимо перевести его в десятичное 8192 и записать в окно программы.

Также одной из особенностей эмулятора является то, что мы вводим команды мнемоническими обозначениями.

Как видно из рисунка А.3, мы вводим команду непосредственной загрузки регистра D числом 254(10)=FE(16) таким образом:

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.3 – Ввод команды непосредственной загрузки регистра D числом 254(10)

Для запуска и отладки нашей программы в эмуляторе есть отладчик (рисунок А.4), который вызывается Project-Debug. В данном окне мы можем проследить за выполнением программы. В эмуляторе предусмотрен запуск программ как целиком (Project-Run), так и по отдельным операциям (Project-Step Over). В окне отладчика отображаются значения всех регистров, указателя стека, счетчика команд, а также всех признаков результата. Для выхода из режима отладчика необходимо выбрать (Project-Terminate).

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.4 – Окно отладчика эмулятора Sim8085 Microprocessor Simulator

Рассмотрим работу отладчика на примере непосредственной загрузки регистра D числом 254(10)=FE(16) (рисунок А.5):

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.5 – Пример работы отладчика эмулятора Sim8085 Microprocessor Simulator

В окне отладчика мы видим, что по адресу 2000h теперь записана команда непосредственной загрузки регистра D числом 254(10)=FE(16). Заметим, что в окне отладчика оно представлено уже в шестнадцатеричной форме, в отличие от окна ввода программы.

В стандартных настройках программы начальным адресом программы является 2000Н, но в настройках отладчика (Options-Debugger Options) его можно изменить (рисунок А.6).

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.6 – Окно настроек отладчика эмулятора Sim8085 Microprocessor Simulator

Рассмотрим работу эмулятора на примере программы, которая реализует подсчет количества единиц в байте (рисунок А.7).

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.7 – Пример программы, реализующей подсчёт количества единиц в байте.

Вводим программу (как видно, все числа предварительно переведены в десятичную систему счисления). В качестве исходного числа мы загружаем FEh (254). Переходим в режим отладчика и выполняем программу (рисунок А.8).

изучение архитектуры однокристального микроконтроллера pic16f84 - student2.ru

Рисунок А.8 – Окно отладчика при выполнении программы, реализующей подсчет количества единиц в байте

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

СОДЕРЖАНИЕ

Введение. 3

Лабораторная работа №12

Составление линейных и циклических программ на

языке Ассемблер. 3

Лабораторная работа №13

Обучение работе на учебном микропроцессорном

комплекте. 10

Лабораторная работа №14

Регистры микропроцессора. Команды загрузки

регистров. 22

Лабораторная работа №15

Методы адресации памяти. Команды работы с

памятью.. 30

Лабораторная работа №16

Арифметические команды.. 40

Лабораторная работа №17

Логические команды и команды сдвига. 51

Лабораторная работа №18

Команды безусловного и условных переходов. 64

Лабораторная работа №19

Команды манипуляции стеком.

вызов подпрограммы и возврат. 74

Лабораторная работа №20

Изучение архитектуры однокристального микроконтроллера PIC16F84 72

Литература………………………………………………………………………. 88

Приложение А

Пример выполнения задания на эмуляторе Sim8085 Micro–

processor Simulator…………………………………………………………….89

Учебное издание

Наши рекомендации