- •2006Г. Исследование однокристального микропроцессора
- •1. Краткое описание микропроцессора 1816ве51
- •II. Краткое описание лабораторного стенда умпк-51
- •Порядок проведения лабораторной работы .
- •1.2. Режим просмотра и изменения содержимого внешней памяти.
- •1.3. Вывод на дисплей содержимого программного счетчика.
- •1.4. Просмотр и изменение содержимого внутренней памяти данных.
- •1.6. Просмотр и изменение содержимого внутренних регистров.
- •1.8. Запуск выполнения программы.
- •1. Команды обращения к регистрам
- •2.Команды обращения к памяти.
- •4. Двухоперандные команды
- •5. Команды обращения к портам ввода/вывода.
- •6. Команды операций с битами.
- •7. Пример программы.
1.8. Запуск выполнения программы.
После ввода программы пользователя , выполните предварительную установку регистров внутренней памяти и отдельных битов , если это необходимо для выполнения программы.
Запуск программы пользователя может быть выполнен в одном из двух режимов: пошаговом и автоматическом. Для запуска программы пользователя необходимо предварительно ввести адрес первой выполняемой команды в программный счетчик с помощью кнопок «PC» или «PM», т.е. после записи программы в память необходимо вернуться в начало программы (набрать адрес ячейки, в которой хранится первая исполняемая команда программы).
Запуск программы пользователя в пошаговом режиме осуществляется нажатием кнопки «ST» («Step»). При этом выполняется одна команда и на дисплей выводится новое значение программного счетчика (адрес следующей команды).
Запуск программы пользователя в автоматическом режиме осуществляется нажатием кнопки «RU» («Run»).
Выход из программы пользователя при работе в автоматическом режиме производится нажатием на любую кнопку. При этом сохраняется содержимое внутренней памяти данных и регистров контроллера и на дисплей выводится адрес останова (адреса ячейки памяти, на которой прервали команду). Это дает возможность просмотра результатов выполнения программы.
Для продолжения выполнения программы нажмите кнопку «RU» или «ST».
Примечание. В данном микропроцессоре отсутствуют команды HALT и STOP. Поэтому выход из-под программы осуществляется по запросу прерывания, который выставляет контроллер клавиатуры после нажатия любой кнопки.
Задание 2. Изучить порядок выполнения команд и программ.
1. Команды обращения к регистрам
1.1 . Запись данных в регистр.
а) Ручная запись:
- нажмите кнопку «Rg»;
выберите нужный регистр, нажав кнопку «+1»;
используя числовые кнопки «0», «1»,….. «F» занесите двухзначное число в
данный регистр;
- запомните это число, нажав кнопку «+1».
б) Программная запись. Эта операция выполняется, например, с помощью команды передачи данных из аккумулятора в регистр.
-
Команда
Структура
Код
MOV Rn, A
1111 1rrr
F8…FF
Здесь rrr– номерn-го регистра 0…7,F8 – код команды при обращении к нулевому регистру,FF– код команды при обращении к седьмому регистру, соответственно.
Примечание. Выбор банка регистров осуществляется с помощью разрядовRS0,RS1 слова состояния процессора ССП (PSW). После включения питания по умолчанию устанавливается нулевой банк.
Порядок выполнения:
Занесите в аккумулятор (A) любое двухзначное число.
Нажмите кнопку «PM».
Введите значение 1000. (С этого адреса можно вводить программы пользователя).
Наберите код команды.
Нажмите кнопку «+1» для запоминания команды.
Запустите программу с адреса 1000 в пошаговом режиме, для чего используйте кнопку «ST».
Проверьте содержимое регистра, который использовался в данной команде.
в) Программное занесение константы. В этом случае в выбранный регистр заносится содержимое второго байта команды (ХХ).
.
-
Команда
Структура
Код
MOV Rn, #d
0111 1rrr
78…7F
#d
ХХ
Порядок выполнения:
Нажмите кнопку «PM».
Введите значение 1000.
Введите код команды.
Нажмите кнопку «+1» для запоминания команды. Адрес памяти изменился и стал 1001.
Занесите значение константы по этому адресу.
Нажмите кнопку «+1» для запоминания константы.
Перейдите в начало программы, то есть в ячейку с адресом 1000.
Нажмите кнопку «ST» для пошагового выполнения программы.
Проверьте содержимое регистра, который используется в данной команде.
г) Программное занесение прямо адресуемого байта памяти (РПД) в регистр.
-
Команда
Структура
Код
MOV Rn, ad
1010 1rrr
A8…AF
ad
ХХ
Здесь аd- адрес байта РПД.
Откройте ячейку резидентной памяти данных (кнопка «DM») в диапазоне адресов от 40 до 7F.
Занесите в ячейку любое число.
Запустите исполнение команды с 1000 адреса.
Проверьте содержимое соответствующего регистра, номер которого используется в коде команды.
1.2. Чтение регистра
а) Перенос содержимое регистра в аккумулятор
-
Команда
Структура
Код
MOV A, Rn
1110 1rrr
E8…EF
Занесите код команды в память программ по адресу 1000. Выполните команду в пошаговом режиме для третьего регистра второго банка. Просмотрите содержимое регистра. Значение, лежащее в регистре «Rn», будет занесено в «А».
Примечание. Банк регистра определяется разрядами RS0, RS1 регистра флагов (FL). По умолчанию установлен нулевой банк.
б) Пересылка значения регистра по прямому адресу в РПД.
-
Команда
Структура
Код
MOV ad, Rn
1000 1rrr
88…8F
ad
XX
Примечание. Используйте ячейки памяти в диапазоне адресов 40Н…7FH