- •Movx @dptr,a ; Вывод следующего знакоместа
- •Контрольные вопросы.
- •Лабораторная работа №10 вВод информации с Клавиатуры
- •Контрольные вопросы.
- •Лабораторная работа №9 организация Динамической индикации Практическая часть.
- •Порядок выполнения работы
- •Задания.
- •Подпрограмма обслуживания 8-и разрядного семисегментного индикатора.
- •Задания.
- •Контрольные вопросы
- •Лабораторная работа №2. Команды пересылки данных. Практическая часть.
- •Формирование временной задержки на основе таймера.
- •3. Считывание текущего состояния таймера без нарушения процесса синхронизации.
- •4. Измерение длительности сигнала.
- •Задание 2
- •1. Инициализация Таймера 1 для автозагрузки с частотой 32х2400 Гц.
- •III. Работа с внешней памятью данных (впд).
- •1. Запомнить в впд содержимое регистров банка 0.
- •IV.Операции со стеком.
- •Индивидуальное задание на лабораторную работу
- •6. Ввод данных с тумблеров, подключенных к линиям 3 и 4 порта 1 и выдача их на светодиоды, подключенные к линиям 4 и 5 порта 3.
- •7. Воспроизведение звука через динамик, подключенный к p3.5.
- •Задание 1
- •5. Передача символьной строки через последовательный порт.
- •Задания 2
- •Контрольные вопросы.
- •Лабораторная работа №3. Арифметические команды Практическая часть.
- •I. Инкремент и декремент.
- •II. Сложение и вычитание.
- •2. Формирование импульсных сигналов
- •3. Измерение длительности импульса
- •Устранение дребезга контактов
- •3. Программа вычитает строку, указанную регистром r1, из строки, указанной регистром r0, с точностью, указанной регистром r2. После выполнения операции проверяется переполнение результата.
- •III. Умножение и деление.
- •Задания 1.
- •1. Ввод информации с датчиков
- •Задания 1.
- •Задания 2
- •Контрольные вопросы.
- •Лабораторная работа №4 логические команды. Команды сдвига и работы с битами Практическая часть.
- •1. Маскирование при вводе.
- •Контрольные вопросы.
- •Лабораторная работа №6 изучение системы прерываний Практическая часть.
- •1. Сохранение состояния центрального процессора во время прерываний
- •Вычислить булеву функцию трех переменных :
- •Задания 1.
- •Задания 2.
- •Задания 1.
- •Индивидуальные задания 2
- •6. Последовательная передача параметров
- •Задания 3.
- •Контрольные вопросы.
- •Лабораторная работа №5 команды передачи управления. Практическая часть.
- •Временная задержка малой длительности.
- •Временная задержка большой длительности.
- •3. Временная задержка длительностью 1с:
- •4. Передать управление одной из восьми программ rout0 - rout7 при появлении нулевого уровня на соответствующем входе порта 0. Наивысшим приоритетом обладает вход р1.0:
- •5. Множественное ветвление программы:
Задания 3.
Составить программу на основе команд операций с битами из таблицы 5. 1 для вычисления следующего выражения согласно своему варианту:
1. Y = X and Z or ( W and (not Z) )
2. Y = (not X) and ( not ( W and Z ) )
3. Y = not ( ( X or W ) and Z )
4. Y = X and ( W or Z ) or ( W and (not X) )
5. Y = (not X) and (not W) or (not Z)
6. Y = (not X) or ( X and W and (not Z) )
7. Y = ( W and Z ) or ( X and (not Z) )
8. Y = W and X or ( (not X) or Z )
Значения X, W, Z считать с первых трех выводов порта Р0.
Контрольные вопросы.
Опишите работу команд, выполняющих операцию сдвига аккумулятора.
Опишите способы адресации команд ANL, ORL, XRL.
Опишите способы адресации команд RL, RLC.
Опишите способы адресации команд RR, RRC.
Опишите способы адресации команд CLR, SETB, CPL.
Опишите способы адресации команды SETB.
Как можно организовать сдвиг многобайтового слова .
Чем отличаются команды RL и RLC .
Чем отличаются команды RR и RRC .
Охарактеризовать методы адресации, используемые в формате команд логических операций ANL, ORL и XRL.
С помощью какой логической операции можно осуществить инверсию битов порта или регистра, соответствующих единичным битам заданной маски.
В чем различие операций сдвигов циклического и с учетом бита переноса С.
Какие функции могут выполнять порты при работе микропроцессорной системы на базе НК51.
Как аппаратно реализованы порты ввода-вывода информации в контроллере НК51.
Составить программу выделения знакового разряда для последующего его анализа.
Охарактеризуйте набор операций, выполняемый в МК51 над отдельными битами.
Какие ячейки резидентной памяти данных (РПД) допускают адресацию отдельных битов.
Какие регистры специальных функций имеют механизм адресации отдельных битов.
17
В чем различие между командами MOV ACC,R4 и MOV A,R4.
Для каких целей используются механизмы неявной и прямой адресации аккумулятора в МК51.
Лабораторная работа №5 команды передачи управления. Практическая часть.
Временная задержка малой длительности.
Предположим, что в управляющей программе необходимо реализовать временную задержку 99 мкс. Фрагмент программы, реализующей временную задержку, требуется оформить в виде подпрограммы, так как предполагается, что основная управляющая программа будет производить к ней многократные обращения для формирования выходных импульсных сигналов, длительность которых кратна 99 мкс:
DELAY: MOV R2, #X ;(R2)X
COUNT: DJNZ R2, COUNT ;декремент R2 и цикл, если не нуль
RET ;возврат
При этом необходимо учитывать, что команды MOV и RET выполняются однократно, а число повторений команды DJNZ равно числу X. Кроме того, обращение к подпрограмме временной задержки осуществляется по команде CALL DELAY, вpeмя исполнения которой также необходимо учитывать при подсчете временной задержки. В описании команд микроконтроллера указывается, за сколько машинных циклов (МЦ) исполняется каждая команда. На основании этих данных определяется суммарное число машинных циклов в подпрограмме: CALL - 2 МЦ, MOV - 1 МЦ, DJNZ - 2 МЦ, RET - 2 МЦ.
При тактовой частоте 12 МГц каждый машинный цикл выполняется за 1 мкс. Таким образом, подпрограмма выполняется за время 2 + 1 + 2Х + 2 = 5 + 2Х мкс. Для реализации временной задержки 99 мкс число Х = (99 - 5)/2 = 47.
Для более точной подстройки в подпрограмму могут быть включены команды NOP, время выполнения каждой из которых равно 1 мкс.