Ім'я файлу: 1лаба_7вариант.docx
Розширення: docx
Розмір: 994кб.
Дата: 09.12.2022
скачати

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ

Факультет кібербезпеки, комп’ютерної та програмної інженерії


ЗВІТ

про виконання лабораторної роботи 1

з дисципліни: «Мікропроцесорні системи та мікроконтролери»

Роботу виконав: студент групи КС-333Б

Гейко В.Я.

перевірив:

доцент Малярчук В.О.

Київ 2022

ВИВЧЕННЯ СИСТЕМИ КОМАНД МІКРОКОНТРОЛЕРА КР1816ВЕ48




Мета роботи: Вивчення структурної схеми МК48, системи та форматів команд. Отримання навиків складання алгоритмів та розробки програм виконання арифметичних операцій для мікроконтролера МК48.

Варіант 7




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

  1. Вивчити архітектуру і систему команд МК48.

  2. В відповідності з варіантом завдання (за журнальним списком) записати значення операндів Х1 Х6, які подані в шістнадцятирічній системі числення, в регістри мікроконтролера МК48 із заданих портів (див. табл.1)

  3. Розробити операційні схеми, цифрові діаграми стану регістрів під час виконання основних операцій для обчислення виразу.

  4. Розробити для МК48 функціонально-структурний алгоритм обчислення виразу.

  5. Розробити програму обчислення виразу на асемблері МК48. Ознаку переносу, яка виникає під час виконання операцій додавання та зсувів, запам’ятовувати в окремий регістр, для отримання правильного результату, що має розмір два байта.

  6. Використовуючи моделюючий комплекс SCM MK48 [1, додаток Б]:

налагодити розроблену програму:

  • сформувати початковий текст програми у вікні екранного редактору комплексу SCM MK48, виконати пошук синтаксичних помилок та скомпілювати програму;

  • налагодити розроблену програму пристрою управління за допомогою програмно-логічної моделі SCM MK48 з отриманням повної інформації про хід виконанняпрограми.

  1. Зробити висновки.

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

Структура програми на мові асемблера MK48


Текст програми на мові асемблера MK48 має певну структуру. Кожна команда псевдокоманда) записуються в рядок наступної конструкції:

МІТКА: ОПЕРАЦІЯ ОПЕРАНД(И) ; КОМЕНТАР

Поля можуть відділятися один від одного довільним числом пробілів.

Мітка


У полі мітки розміщується символічне ім'я комірки пам'яті, в якій зберігається відмічена команда або операнд. Мітка є буквеноцифровою комбінацією, що починається з букви. Використовуються тільки букви латинського алфавіту.

Асемблер МК48 допускає використання в мітках символу підкреслення ( _ ). Довжина мітки не повинна перевищувати шість символів. Мітка завжди завершується двокрапкою ( : ).

Операція


В полі операції записується мнемонічне позначення команди МК48 або псевдокоманди асемблера, яке являється скороченням (абревіатурою) повної англійської назви виконуючої дії.

Наприклад:

MOV – Move – перемістити; JMP Jump – перейти;

DB Define Byte визначити байт.

Для МК48 використовується строго визначений та обмежений набір мнемонічних кодів. Будь-який інший набір символів, що розміщений в полі операції, сприймається асемблером як помилковий.

Операнди


В цьому полі визначаються операнд (або операнди), які приймають участь в операції. Команди асемблера можуть не мати операндів або мати один чи два операнди. Операнди розділяються комою ( , ).

Операнд може бути заданий безпосередньо або його адресою (прямою або непрямою).

Використані в якості операндів символічні імена та мітки повинні бути визначені, а числові значення – подані з вказівкою на систему числення. Для вказівки системи числення використовується суфікс буква, яка розміщується після числа. Число без суфіксу вважається десятковим. Застосовуються наступні суфікси:

В – двійкова система обчислення; Q – вісімкова система обчислення; D десяткова система обчислення;

Н шістнадцятирічна система обчислення.


Обробка виразів в процесі трансляції


Вираз представляє собою сукупність символічних імен та числових значень, що пов’язані операторами асемблера. Оператори асемблера забезпечують виконання в форматі двобайтних слів наступних операцій: арифметичних операцій: логічних операцій:

+ додавання; ORL АБО;

віднімання; ANL І;

* множення; XRL виключне АБО;

/ ділення; NOT заперечення.

Хід роботи



Блок-схема







SEL RB0 INS A,BUS

MOV R0,A;X1 INS A,BUS MOV R1,A;X2

Код програми:


INS A,BUS MOV R2,A;X3 INS A,BUS MOV R3,A;X4 INS A,BUS MOV R4,A;X5 INS A,BUS MOV R5,A;X6
MOV A,R0 ADD A,R1 DEC A

RL A

RL A

SEL RB1

MOV R0, A;4(x1+x2-1)
SEL RB0 MOV A, R3 ADD A, R2 CPL A

INC A SEL RB1

MOV R1,A;-(x3+x4)
SEL RB0 MOV A, R5 ANL A, R4 RR A

RR A CPL A INC A SEL RB1

MOV R2, A ;-(x5&x6)/4 CLR A

MOV A,R0 ADD A,R1 ADD A,R2 MOV R3,A
OUTL BUS,A

Робоче вікно початку роботи




Порти відносно варіанту



Оперативна пам`ять після запису чисел в регістри





Оперативна пам`ять після виконання коду



Робоче вікно після виконання коду





Часова діаграма порта BUS


Часова діаграма акумулятора





Висновок: На даній лабораторній роботі я почав вивчення структурної схеми МК48, системи та формату команд. Отримав навики складання алгоритмів та розробки програм виконання арифметичних операцій для мікроконтролера МК48.


Контрольні запитання





  1. Які способи адресації використовуються під час звернення до регістрів банків регістрів?

Реєстрова адресація використовується для звернення до восьми робочих регістрів обраного банку робочих регістрів, а також для звернення до регістрів А, В, АВ (здвоєному регістру), DPTR, і до прапора перенесення С. Номер регістра записується в трьох молодших бітах команди. Для звернення до регістрів в банках 1, 2, 3 виділені відповідно адреси 30h.3Fh, 50h.5Fh, 70h.7Fh.
  1. Яким чином виконують переключення між банками регістрів?


Перемикань банків можна розглядати як спосіб розширення шини адреси процесора за допомогою зовнішнього регістра. Наприклад, процесор з 16- бітної зовнішньої шиною адреси може адресувати 216 = 65536 осередків пам'яті. Якщо до системи долучення Зовнішній тригер, з його допомогою можна управляти, в якого з двох наборів блоків пам'яті по 65536 осередків кожен буде виконувати доступ. Процесор може перемикати використовуваний набір блоків, які встановлюють або скидають тригер.
  1. У якій області пам'яті розташовуються банки регістрів?



Регістр CP призначений для зберігання адреси початку поточного банку регістрів загального призначення (GPR). Область банків (GPR) розташовується

в діапазоні адрес внутрішнього ОЗУ по парних адресах. При створенні банків необхідно стежити за тим, щоб всі регістри GPR розташовувалися в межах

внутрішнього ОЗУ мікроконтролера.

  1. Які регістри застосовуються як покажчики адреси під час непрямої адресації?


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

Абсолютні способи формування припускають, що двійковий код адресу осередки пам'яті може бути цілком витягнутий або з адресного поля команди, або з якоїсь іншої комірки в разі непрямої адресації.

Відносні способи формування допускають, що двійковий код в адресному осередку пам'яті утворюється з декількох складових: Б v код бази,

И v код індексу, С v код зміщення.
  1. Чому регістр R5 не може бути застосований як покажчик адреси під час непрямої адресації?

Непряма адресація служить для зменшення довжини програми з великою кількістю змінних адрес. В регістр R5 записується відповідь, тому він не може бути застосований як покажчик адреси під час непрямої адресації.

  1. Зобразити за допомогою мнемонічної схеми формування адреси для ОЗП. В режимі роботи МК48 з зовнішньою пам’яттю даних використовуються додаткові мікросхеми ОЗП об’ємом 256 байт. Якщо адресний простір має об’єм більш ніж 256 байт, то необхідна сторінкова організація зовнішньої пам’яті даних. При роботі з адресами в межах однієї сторінки застосовуються командMOVX A,@Rr, MOVX @Rr,A (де r = 1, 0). Обмін інформацією здійснюється між акумулятором А і коміркою ОЗП, яка непрямо адресується через регістр R0 або R1. Переключення між сторінками потребує використання додаткових команд вибору сторінки пам’яті даних.

  2. У чому полягає основна відмінність ознак, що входять до складу регістру

PSW, та інших ознак, що формуються в МК48?



Регістр стану програми (PSW) - служить для зберігання інформації про результат виконання операції в АЛУ. Його називають також регістром прапорів (ознак).


  1. Як реалізувати додавання двох двобайтних чисел?


Програмування операції додавання двобайтних чисел ускладнюється через відсутність у досліджуваного мікроконтролера необхідних команд для двобайтних операндів. Доводиться розробляти програмне забезпечення на основі команд для однобайтних операндів. Вручну операцію додавання можна здійснити наступним чином:


скачати

© Усі права захищені
написати до нас