1. • Лабораторные работы по информатике
  2. • Лабораторная работа по информатике ( Задачи )
  3. • Лабораторная работа по информатике, вариант №13, с ...
  4. • Лабораторная работа по информатике ( практика )
  5. • Лабораторная работа по информатике
  6. • Лабораторная работа по информатике ( задания )
  7. • Лабораторная №6 вариант №13 по информатике, выполненная с ...
  8. • Лабораторная №1. Вариант №8(с++
  9. • Информатика
  10. • Изучение методов адресации информации и обработки адресов
  11. • Изучение принципов организации арифметико-логическиз ...
  12. • Аппроксимация
  13. • Аппроксимация
  14. • Разработка СУБД FoxPro 2.0
  15. • Курсовая: Разработка базы данных "Магазин бытовой техники "Электрон ...
  16. • Тестирование как метод педагогического контроля
  17. • Изучение химического равновесия и принципа Ле Шателье в 9 ...
  18. • Основные характеристики моделей данных
  19. • Методические рекомендации по выполнению выпускной ...

Реферат: Лабораторные по информатике

Микропроцессоры.

Отчет по лабораторным работам.

Лабораторная работа №1.

Задание.
Составить программу записи во все порты О ЭВМ чередующихся нулей и единиц. Например в порт Р0 записать число в двоичной форме 01010101, в порт
Р1 - 10101010 и т.д. Затем необходимо инвертировать значения во всех портах, т.е. в Р0 - 10101010, в Р1 - 01010101 и т.д.

Структурная схема.

Подробная структурная схема.

Программа.

|NAME S |название модуля программы для сборки |
|CSEG AT 0H |задание сегмента памяти программ с адреса 0Н |
|ORG 0000H |задание адреса начала программы с 9000Н |
|MOV |запись двоичного числа 01010101 в порт P0 |
|P0,#01010101B | |
|MOV |запись двоичного числа 10101010 в порт P1 |
|P1,#10101010B | |
|MOV |запись двоичного числа 11001100 в порт P2 |
|P2,#11001100B | |
|MOV |запись двоичного числа 11001101 в порт P2 |
|P3,#11001101B | |
|MOV A,P0 |запись данных из порта P0 в аккумулятор |
|CPL A |инвертирование данных в аккумуляторе |
|MOV P0,A |запись данных из аккумулятора в порт Р0 |
|MOV A,P1 |запись данных из порта Р1 в аккумулятор |
|CPL A |инвертирование данных в аккумуляторе |
|MOV P1,A |запись данных из аккумулятора в порт Р1 |
|MOV A,P2 |запись данных из порта Р2 в аккумулятор |
|CPL A |инвертирование данных в аккумуляторе |
|MOV P2,A |запись данных из аккумулятора в порт P2 |
|MOV A,P3 |запись данных из порта P3 в аккумулятор |
|CPL A |инвертирование данных в аккумуляторе |
|MOV P3,A |запись данных из аккумулятора в порт P3 |
|NOP | |
|END | |

Контрольный пример.
В порты были введены числа в двоичном формате: в P0 - 01010101; в P1-
10101010; в P2 - 11001100; в P3 – 11001101. При запуске отладчика программы эти числа были отображены в шестнадцатеричном виде: 55, AA, CC, CD соответственно. После выполнения программы эти значения были инвертированы:
AA, 55, 33, 32 соответственно. Результаты совпали расчетными.

Лабораторная работа №2.

Задание.
Запустить программу, написанную в лабораторной работе №1 на отладочной плате.
Для работы с отладочной платой программа должна начинаться с адреса
9000h. Для этого необходим псевдооператор ORG 9000H. Для отображения выполнения программы на дисплее нужен оператор CALL 87bdh. Для контроля результатов необходимо записать полученные данные во внешнюю память, но считывание внешней памяти происходит с использованием портов 0 и 2, поэтому необходимо использовать только порты 1 и 3.

Структурная схема.

Подробная структурная схема.

Программа.

| |название модуля программы для сборки |
|NAME S | |
|CSEG AT 0H |задание сегмента памяти программ с адреса 0Н |
|ORG 9000H |задание адреса начала программы с 9000Н |
|MOV |запись двоичного числа 10101010 в порт P1 |
|P1,#10101010B | |
|CALL 87bdh | |
|MOV |запись двоичного числа 11001101 в порт P3 |
|P3,#11001101B | |
|CALL 87bdh | |
|MOV A,P1 |запись данных из P1 в аккумулятор |
|CALL 87bdh | |
|CPL A |инвертирование данных в аккумуляторе |
|CALL 87bdh | |
|MOV P1,A |запись данных из аккумулятора в порт Р1 |
|CALL 87bdh | |
|MOV A,P3 |запись данных из порта P3 в аккумулятор |
|CALL 87bdh | |
|CPL A |инвертирование данных в аккумуляторе |
|CALL 87bdh | |
|MOV P3,A |запись данных из аккумулятора в порт Р3 |
|CALL 87bdh | |
|MOV 21H,P1 |запись данных из порта P1 в ячейку памяти с адресом 21H |
|CALL 87bdh | |
|MOV 23H,P3 |запись данных из порта P3 в ячейку памяти с адресом 21H |
|CALL 87bdh | |
|MOV | запись двоичного числа 01010101 в порт P1 |
|P1,#01010101B | |
|CALL 87bdh | |
|MOV A,P1 |запись данных из порта P1 в аккумулятор |
|CALL 87bdh | |
|CPL A |инвертирование данных в аккумуляторе |
|CALL 87bdh | |
|MOV P1,A |запись данных из аккумулятора в порт P1 |
|CALL 87bdh | |
|MOV 20H,P1 |запись данных из порта P1 в ячейку памяти с адресом 20H |
|CALL 87bdh | |
|MOV | запись двоичного числа 11001100 в порт P3 |
|P3,#11001100B | |
|CALL 87bdh | |
|MOV A,P3 |запись данных из порта P1 в аккумулятор |
|CALL 87bdh | |
|CPL A |инвертирование данных в аккумуляторе |
|CALL 87bdh | |
|MOV P3,A |запись данных из аккумулятора в порт P3 |
|CALL 87bdh | |
|MOV 22H,P3 |запись данных из порта P3 в ячейку памяти с адресом 20H |
|CALL 87bdh | |
|MOV R0,#20H |в регистр R0 заносится операнд 20H |
|CALL 87bdh | |
|MOV DPTR,#0 |адресация внешней памяти |
|CALL 87bdh | |
|MOV R5, #10 |загрузка счетчика |
|CALL 87bdh | |
|M1: MOV A,@R0 |пересылка в аккумулятор содержимого внутренней памяти |
|CALL 87bdh | |
|MOVX @DPTR,A |пересылка из аккумулятора во внешнюю память, адресуемую |
| |регистром DPTR |
|CALL 87bdh | |
|INC R0 | увеличение адреса внутренней памяти на 1; |
|CALL 87bdh | |
|INC DPTR | увеличение адреса внешней памяти на 1; |
|CALL 87bdh | |
|DJNZ R5,M1 |уменьшение счетчика на 1 и проверка его на 0, если его |
| |значение не равно 0, то переход на M1 |
|CALL 87bdh | |
|NOP | |
|END | |

Контрольный пример.
В порты были введены числа в двоичном формате: в P0 - 01010101; в P1-
10101010; в P2 - 11001100; в P3 – 11001101. На дисплее платы эти числа были отображены в шестнадцатеричном виде: 55, AA, CC, CD соответственно. После выполнения программы эти значения были инвертированы: AA, 55, 33, 32 соответственно и записаны в ячейки внешней памяти. Результаты совпали с расчетными.
-----------------------

Загрузка данных в порты.

Пересылка в A содержимого портов.

Инвертирование данных в A.

Пересылка данных из А в порты.

Конец.

Конец.

P0

©2007—2016 Пуск!by | По вопросам сотрудничества обращайтесь в contextus@mail.ru