Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс экзамен.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
812.03 Кб
Скачать

Билет 29

  1. Структура МК-51.

Надалі буде розглядатись саме оригінальна версія мікроконтролера (якщо не обговорено інше), оскільки інші ОМЕОМ не відрізняються принципово від оригінального MCS-51.

Ядро

  • 8-бітовий АЛП, 8-бітові регістри

  • Побітова адресація частини ОЗП

  • Система команд із 111 інструкцій

  • Архітектура системи команд: акумулятор

Пам’ять

  • Гарвардська архітектура пам’яті

  • 8-бітова шина даних

  • 16-бітна шина адреси. Можливість адресації до 64 Кб пам'яті програм і до 64 Кб пам'яті даних

  • 4096 байт вбудованої пам'яті програм (додаткові 60К досягаються за рахунок зовнішніх мікросхем пам'яті)

  • 128 байт вбудованої пам'яті даних (додаткові 64К досягаються за рахунок зовнішніх мікросхем пам'яті)

Периферія

  • 32 двосторонні однобітні лінії вводу-виводу

  • Двосторонній послідовний УАПП

  • Два 16-бітні таймери/лічильники

  • Система з 5 переривань, з 2 рівнями пріоритетів

  • Вбудований тактовий генератор

  • Енергозберігаючий режим (тільки у версіях на КМОН технології)

  1. Визначення зовнішнього і внутрішнього оперативного запам’ятовуючого пристрою. Наведіть приклади.

  1. Основні функції та типи стимуляторів для МПС. Наведіть приклади.

Симулятори

>Симулятор – програмне засіб, здатне імітувати роботу МК та її пам'яті. Зазвичай, воно складається зотладчика, моделі центрального процесора і пам'яті. Більше скоєні устрою перебувають у своєму складі моделі вбудованих периферійних пристроїв (таймерів, портів,АЦП і систем переривань).

>Симулятор повинен «вміти» завантажувати файли програм переважають у всіх популярних форматах, якнайповніше відображати інформацію про стан ресурсівсимулируемого МК, і навіть надати можливість по симуляції виконання завантаженою програми у різних режимах. У процесі налагодження модель виконує програму, й монітора комп'ютера відображається поточний стан моделі.

Завантаживши програму стимулятор, користувач може запускати їх упошаговом чи безупинному режимі, ставити умовні чи безумовні точки зупинки, контролювати та вільно модифікувати вміст осередків пам'яті і регістрівсимулируемого МК.Симулятор дозволяє швидко перевірити логіку виконання програми, правильність виконання арифметичних операцій.

Залежно від класу використовуваногоотладчика деякі моделі симуляторів підтримуютьвисокоуровневую символьну налагодження програм.

>Симулятор може містити і кілька додаткових програмних засобів, наприклад інтерфейс довкілля. Наявність такої інтерфейсу дозволяє створювати й гнучко використовувати модель довкілля МК, що існує і що впливає наотлаживаемую програму з заданому алгоритму.

Билет 28

  1. Призначення периферійного ( інтерферійного) і універсального 8-розрядного одно кристального мікропроцесорного контролера.

  1. Визначення макровизначення. Команди препроцесора пов’язані з макровизначеннями.

Одно из самых мощных языковых средств ассемблера — макроопределения. Макроопределением (или макросом) называется участок программы, которому присвоено имя и который ассемблируется всякий раз, когда ассемблер встречает это имя в тексте программы. Макрос начинается директивой MACRO и заканчивается ENDM. Например: пусть описано макроопределение hex2ascii, переводящее шестнадцатеричное число, находящееся в регистре AL, в ASCII-код соответствующей шестнадцатеричной цифры:

hex2ascii macro

cmp al,10

sbb al,69h

das

endm

Теперь в программе можно использовать слово hex2ascii, как если бы это было имя команды, и ассемблер заменит каждое такое слово на три команды, содержащиеся в макроопределении. Разумеется, можно оформить этот же участок кода в виде процедуры и вызывать его командой CALL — если процедура вызывается больше одного раза, этот вариант программы займет меньше места, но вариант с макроопределением станет выполняться быстрее, так как в нем не будет лишних команд CALL и RET. Однако скорость выполнения — не главное преимущество макросов. В отличие от процедур макроопределения могут вызываться с параметрами, следовательно, в зависимости от ситуации, включаемый код будет немного различаться, например:

s_mov macro register1,register2

push register1

pop register2

endm

Теперь можно использовать S_MOV вместо команды MOV для того, чтобы скопировать значение из одного сегментного регистра в другой.

Следующее важное средство, использующееся в макроопределениях, — директивы условного ассемблирования. Например: напишем макрос, выполняющий умножение регистра AX на число, причем, если множитель — степень двойки, то умножение будет выполняться более быстрой командой сдвига влево.

fast_mul macro number

if number eq 2

shl ax,1 ; Умножение на 2

elseif number eq 4

shl ax,2 ; Умножение на 4

elseif number eq 8

shl ax,3 ; Умножение на 8

... ; Аналогично вплоть до:

elseif number eq 32768

shl ax,15 ; Умножение на 32768

else

mov dx,number ; Умножение на число, не являющееся

mul dx ; степенью двойки.

endif

endm

  1. Режими 0 і 1 таймера МК-51.

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