- •Цифровые и микропроцессорные устройства
- •Часть 4
- •07.04 2014 Г., протокол № 10
- •Введение
- •Лабораторная работа № 12составление линейных и циклических программ на языке ассемблер Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Лабораторная работа № 13обучение работе на симуляторе микропроцессора Sim8085 Microprocessor Simulator
- •Содержание отчета
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •2 Индивидуальное задание № 14. 1
- •3 Индивидуальное задание № 14. 2
- •4 Индивидуальное задание № 14. 3
- •Лабораторная работа № 15логические команды и команды сдвига Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Команды сравнения
- •Команды сдвига
- •Индивидуальное задание № 15. 1
- •Индивидуальное задание № 15. 2
- •Индивидуальное задание № 15. 3
- •Лабораторная работа № 16 команды управления Цель работы
- •Подготовка и выполнение работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Теоретическое обоснование
- •2 Индивидуальное задание № 16. 1
- •3 Индивидуальное задание № 16. 2
- •Лабораторная работа № 17обучение работе в интегрированной среде mplab ide
- •Содержание отчета
- •Контрольные вопросы
- •Методические указания
- •1 Структурная схема учебного стенда нтц – 31.000
- •2 Органы управления учебного стенда
- •Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •1. 2 Общий формат инструкций и директив
- •1. 3 Директивы Ассемблера
- •1.4 Числовые константы и системы счисления
- •2 Тренировочный пример составления исходного кода программы
- •Лабораторная работа № 19исследование устройств ввода-вывода дискретных сигналов в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •2 Схема электрическая принципиальная к лабораторной работе
- •3 Алгоритм и листинг программы к заданию № 19. 1
- •4 Алгоритм и листинг программы к заданию № 19. 2
- •Лабораторная работа № 20реализация временных функций в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •1.1 Реализация временных функций
- •1.2 Метод программных циклов
- •1.3 Использование таймера/счётчика
- •1.4 Схема электрическая принципиальная к лабораторной работе
- •1. 5 Листинг программы для создания проекта lr20_1
- •1.6 Листинг программы для создания проекта lr20_2
- •1.7 Листинг программы для создания проекта lr20_3
- •Литература
- •Содержание
- •Цифровые и микропроцессорные устройства
- •Часть 4
Лабораторная работа № 13обучение работе на симуляторе микропроцессора Sim8085 Microprocessor Simulator
Цель работы
Изучить принципы работы симулятора МП Sim8085 Microprocessor Simulator.
Приобрести практические навыки ввода, отладки и выполнения линейных и циклических программ на языке Ассемблер на симуляторе Sim8085 Microprocessor Simulator.
Подготовка к выполнению работы
Повторить по [1] структурную схему, форматы данных и команд, способы адресации, принцип работы и систему команд МП Intel 8085A (К1821ВМ85А).
Подготовить заготовку отчета (см. содержание отчета).
Подготовить ответы на вопросы для самоконтроля.
Вопросы для самоконтроля
Поясните назначение МП БИС Intel 8085A (далее по тексту МП БИС). Кратко опишите назначение узлов, входящих в МП БИС, а также управляющих сигналов.
Поясните процессы в МП БИС после начального запуска (сброса).
Поясните процессы в МП БИС при отсутствии сигналов на входе Ready.
Приборы, оборудование и документация
Персональный компьютер (ПК).
Программный пакет «Sim8085 Microprocessor Simulator».
Методические указания к лабораторной работе.
Система команд МП Intel 8085A.
Порядок выполнения работы
Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.
Произвести внешний осмотр ПК и убедиться визуально в отсутствии каких-либо повреждений и дефектов.
Включить ПК.
Изучить принцип работы симулятора Sim8085. Для этого:
4.1 После запуска программы Sim8085 выбрать пункт меню «FileNew» и на экране появится рабочая область или окно программы (рисунок 13.1).
Рисунок 13.1 – Окно программы симулятора Sim8085 Microprocessor Simulator
Данное окно предназначено для ввода программ. Одной из особенностей симулятора является то, что все цифровые данные в программе прописываются в десятичной системе счисления, а обрабатываются в шестнадцатеричной.
Для упрощения перевода из одной системы счисления в другую в симулятор вшит конвертор (рисунок 13.2), который можно вызвать пунктом меню «ToolsBase Converter».
Для преобразования числа из шестнадцатеричной системы счисления в десятичную необходимо просто вписать число, которое необходимо перевести, в поле «HEX» и десятичное число автоматически появится в поле «DEC». Например из рисунка 13.2 видно, что для ввода шестнадцатеричного числа FE(16) нам необходимо перевести его в десятичное 254(10) и записать в окно программы (рисунок 13.3).
Рисунок 13.2 – Окно конвертора
Также особенностями симулятора является то, что команды вводятся мнемоническими обозначениями, а при загрузке регистровых пар в мнемонике команды следует указывать оба регистра, например LXI HL, 200Ch. Кроме того, все символы программы следует вводить на английском языке.
На рисунке 13.3 показан ввод команд непосредственной загрузки регистра D числом FE(16) = 254(10) и регистровой пары HL числом 200С(16) = 8204(10).
Рисунок 13.3 – Ввод команды непосредственной загрузки регистра D числом FE h и регистровой пары HL числом 200C h
4.2 Для запуска и отладки пользовательских программ в симуляторе есть отладчик (рисунок 13.4), который вызывается пунктом меню «ProjectDebug Mode».
Рисунок 13.4 – Окно отладчика симулятора Sim8085 Microprocessor Simulator
В данном окне можно проследить за отладкой и выполнением программы. При наличии ошибок отладчик выдает сообщения в каких строках программы допущены ошибки. Например, на рисунке 13.5 показан пример сообщения отладчика, если данные в командах MVI D, FE h и LXI HL, 200C h не переведены в десятичную систему счисления.
Рисунок 13.5 – Пример работы отладчика симулятора Sim8085 Microprocessor Simulator при наличии ошибок при вводе программы
Рассмотрим работу отладчика на примере непосредственной загрузки регистра D числом FE(16) = 254(10) и регистровой пары HL числом 200C h = 8204(10) (рисунок 13.6).
В окне отладчика мы видим, что по адресу 2000 h теперь записана команда непосредственной загрузки регистра D числом FE(16) = 254(10), а по адресу 2002 h – команда загрузки регистровой пары HL числом 200С(16) = 8204(16). Заметим, что в окне отладчика данные представлены уже в шестнадцатеричной форме, в отличие от окна ввода программы.
В стандартных настройках программы начальным адресом программы является 2000 h, но в настройках отладчика (OptionsDebugger Options) его можно изменить (рисунок 13.7).
Рисунок 13.6 – Пример работы отладчика симулятора Sim8085 Microprocessor Simulator при отсутствии ошибок при вводе программы
Рисунок 13.7 – Окно настроек отладчика симулятора Sim8085 Microprocessor Simulator
4.3 Рассмотрим работу симулятора на примере тренировочной программы, которая реализует подсчет количества единиц в байте (таблица 13.1).
Таблица 13.1 – Тренировочная программа подсчета количества единиц в байте
Адрес |
Метка |
Команда |
Операнд |
Комментарий |
2000 |
|
MVI |
D, FE h |
; Загр. исходного ; числа FE h в рег. D |
2002 |
|
MVI |
C, 08 h |
; Загр. в рег. C количества ; разрядов в байте |
2004 |
|
MOV |
A, D |
; A(D) для сдвига |
2005 |
|
MVI |
B, 00 h |
; Обнуление рег. B, ; счетчика единиц |
2007 |
M2: |
RAR |
|
; Сдвиг вправо, значение ; мл. бита в бит переноса |
2008 |
|
JNC |
M1 |
; Если (Tc) = 0, обойти ; инкремент счетчика единиц |
200B |
|
INR |
B |
; Инкремент счетчика ; единиц |
200C |
M1: |
DCR |
C |
; С(С) – 1, следующий ; разряд байта |
200D |
|
JNZ |
M2 |
; Переход на проверку ; след. разряда байта |
2010 |
|
HLT |
|
; Останов |
Вводим программу. Результаты ввода отражены на рисунке 13.8. Как видно, все числа предварительно переведены в десятичную систему счисления. В качестве исходного в регистр D загружаем число FE(16) = 254(10). Выполняем отладку программы (ProjectDebug Mode). При наличии ошибок для выхода из режима отладчика используем пункт меню «ProjectTerminate». При отсутствии ошибок выполняем программу. Для запуска программы используем пункт меню «ProjectRun» (рисунок 13.9).
Рисунок 13.8 – Окно ввода симулятора с программой, реализующей подсчет количества единиц в байте
Рисунок 13.9 – Окно отладчика после выполнения тренировочной программы, реализующей подсчет количества единиц в байте
По окончании выполнения тренировочной программы симулятор выводит на экран ПК окно с результатами:
- программа выполнена до команды HLT;
- конечный результат подсчета количества единиц в байте отражен в регистре B (число FE(16) = 1111 1110(2) содержит семь единиц);
- кроме того, в окне отладчика отображаются значения всех регистров МП, указателя стека SP, программного счетчика PC, а также всех признаков результата (знака S, нулевого результата Z, вспомогательного переноса А, четности P, переноса С).
4.4 После проверки преподавателем результатов выполнения тренировочной программы свернуть окно отладчика симулятора.
5 Индивидуальное задание № 13.1. Выполнить линейную программу, составленную в лабораторной работе № 12, согласно заданному варианту индивидуального задания № 12.1. Для этого выполнить ввод, отладку и запуск программы аналогично указаниям пунктов 4.1…4.3 данных методических указаний. Результаты выполнения программы записать в таблицу 13.2 и сделать подробные выводы о состоянии всех регистров и значениях всех признаков.
Таблица 13.2 – Результаты выполнения индивидуального задания № 13.1
Номер варианта |
Результат (Р = 16) |
Содержимое регистров (Р = 16) |
Значения признаков | |||||||||||||||
(M1) |
(M2) |
(A) |
(B) |
(C) |
(D) |
(E) |
(H) |
(L) |
(SP) |
(PC) |
S |
Z |
A |
P |
C | |||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
После проверки преподавателем результатов выполнения индивидуального задания свернуть окно отладчика симулятора, закрыть программу Sim8085 и завершить работу ПК.
6 Ответить на контрольные вопросы.
7 Оформить отчет и сдать зачет.