Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPSS Lab.rab.(ru) 2011-07-16 EP.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.79 Mб
Скачать

Ход работы

1. Создание проекта, ввод текста программы на ASSEMBLER, компиляция программы.

1.1. После запуска MPLAB на экране появится заставка, затем – окно с главным меню пакета в верхней части. В главном меню выберите пункт File/New. На экране появится пустое окно с заголовком Untitled 1.

1.2. Введите программу.

LIST p=16f77 ; указание типа процессора

INCLUDE p16f77.inc ;подключение файла

;с описанием процессора

LOOP NOP

NOP

NOP

INCF 20,W

DECF 20,F

GOTO LOOP

END ;завершение программы

Все, что находится в строчке программы правее «;» ассемблер «не видит», что позволяет вставлять в программу комментарии.

1.3. Выберите пункт File/Save As и сохраните содержимое окна под именем lab1.asm. Соответственно изменится заголовок.

При создании файла и проекта кириллицу применять нельзя, только латинские буквы и цифры, имена должны включать в себя не более восьми символов (без учета символов расширения).

Правильно

Неправильно

D:/CAUNT/MPP/Ivanov/lab.asm

D:/Рабочий стол/Мои документы/lab.asm

1.4. Откройте пункт Project/New Project и задайте в окне Project Name имя проекта lab, а в окне Project Directory – папку, в которой он будет находиться.

1.5. В открывшемся окне lab.msw (View/Project) в список Source files нажатием правой клавиши мыши добавьте файл lab.asm (Add Files).

1.6. В меню Debugger / Select Tool выберите средство отладки MPLAB SIM. В дальнейшем на панели выбирается необходимый режим.

1.7. Осуществите компиляцию программы нажатием кнопки Build All либо кнопкой Run на панели отладчика. Если все в порядке, на экран выводится окно с сообщением Build Succeeded. Здесь же могут появиться предупреждения и сообщения об обнаруженных в процессе трансляции ошибках. При отсутствии ошибок происходит подготовка двоичного файла для записи в ПЗУ процессора и файла-листинга для тестирования программы.

1.8. Чтобы получить листинг программы с указанием шестнадцатеричного кода и адреса каждой команды, откройте вкладку View/Disassembly Listing.

1.9. Для того, чтобы иметь возможность проследить за всеми изменениями в состоянии регистров процессора, откройте вкладки View/File Registers (RAM, список регистров в ОЗУ процессора с отображением их формальных имен и состояния в шестнадцатеричной, десятичной и двоичной форме).

1.10. С помощью мыши измените размер окон, их положение, создавая удобную для себя рабочую область. При завершении работы с пакетом MPLAB (выборе пункта File/Exit) на экран выводится вопрос о сохранении проекта. В случае положительного ответа последующее открытие проекта приведет к полному восстановлению режимов и вида экрана, имевшихся при последнем сеансе работы.

2. Описание программы, симуляция исполнения программы с помощью отладчика.

2.1. Первой строчкой программы LIST p=16f77 вы указали тип микропроцессора, сообщив программам пакета MPLAB некоторые сведения о нем.

Вторая строчка программы #INCLUDE р16f77.inc подключает файл с описанием микропроцессора. Наименование типа процессора и файла с его описанием должны совпадать.

Последняя строчка END указывает на завершение программы.

Эти строки программы не преобразуются в двоичные коды процессора. LIST, #INCLUDE, END называют командами препроцессора или директивами.

2.2. LOOP – метка (ассемблер подставит вместо нее адрес помеченной команды программы);

NOP, INCF, GOTO – собственно команды, точнее коды выполняемых ими операций.

0x20 – численное значение ячейки с адресом 20 в шестнадцатеричном формате;

F и W – имена констант.

2.3. Выполните компиляцию программы (п.1.7). В окне программы окажется выделенной строка с первой выполняемой командой (в данном случае снабженная меткой LOOP).

2.4. На панели выберите режим Step Into (пошаговое выполнение программы), нажмите кнопку. В результате выделенная команда выполняется, и выделение переходит на следующую строку.

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

В окнах SFR и RAM все значения, изменившиеся в результате выполнения команды, отмечаются красным цветом. В данном случае (команда NOP) должно измениться только содержимое счетчика команд PCL (содержимое счетчика РС и регистра W можно увидеть и в нижней части экрана).

2.5. В результате выполнения программы по шагам достигнута команда INCF 20,W. Обратите внимание на число в ячейке по адресу 020. После выполнения этой команды это значение не изменится, а в регистр W будет записано число на единицу больше.

2.6. Следующая команда DECF 20,F уменьшает прочитанное из той же ячейки по адресу 020 значение на 1, но, в отличие от предыдущей, оставляет значение в W неизменным, а результат возвращает в исходную ячейку.

2.7. Цикл завершает команда GOTO LOOP, не изменяющая ничего, кроме программного счетчика. В результате цикл будет повторен.

2.8. Измените номер ячейки на число 20+N, где N – номер бригады. Выполните компиляцию программы (п.1.7). Пройдите цикл несколько раз, наблюдая за изменением состояния регистров.

3. Оформите протокол работы, включающий в себя:

3.1. описание создания файла lab.asm, проекта lab.msw;

3.2. таблицу с листингом программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]