113-2018
ИЗУЧЕНИЕ СТРУКТУРЫ КОМАНД МИКРОКОНТРОЛЛЕРА PIC16C84 НА ПРИМЕРЕ РАСЧЕТА ПОДПРОГРАММЫ ЗАДЕРЖКИ
к выполнению лабораторной работы № 6 по дисциплине «Электроника и микропроцессорная техника»
для студентов направления 12.03.04 «Биотехнические системы и технологии»
(профиль «Биотехнические и медицинские аппараты и системы») очной формы обучения
Воронеж 2018
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Воронежский государственный технический университет»
Кафедра системного анализа и управления в медицинских системах
ИЗУЧЕНИЕ СТРУКТУРЫ КОМАНД МИКРОКОНТРОЛЛЕРА PIC16C84 НА ПРИМЕРЕ РАСЧЕТА ПОДПРОГРАММЫ ЗАДЕРЖКИ
МЕ Т О Д И Ч Е С К И Е У К А З А Н И Я
квыполнению лабораторной работы № 6
по дисциплине «Электроника и микропроцессорная техника» для студентов направления
12.03.04 «Биотехнические системы и технологии» (профиль «Биотехнические и медицинские аппараты и системы»)
очной формы обучения
Воронеж 2018
УДК 621.38(07) ББК 30я7
Составители: канд. техн. наук Е. И. Новикова, д-р техн. наук, проф. О. В. Родионов
Изучение структуры команд микроконтроллера PIC16C84 на примере расчета подпрограммы задержки: методические указания к выполнению лабораторной работы № 6 по дисциплине «Электроника и микропроцессорная техника» для студентов направления 12.03.04 «Биотехнические системы и технологии» (профиль «Биотехнические и медицинские аппараты и системы») очной формы обучения / ФГБОУ ВО «Воронежский государственный технический университет»; сост.: Е. И. Новикова, О. В. Родионов. – Воронеж : Изд-во ВГТУ, 2018. – 19 с.
Методические указания предназначены для подготовки, выполнения и защиты лабораторной работы № 6 по дисциплине «Электроника и микропроцессорная техника».
Предназначены для студентов 3-го курса направления 12.03.04 «Биотехнические системы и технологии».
Ил. 7. Табл. 1. Библиогр.: 1 назв.
УДК 621.38(07)
ББК 30я7
Рецензент – Е. Н. Коровин, д-р техн. наук, проф. кафедры САУМС ВГТУ
Печатается по решению учебно-методического совета Воронежского государственного технического университета
Лабораторная работа № 6 ИЗУЧЕНИЕ СТРУКТУРЫ КОМАНД МИКРОКОНТРОЛЛЕРА
PIC16C84 НА ПРИМЕРЕ РАСЧЕТА ПОДПРОГРАММЫ ЗАДЕРЖКИ
1.ЦЕЛЬ РАБОТЫ
Целью лабораторной работы является изучение структуры команд микроконтроллера PIC16C84 посредством расчета и создания подпрограммы задержки.
После выполнения лабораторной работы студент должен знать структуру и общий формат команд микроконтроллера PIC16C84, уметь реализовывать посредством предложенного алгоритма подпрограмму задержки.
2.ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ
2.1.Архитектура команд микроконтроллера PIC16С84
Все команды микроконтроллеров PIC16C84 – однословные (14разрядные). Это обеспечивается за счет разделения шин доступа к памяти программ и памяти данных. 14-разрядная шина доступа к памяти программ позволяет выполнить выборку 14-разрядной команды за один машинный цикл микроконтроллера.
|
TCY0 |
TCY1 |
TCY2 |
TCY3 |
TCY4 |
TCY5 |
|
1. MOVLW 55h |
|
|
|
|
|
|
|
Выборка 1 |
Выполн. 1 |
|
|
|
|
|
|
2. MOVWF PORTB |
|
|
|
|
|
|
|
|
Выборка 2 |
Выполн. 2 |
|
|
|
|
|
3. CALL SUB_1 |
|
|
|
|
|
|
|
|
|
Выборка 3 |
Выполн. 3 |
|
|
||
|
|
|
|
|
|
||
4. BSF PORTA,3 (Выполняется NOP) |
|
Выборка 4 |
Удаление |
|
|||
5. Инструкция по адресу SUB_1 |
|
|
|
|
|
|
|
|
|
|
|
Выбор. SUB_1 |
Выполн. SUB_1 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выбор. SUB_1+1 |
|
|
|
|
|
|
|
|
Рис. 1. Выборка и выполнение команд
Во всех микроконтроллерах PIC среднего семейства входной тактовый сигнал внутренней схемой микроконтроллера разделяется на четыре последовательных неперекрывающихся такта Q1, Q2, Q3 и Q4. Совокупность четырех тактов называется машинным циклом.
3
Обработка команды состоит из двух этапов:
1)выборка из памяти;
2)выполнение команды.
Она осуществляется за четыре такта Q1, Q2, Q3 и Q4. Выборка следующей команды и выполнение текущей совмещены по времени. Таким образом, выполнение команды происходит за один машинный цикл. Такой подход называется конвейерной обработкой команд.
Если команда изменяет счетчик команд PC (команды ветвления, например GOTO), то необходимо два машинных цикла для выполнения команды (рис. 1). В такте Q1 цикл выборки начинается с увеличения программного счетчика, а в цикле выполнения выбранная команда защелкивается в регистр команд. В течение тактов Q2, Q3 и Q4 происходит декодирование и выполнение команды. В такте Q3 – считывается память данных (чтение операнда), а запись происходит в такте Q4.
На рис. 1 показаны две стадии конвейерной обработки команд для представленной последовательности. В цикле TCY0 происходит выборка первой команды из памяти программ. В цикле TCY1 первая команда исполняется, а вторая команда выбирается из памяти программ. В течение цикла TCY2 вторая команда исполняется, а третья выбирается из памяти программ. В цикле TCY3 происходит выборка четвертой команды и выполняется команда третья команда (CALL SUB_1). Когда завершается выполнение третьей команды CPU загружает адрес четвертой команды в вершину стека и изменяет счетчик команд PC на адрес SUB_1. Это означает, что команда, загруженная в цикле TCY3, должна быть удалена из конвейера. В течение цикла TCY4 четвертая команда удаляется из конвейера (выполняется пустой цикл – NOP) и происходит выборка команды по адресу SUB_1. В цикле TCY5 выполняется команда пять и выбирается из памяти программ команда с адресом SUB_1+1.
Таким образом, цикл выполнения команды (рис. 2) состоит из четырех тактов Q1–Q4, в каждом из которых производятся различные, заранее определенные действия:
Q1 – выборка определенной команды из памяти программ и
еедекодирование или вынужденный NOP,
Q2 – выборка данных или NOP,
Q3 – выполнение команды и обработка данных,
Q4 – запись данных или NOP.
4