Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Лабораторні з інформатики

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Назва модуля програми для складання — |NAME P. S — | |CSEG AT 0H |завдання сегмента пам’яті програм з адреси 0Н — |ORG 9000H |завдання адреси початку програми з 9000Н — |MOV |запис двоичного числа 10 101 010 до порту P1 — |P1,#1 010 1010B — | |CALL 87bdh — | |MOV |запис двоичного числа 11 001 101 до порту P3 — |P3,#1 100 1101B — | |CALL 87bdh — | |MOV A, P1 |запис даних із P1 в акумулятор — |CALL… Читати ще >

Лабораторні з інформатики (реферат, курсова, диплом, контрольна)

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

Звіт по лабораторним работам.

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

Завдання. Скласти програму записи в усі порти Про ЕОМ які чергуються нулів і одиниць. Наприклад до порту Р0 записати число в двоичной формі 1 010 101, до порту Р1 — 10 101 010 тощо. Потім необхідно инвертировать значення переважають у всіх портах, тобто. в Р0 — 10 101 010, в Р1 — 1 010 101 і т.д.

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

Детальна структурна схема.

Программа.

|NAME P. S |назва модуля програми для складання | |CSEG AT 0H |завдання сегмента пам’яті програм з адреси 0Н | |ORG 0000H |завдання адреси початку програми з 9000Н | |MOV |запис двоичного числа 1 010 101 до порту P0 | |P0,#101 0101B | | |MOV |запис двоичного числа 10 101 010 до порту P1 | |P1,#1 010 1010B | | |MOV |запис двоичного числа 11 001 100 до порту P2 | |P2,#1 100 1100B | | |MOV |запис двоичного числа 11 001 101 до порту P2 | |P3,#1 100 1101B | | |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 — 1 010 101; в P1- 10 101 010; в P2 — 11 001 100; в P3 — 11 001 101. Після запуску отладчика програми ці числа знайшли у шестнадцатеричном вигляді: 55, AA, CC, CD відповідно. По виконанні програми цих значень були інвертовані: AA, 55, 33, 32 відповідно. Результати збіглися расчетными.

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

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

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

Детальна структурна схема.

Программа.

| |назва модуля програми для складання | |NAME P. S | | |CSEG AT 0H |завдання сегмента пам’яті програм з адреси 0Н | |ORG 9000H |завдання адреси початку програми з 9000Н | |MOV |запис двоичного числа 10 101 010 до порту P1 | |P1,#1 010 1010B | | |CALL 87bdh | | |MOV |запис двоичного числа 11 001 101 до порту P3 | |P3,#1 100 1101B | | |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 | запис двоичного числа 1 010 101 до порту P1 | |P1,#101 0101B | | |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 | запис двоичного числа 11 001 100 до порту P3 | |P3,#1 100 1100B | | |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 — 1 010 101; в P1- 10 101 010; в P2 — 11 001 100; в P3 — 11 001 101. На дисплеї плати ці числа були відбито в шестнадцатеричном вигляді: 55, AA, CC, CD відповідно. Після виконання програми цих значень були інвертовані: AA, 55, 33, 32 й записані в осередки зовнішньої пам’яті. Результати збіглися з розрахунковими. ———————————;

Завантаження даних в порты.

Пересилання в A вмісту портов.

Інвертування даних в A.

Пересилання даних із На порты.

Конец.

Конец.

P0.

Показати весь текст
Заповнити форму поточною роботою