ЗНАЕТЕ ЛИ ВЫ?

Лабораторна робота 3. Робота зі стеком



Тема «Робота зі стеком».

Мета роботи - вивчити принцип роботи стека ЕОМ.

Порядок виконання лабораторної роботи

Вивчити систему роботи стека МК51.

Розробити алгоритм для виконання індивідуального завдання.

Розробити програму для виконання індивідуального завдання.

Ввести програму індивідуального завдання на ПК.

За допомогою ПОЗ проаналізувати виконання індивідуальної програми.

Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Роздрукувати лістинг правильно працюючої програми.

8 Відповісти на контрольні питання викладача.

 

Короткі теоретичні відомості

Восьмибітний покажчик стека (SP) може адресувати будь-яку область ОЗУ. Його вміст інкрементується, перш ніж дані будуть запам’ятовані у стеку в ході виконання команд PUSH і CALL. Вміст SP декрементується після виконання команд POP і RET. Подібний спосіб адресації елементів стека називають передінкрементним/постдекрементним. У процесі ініціалізації мікроконтролера після сигналу RST в SP автоматично завантажується код 07Н. Це означає, що якщо прикладна програма не перевизначає стек, то перший елемент даних у стеку буде розміщуватися у комірці ОЗУ з адресою 08Н.

 

Приклад програми для роботи зі стеком

Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Проміжний результат записати у стек. Після досягнення кількості натискань 8 вивести на статичний індикатор проміжні результати у зворотному порядку:

 

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

mov R5, # 00h

mov R2, # 08h

mov R1, # 08h

mov P2, # 0h

start:

jb p1.0, $

mov A, R5

inc Acc

jnb p1.0, start

mov P2, A

mov R5, A

PUSH Acc

djnz R2, start

vivod:

POP Acc

MOV P2, A

call DEL

djnz R1, vivod

 

DEL: ; підпрограма затримки

mov R6, # 0FFh

mov R5, # 0Ah

C5: mov R7, # 0FFh

C4: djnz R7, C4

djnz R6, C5

djnz R5, C5

ret ; вихід із підпрограми

 

END

 

 


Таблиця 3 - Варіанти індивідуальних завдань до ЛР 3

Номер Вар. Текст індивідуального завдання
1,11, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW5. Проміжний результат записати в стек. Після досягнення кількості натискань 5 вивести на статичний індикатор суму проміжних результатів
2,12, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Проміжний результат записати в стек. Після досягнення кількості натискань 8 вивести на статичний індикатор середнє арифметичне проміжних результатів
3,13, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW7. Проміжний результат записати в стек. Після досягнення кількості натискань 6 вивести на статичний індикатор кожне друге проміжне значення
4,14, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW4. Проміжний результат записати в стек. Після досягнення кількості натискань 8 вивести на статичний індикатор суму кожного другого проміжного значення
5,15, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Проміжний результат записати в стек. Після досягнення кількості натискань 9 вивести на статичний індикатор кожне третє проміжне значення
6,16 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW2. Проміжний результат записати в стек. Після досягнення кількості натискань 9 вивести на статичний індикатор суму кожного третього проміжного значення
7,17 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW6. Проміжний результат записати в стек. Після досягнення кількості натискань 9 вивести на статичний індикатор суму проміжних результатів
8,18 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW8. Проміжний результат записати в стек. Після досягнення кількості натискань 8 вивести на статичний індикатор середнє арифметичне проміжних результатів
9,19 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW5. Проміжний результат записати в стек. Після досягнення кількості натискань 8 вивести на статичний індикатор кожне друге проміжне значення
10,20 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW4. Проміжний результат записати в стек. Після досягнення кількості натискань 9 вивести на статичний індикатор суму кожного третього проміжного значення

Рисунок 11 - Схема до лабораторної роботи 3

 


Лабораторна робота 4. Робота з регістром слово стану програми (PSW)

Тема «Робота з регістром PSW. Умовні переходи. Схеми відображення інформації».

Мета роботи - вивчити принцип роботи регістра PSW і умовних переходів.

Порядок виконання лабораторної роботи

Вивчити систему роботи стека МК51.

Розробити алгоритм для виконання індивідуального завдання.

Розробити програму для виконання індивідуального завдання.

Ввести програму індивідуального завдання на ПК.

За допомогою ПОЗ проаналізувати виконання індивідуальної програми.

Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.





Последнее изменение этой страницы: 2016-06-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.216.79.60 (0.004 с.)