Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
prn_ 51_pr1.doc
Скачиваний:
17
Добавлен:
19.02.2016
Размер:
370.18 Кб
Скачать

X equ p1.2

V equ p1.1

W EQU P1.0

MOV C,X ; Ввод Х

ANL C,V ; X AND NOT (V)

MOV F0,C ; Запоминание результата в F0

MOV C,X ; Ввод X

ORL C,V ; X OR V

ANL C,W ; W AND (X OR V)

ORL C,F0 ; ( W AND (X OR V)) OR (X AND NOT (V))

MOV Y,C ; Вывод результата

Флаг F0 используется для промежуточного хранения первой конъюнкции X V .

Задания 1.

  1. Составить программы для вычисления выражений (для умножения и деления использовать операции сдвига, операнды и результат находятся в памяти): Четные разряды результата инвертировать Y=(38-90/2)/2-11

  2. Записать в четные разряды результата единицы: Y=(233/8-44)*4

  3. Записать в нечетные разряды результата нули: Y=(61+128/2)/8-3

  4. Определить старший полубайт: Y=(24*4-8*2)/4

  5. Определить младший полубайт: Y=(123*4-289)/8

  6. Выделить те разряды байта, у которого возникло изменение нуля на единицу. Старый и новый байты находятся в памяти.

  7. Написать программу, записывающую последовательность бит в аккумуляторе в обратном порядке (00100111®11100100).

  8. Написать программу, записывающую в старшую тетраду аккумулятора зеркальное отображение младшей (11110011®11000011).

Задания 2.

1. Выбрать второй регистровый банк. Установить биты 0, 2, 6 регистра R4. Сбросить биты 1, 3, 7 порта Р2, используя маску, вычисленную с помощью регистра R4.

2. Выбрать первый регистровый банк. Установить биты 0, 1, 2, 3 порта Р1. Определить и записать в регистры R1-R4 флажки, указывающие на то, взвелись ли биты 4-7 порта Р1.

3. Последовательно с помощью модифицируемой маски, хранящейся в регистре R3, установить и сбросить биты с 3-го по 6-ой порта Р1.

4. Записать в аккумулятор и порт Р2 произвольные числа. Проинвертировать биты порта Р2, соответствующие единичным битам аккумулятора.

5. Выбрать третий банк регистров. С помощью модифицируемой маски установить во всех портах биты, соответствующие номеру порта.

6. Определить и записать в регистры R3-R6 флажки, указывающие на то, были ли взведены во всех портах биты, соответствующие их номерам.

7. Определить и записать в регистры флажки, указывающие на то, взведены ли биты 0, 2, 4 порта Р1. Создать результирующий байт, в котором 1 в соответствующем бите свидетельствует о наличии высокого уровня сигнала на этой линии порта Р1. Байт сохранить в аккумуляторе.

8.Создать байт флагов, наличие единицы в каждом бите которого свидетельствует о наличии высокого уровня сигнала в данной линии хотя бы на одном из портов Р1-Р4.

Задания 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.

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

  1. Опишите работу команд, выполняющих операцию сдвига аккумулятора.

  2. Опишите способы адресации команд ANL, ORL, XRL.

  3. Опишите способы адресации команд RL, RLC.

  4. Опишите способы адресации команд RR, RRC.

  5. Опишите способы адресации команд CLR, SETB, CPL.

  6. Опишите способы адресации команды SETB.

  7. Как можно организовать сдвиг многобайтового слова .

  8. Чем отличаются команды RL и RLC .

  9. Чем отличаются команды RR и RRC .

10. Охарактеризовать методы адресации, используемые в формате команд логических операций ANL, ORL и XRL.

11. С помощью какой логической операции можно осуществить инверсию битов порта или регистра, соответствующих единичным битам заданной маски.

12. В чем различие операций сдвигов циклического и с учетом бита переноса С.

13. Какие функции могут выполнять порты при работе микропроцессорной системы на базе НК51.

  1. 14. Как аппаратно реализованы порты ввода-вывода информации в контроллере НК51.

  2. 15.Составить программу выделения знакового разряда для последующего его анализа.

16. Охарактеризуйте набор операций, выполняемый в МК51 над отдельными битами.

17. Какие ячейки резидентной памяти данных (РПД) допускают адресацию отдельных битов.

18. Какие регистры специальных функций имеют механизм адресации отдельных битов.

19. В чем различие между командами MOV ACC,R4 и MOV A,R4.

20. Для каких целей используются механизмы неявной и прямой адресации аккумулятора в МК51.

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