Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
1.84 Mб
Скачать

смотреть работу программы в соответствии с указаниями, содержа-

щимися в пункте «Задание»;

изменить программу, приведенную в качестве примера, ре-

шив в ней две задачи согласно варианту задания;

сделать вывод по проделанной работе;

оформить отчет и сдать его преподавателю.

5. ЛАБОРАТОРНОЕ ЗАДАНИЕ

Создайте проект. Напишите в исходный файл проекта программу приведенную в качестве примера.

Проассемблируйте программу (клавиша <F10>). В окне Build results не должно быть никаких сообщений о ошибках. Откройте окно

Program Memory Window (Window > Program Memory). В нем вы сможете увидеть расположение программы в ПЗУ контроллера.

Произведите сброс симулятора клавишей <F6>. После этого строка goto Begin выделится темной линией. Это произойдет как в исходном тексте программы, так и в окне Program Memory Window.

Нажмите <F7> для выполнения команды.

Создайте окно просмотра для этого в меню выберите Window >

Watch Window > New Window…. Добавьте в окно просмотра следующие регистры STATUS, CNTRPORT, WREG, trisa, trisb,

DATAPORT. установите отображение значений регистров в двоичной форме (кнопка Properties). Выполните команду посмотрите изменилось ли значение в записанное в регистре STATUS, объясните почему произошли изменения. Последовательно выполняя команды проследите за всеми изменениями значений регистров, выясните,

соответствуют ли эти изменения командам, после которых они происходят.

Примечание. Измененный регистр в окне Watch-1 выделяется

39

красным цветом.

Измените программу, приведенную в качестве примера, решив в ней две задачи согласно варианту вашего задания табл. 3.

 

 

 

 

 

 

 

 

 

Таблица 3

 

 

Задачи для самостоятельного решения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

 

 

Задача 1

 

 

 

Задача 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

 

 

 

3

 

 

 

 

1

Вычесть

значение

рабочего

регистрПри

помощи

команды

 

 

WREG из регистра SCRATCH, предвари-XORWF проверьте, равен ли

 

тельно записав в SCRATCH 0FFh, а

вSCRATCH значению FEh.

 

WREG 01h. Результат записать в регистр

 

 

 

 

 

 

 

DATAPORT.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Прибавить

значение

рабочего

регистрПри

помощи

команды

 

WREG равное 01h к значению регистраXORLW проинвертируйте ре-

 

SCRATCH равное 02h. Результат запи-гистр WREG.

 

 

 

 

 

сать в регистр DATAPORT.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

Уменьшить

значение

регистраЗагрузите

010h

в

регистр

 

DATAPORT на 1. Результат должен бытьWREG. Посредством

коман-

 

помещен обратно в заданный регистр.ды IORLW установите в еди-

 

Предварительно

установите

значениеницу его 0-й и 3-й бит. Ре-

 

регистра DATAPORT равным 01h.

зультат

 

запишите

в

порт

 

 

 

 

 

 

DATAPORT.

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Увеличить

 

значение

регистраСдвиньте

вправо

через

бит

 

DATAPORT на 1. Результат должен бытьCARRY регистр SCRATCH.

 

помещен обратно в

заданный

регистр.Предварительно

установите

 

Предварительно очистите DATAPORT.

значение регистра SCRATCH

 

 

 

 

 

 

равным 05h и очистите бит

 

 

 

 

 

 

0(CARRY) в регистр STATUS.

5Произведите операцию логическогоЗагрузите SCRATCH 0FFh в ИЛИ над регистрами SCRATCH ирегистр WREG. Посредством DATAPORT. Значение SCRATCH – D5h,команды ANDLW обнулите значение DATAPORT – EAh. Получен-все кроме 5 бита регистра. ный результат запишите в регистрРезультат запишите в порт

WREG. DATAPORT.

40

Продолжение табл. 3

1

 

 

 

2

 

 

 

 

 

3

 

 

 

6

Сбросьте в ноль 0-й и 2-й бит регистраСдвиньте

влево

через

бит

 

DATAPORT

при

помощи

командыCARRY регистр DATAPORT.

 

ANDWF.

 

 

 

 

Предварительно

очистите

 

 

 

 

 

 

бит 0(CARRY) в регистр

 

 

 

 

 

 

STATUS.

 

 

 

 

 

 

 

 

 

 

7

Проинвертируте

 

биты

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

 

DATAPORT предварительно записав вбита BCF и установки бита

 

него 01010101.

 

 

 

BSF, установите первый по-

 

 

 

 

 

 

лубайт

регистра

DATAPORT

 

 

 

 

 

 

равным Fh, а второй 0h.

 

 

 

 

 

8

Поменяйте местами полубайты в реги-Уменьшить

значение

реги-

 

стре DATAPORT, предварительно запи-стра DATAPORT на 1, по-

 

сав в него 00001111. Результат запишитесредством

команды

DECF,

 

в рабочий регистр WREG.

 

результат

 

записать

в

 

 

 

 

 

 

DATAPORT.

 

 

 

 

 

 

 

 

 

9

Уменьшить

 

значение

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

 

DATAPORT на 1. Результат должен бытьбита BCF и

установки бита

 

помещен обратно в заданный регистр.BSF, установите первый по-

 

Предварительно

установите

значениелубайт

регистра

DATAPORT

 

регистра DATAPORT равным 25.

равным 3, а второй 5.

 

 

 

 

 

 

 

 

10

Вычесть значение

рабочего

регистрСдвиньте

вправо

через бит

 

WREG из регистра SCRATCH, предвари-CARRY регистр SCRATCH.

 

тельно записав

в

SCRATCH

10, а

вПредварительно

очистите

 

WREG 01h. Результат записать в регистрбит

0(CARRY)

в

регистр

 

DATAPORT.

 

 

 

 

STATUS.

 

 

 

 

 

 

 

 

 

 

 

 

11

Прибавить

значение рабочего

регистрЗагрузите

0FFh

в

регистр

 

WREG равное 01011010 к значению ре-WREG. Посредством

коман-

 

гистра SCRATCH равное 01h. Результатды

ANDLW

обнулите

все

 

записать в регистр SCRATCH.

 

кроме 5 бита регистра. Ре-

 

 

 

 

 

 

зультат

запишите

в

порт

 

 

 

 

 

 

DATAPORT.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

41

6. КОНТРОЛЬНЫЕ ВОПРОСЫ

1 Для чего предназначена интегрированная среда разработки

MPLAB?

2 Перечислите и охарактеризуйте основные элементы интер-

фейса интегрированной среды разработки.

3Что такое проект и какую структуру он имеет?

4Какие файлы входят в состав проекта?

5Что такое исходный файл проекта?

6Как настроить параметры проекта?

7В чем заключается особенность структуры PIC контролера,

перечислите ее достоинства и недостатки?

8На какие группы можно разделить регистры PIC?

9Перечислите регистры, входящие в состав групп.

10С какими типами тактовых генераторов может работать PIC

контролер?

11На какие группы можно разделить команды микроконтроллера PIC.

12Сколько машинных циклов необходимо для выполнения команд условия?

13Чем команда отличается от псевдокоманды?

14Для чего предназначен программный симулятор MPLAB-Sim

и каковы его возможности?

15Из каких секций состоит программа для микроконтроллера

PIC 16С84?

16Для чего в заголовке программы производится сопоставление имен регистров с их адресами?

17Что означает директива ассемблера "$"?

42

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Новикова Е.И. Основы электроники и микропроцессорной техники: учеб. пособие / Е.И. Новикова, О.В. Родионов. Воронеж:

ФГБОУ ВПО «Воронежский государственный технический универ-

ситет», 2012. 178 с.

 

СОДЕРЖАНИЕ

 

1.

Цель лабораторной работы

1

2.

Состав используемого оборудования

1

3.

Теоретическое введение

1

4.

Методические указания по выполнению лабораторной работе

38

5.

Лабораторное задание

39

6.

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

42

Библиографический список

43

43

МЕТОДИЧЕСКИЕ ИЗДАНИЯ

к выполнению лабораторной работы № 5 по дисциплине «Электроника и микропроцессорная техника»

для студентов направления 12.03.04 «Биотехнические системы и технологии»

(профиля «Биотехнические и медицинские аппараты и системы»)

очной формы обучения

Составители: Новикова Екатерина Ивановна Родионов Олег Валериевич

В авторской редакции

Подписано в печать 23.11.2017.

Формат 60х84/16. Бумага множительных аппаратов. Усл. печ. л. 2,9. Уч.-изд. л. 2,7. Тираж 21экз. «С» 29.

Зак. № 171

ФГБОУВО «Воронежский государственный технический университет» 394026 Воронеж, Московский просп., 14

Участок оперативный полиграфии издательства ВГТУ 394026 Воронеж, Московский просп., 14

1