
Контрольні запитання і задачі
1. Чому регістр СХ називають регістром-лічильником?
Тому що регістр СХ використовують в командах, які повторються.
2. Який формат має оператор LOOP?
LOOP – це оператор циклу, який задає перехід до певної команди через її адресу.
3. На що вказує адреса переходу в операторі LOOP?
На команду, до якої буде здійснюватися перехід.
4. Що називають кратністю циклу?
Кратність показує, скільки раз програма буде заходити в цикл.
5. Який регістр МП використовується для організації непрямої адресації?
Будь-який.
6. Зробіть порівняльну характеристику операторів:
MOV AX, [BX]
MOV AX, BX
MOV AX, [120]
В першій команді процесор спочатку оцінює, яке значення містить ВХ, потім яке значення знаходиться в тій комірці пам’яті, і поміщає це значення в АХ.
Друга команда використовується для отримання безпосереднього значення з пам’яті, тобто значення АХ повністю замінюється вмістом ВХ.
Третя команда використовується для отримання значення з пам’яті (в дужках знаходиться зміщення).
7. Запишіть оператор, який здійснить збільшення регістра АХ на 6.
ADD AX, 6
Тема: Розробка і від лагодження асемблерних програм.
Мета: Вивчити сценарій розробки програми на Асемблері
Контрольні запитання і завдання:
1. Яке із вказаних розширень імен файлів можна вказати самому: .asm, .obj, .exe?
Тільки розширення .asm, адже воно просто містить код програми на Assembler.
2. Як називається файл proba.map і яку інформацію він містить?
Такий файл називається протокол компоновки і містить інформацію про компоновку, виконану раніше командою TLINK.
3. Що відбувається при виконанні оператора LOOP povt?
Повернення програми на встановлену мітку povt.
4. Вкажіть директиву, яка резервує комірки пам’яті збереження 32-розрядного числа.
Наприклад, X DW 4.
5. Скільки біт інформації містить число 4ch?
Число 4ch містить 76 біт.
6. Запишіть директиви для розміщення однобайтових констант Х1=-40, Х2=125.
Це будуть такі директиви:
X1 DW -40
X2 DW 125
7. Запишіть директиву, яка резервує комірки пам’яті для запису в них десяти чотирибайтних числа.
X W ? Y W ? Z W ? D W ?
Тема: Ознайомлення роботи з інтелектуальним середовищем для програмування та моделювання мікроконтролерних пристроїв.
Мета: Вивчення роботи в середовищі моделювання PROTEUS VSM та середовищі програмування для мікроконтролерів AVR «Algoritm Builder».
Контрольні питання:
1. Поясніть призначення лічильників.
Лічильник – пристрій для підрахунку кількості сигналів, які надходять на його вхід. Двійкові лічильники реалізують лічбу вхідних імпульсів у двійковій системі числення.
2. Де застосовуються лічильники? Назвіть їх імена в мікропроцесорах.
3. Поясніть принцип роботи лічильника з програмованим коефіцієнтом ділення частоти.
D0-D3 є входами паралельного занесення даних, CLK – тактовий вхід, D/U – лічення в прямому напрямку (додавання) або в зворотному (віднімання), PL – запис паралельної інформації. Q0-Q3 є виходами, за допомогою яких на табло й виводиться число від 0 до 9.
4. Поясніть необхідність з’єднання входів SR та SL на мікросхемах U1 та U2.
Адже ці вході є послідовними входами при зсуві, відповідно, право і вліво, й використовується для об’єднання декількох мікросхем.
5. Яка кількість імпульсів F потрібна для зсуву інформації з регістра U1 в регістр U2 та навпаки.
Імпульс F – це одне перемикання 0-1-0, отже таких імпульсів потрібно 15.
6. Поясніть призначення цих регістрів.
Ці регістри встановлені задля забезпечення роботи схеми і правильного лічення.
7. Поясніть, яка кількість імпульсів F потрібна для зсуву інформації з 8-розрядного регістра в інший 8-розрядний регістр.
255 імпульсів.
Тема: Дослідження організації вводу-виводу в мікропроцесорних системах
Мета: Вивчення функціонування мікропроцесорної системи
Контрольні питання:
1. Як називаються функціональні елементи U1 та U14?
Елемент U1 являється декодером, U14 є синхронним D-тригером.
2. Поясніть функціональне призначення всіх елементів схеми.
На схемі присутній декодер для перетворення сигналів, D-тригери для обробки сигналів, елементи І та два дисплея для відображення числа.
Теоретичні відомості
1. Мікроконтролер (MCU) - мікросхема, призначена для керування електронними пристроями. Типовий мікроконтроллер поєднує в собі функції процесора і периферійних пристроїв, може містити ОЗУ і ПЗУ. По суті, це однокристальний комп'ютер, здатний виконувати прості завдання. Використання однієї мікросхеми, замість цілого набору, як у випадку звичайних процесорів, що застосовуються в персональних комп'ютерах, значно знижує розміри, енергоспоживання і вартість пристроїв, побудованих на базі мікроконтролерів.
Мікроконтролери є основою для побудови вбудованих систем, їх можна зустріти в багатьох сучасних приладах, таких, як телефони, пральні машини і т. п. Велика частина випускаються у світі процесорів – мікроконтролери.
Якщо представити всі типи сучасних мікроконтролерів (МК), то можна дивуватися величезною кількістю різноманітних приладів цього класу, доступних споживачеві. Проте всі ці пріори можна розділити на наступні основні типи:
Вбудовувані (embedded) 8-розрядні МК;
16 і 32-розрядні МК;
Цифрові сигнальні процесори.
Промисловістю випускаються дуже широка номенклатура вбудованих МК. У них всі необхідні ресурси (пам'ять, пристрої введення-виведення і т.д.) розташовуються на одному кристалі з процесорним ядром. Якщо подати харчування і тактові імпульси на відповідні входи МК, то можна сказати, що він як би «оживе» і з ним можна буде працювати. Зазвичай МК містять значну кількість допоміжних пристроїв, завдяки чому забезпечується їх включення в реальну систему з використанням мінімальної кількості додаткових компонентів. До складу цих МК входять:
Схема початкового запуску процесора (Reset);
Генератор тактових імпульсів;
Центральний процесор;
Пам'ять програм (E(E)PROM) і програмний інтерфейс;
Засоби введення/виводу даних;
Таймери, що фіксують кількість командних циклів.
Більш складні вбудовувані МК можуть додатково реалізовувати наступні можливості:
Вбудований монітор/налагодження програм;
Внутрішні засоби програмування пам'яті програм (ROM);
Обробка переривань від різних джерел;
Аналоговий введення/виводу;
Послідовний ввід/вивід (синхронний та асинхронний);
Паралельний ввід/вивід (включаючи інтерфейс з комп'ютером);
Підключення зовнішньої пам'яті (мікропроцесорний режим).
2. Процесор містить дванадцять 16-розрядних регістрів, що програмно-адресуються, які прийнято об'єднувати в три групи: регістри даних, регістри-покажчики і сегментні регістри. Регістри даних і регістри-покажчики часто об'єднують під загальною назвою "Регістри загального призначення". Крім того, до складу процесора входять покажчик команд і регістр прапорів .
У групу регістрів даних включаються чотири регістри АХ, ВХ, СХ і DX. Програміст може використовувати їх на свій розсуд для тимчасового зберігання будь-яких об'єктів (даних або адрес) і виконання над ними необхідних операцій. При цьому регістри допускають незалежне звернення до старших (АН, ВН, СН і DH) і молодших (AL, BL, CL і DL) половин.
3. Пам'ять даних МК виконується, як правило, на основі статичного ОЗП. Термін "статичне" означає, що вміст комірок ОЗП зберігається при зниженні тактової частоти МК до як завгодно малих значень (з метою зниження енергоспоживання). Більшість МК мають такий параметр, як "напруга збереження інформації" - USTANDBY. При зниженні напруги живлення нижче мінімально допустимого рівня UDDMIN, але вище рівня USTANDBY робота програми МК виконуватися не буде, але інформація в ОЗП зберігається. При відновленні напруги живлення можна буде проініціалізувати МК і продовжити виконання програми без утрати даних. Рівень напруги збереження складає зазвичай близько 1 В, що дозволяє в разі потреби перевести МК на живлення від автономного джерела (батареї) і зберегти в цьому режимі дані ОЗП.
Об'єм пам'яті даних МК, як правило, невеликий і складає переважно десятки і сотні байт. Цю обставину необхідно враховувати при розробці програм для МК. Так, при програмуванні МК константи, якщо можливо, не зберігаються як змінні, а заносяться в ПЗП програм. Максимально використовуються апаратні можливості МК, зокрема, таймери. Прикладні програми повинні орієнтуватися на роботу без використання великих масивів даних.
ПЗП, програмовані користувачем, з електричним стиранням - EEPROM (Electrically Erasable Programmable ROM). ПЗП даного типу можна вважати новим поколінням EPROM, у яких стирання комірок пам'яті відбувається також електричними сигналами за рахунок використання тунельних механізмів. Застосування EEPROM дозволяє стирати і програмувати МК, не знімаючи його з плати. Таким чином можна проводити налагодження і модернізацію програмного забезпечення. Це дає величезний виграш на початкових стадіях розробки мікроконтролерних систем або в процесі їх вивчення, коли багато часу іде на пошук причин непрацездатності системи і виконання циклів стирання-програмування пам'яті програм. За ціною EEPROM займають середнє місце між OTPROM і EPROM. Технологія програмування пам'яті EEPROM допускає побайтове стирання і програмування комірок. Незважаючи на очевидні переваги EEPROM, тільки в рідких моделях МК така пам'ять використовується для збереження програм. Це пов'язано з тим, що, по-перше, EEPROM мають обмежений об'єм пам'яті. По-друге, майже одночасно з EEPROM з'явилися Flash-ПЗП, що при подібних споживчих характеристиках мають меншу вартість.
4. Послідовні порти, паралельні порти, універсальна послідовна шина (Universal Serial Bus - USB), IEEE-1394 (i.Link або FireWare) - усе це інтерфейси вводу-виводу. Мова йде про основні інтерфейси вводу-виводу сучасних персональних комп'ютерів. Основними засобами комунікації, використовуваними в РС, є послідовні і паралельні порти. До послідовних портів частіше підключаються двонаправлені пристрої, які повинні як передавати інформацію в комп'ютер, так і приймати її. Паралельні порти як правило використовуються для підключення принтерів і працюють в однонапрямленому режимі, хоча можуть застосовуватися і як двонаправлні. Деякі фірми випускають програми, призначені для організації високошвидкісної передачі даних між комп'ютерами через послідовні або паралельні порти.
4.1 Асинхронний послідовний інтерфейс - це основний тип інтерфейсу, за допомогою якого здійснюється взаємодія між комп'ютерами. Термін асинхронний означає, що при передачі даних не використовуються ніякі синхронізуючі сигнали й окремі символи можуть передаватися з довільними інтервалами, як, наприклад, при введенні даних із клавіатури. Кожному символу, переданому через послідовне з'єднання, повинен передувати стандартний стартовий сигнал, а завершувати його передачу повинен стоповий сигнал. Стартовий сигнал - це нульовий біт, названий стартовим бітом. Його призначення - повідомити приймаючому пристрою про те, що наступні вісім бітів являють собою байт даних. Після символу передаються один або два стопових біти, що сигналізують про закінчення передачі символу. У приймаючому пристрої символи розпізнаються по появі стартових і стопових сигналів, а не по моменту їхньої передачі. Асинхронний інтерфейс орієнтований на передачу символів (байтів), а при передачі використовується приблизно 20% інформації тільки для ідентифікації кожного символу. Термін послідовний означає, що передача даних здійснюється по одиночному провіднику, а біти при цьому передаються послідовно, один за іншим. Такий тип зв'язку характерний для телефонної мережі, у якій кожен напрямок обслуговує один провідник. До послідовних портів можна підключити найрізноманітніші пристрої: модеми, плоттери, принтери, інші комп'ютери, пристрої зчитування штрих-коду або схему керування пристроями. В основному у всіх пристроях, для яких необхідна двонаправлений зв'язок з комп'ютером, використовується послідовний порт, що став стандартом, RS232C (Reference Standart number 232 revision C - стандарт обміну номер 232 версії С), що дозволяє передавати дані між несумісними пристроями. Дотепер для послідовного зв'язку IBM PC-сумісних комп'ютерів використовуються адаптери з інтерфейсом RS-232С (нова назва EIA-232D). У сучасному IBM PC-сумісному комп'ютері може використовуватися до чотирьох послідовних портів, що мають логічні імена відповідно COM1, COM2, COM3 і COM4. Основою послідовного адаптера є мікросхема UART (Universal Asynchronous Receiver/Transmitter) — універсальний асинхронний прийомопередатчик. Звичайно використовується мікросхема UART 16550A. Вона має 16-символьний буфер на прийом і на передачу і, крім того, може використовувати кілька каналів прямого доступу в пам'ять DMA. При передачі мікросхема UART перетворить паралельний код у послідовний і передає його побітово в лінію, обрамляючи вихідну послідовність бітами старту, зупинки і контролю. При прийомі даних UART перетворить послідовний код у паралельний (зрозуміло, опускаючи службові символи). Неодмінною умовою правильної передачі (прийому) є однакова швидкість роботи прийомного і передавального UART, що забезпечується стабільною частотою кварцового резонатора. Основною перевагою послідовної передачі є можливість пересилання даних на великі відстані, як правило, не менш 30 метрів. У IBM PC-сумісних персональних комп'ютерах з 25 сигналів, передбачених стандартом RS-232, використовуються відповідно до EIA тільки 9; таким чином, у даному інтерфейсі застосовуються як 25-, так і 9-контактні рознімання типу DB-Shell.
4.2 У паралельних портах для одночасної передачі байта інформації використовується вісім ліній. Цей інтерфейс відрізняється високою швидкодією, часто застосовується для підключення до комп'ютера принтера, а також для з'єднання комп'ютерів. (Адже при цьому істотно вища швидкість передачі даних, ніж при з'єднанні через послідовні порти: 4, а не 1 біт за раз.)
До паралельних портів може підключатися усе: від накопичувачів на магнітній стрічці до CD-ROM. Часто двонаправлений паралельний порт використовується для передачі даних між двома комп'ютерами, наприклад між настільним і портативним. Для зв'язку двох комп'ютерів через паралельний порт потрібен спеціальний кабель. У Windows 9х включена спеціальна програма, що називається Пряме кабельне з'єднання (Direct Cable Connection), яка дозволяє з'єднати два комп'ютери через нуль-модемний кабель. Персональний комп'ютер працює максимум із трьома паралельними портами, що мають логічні імена LPT1, LPT2 і LPT3. Приєднання кабелю до адаптера паралельного інтерфейсу виробляється через 25-контактне роз’єм типу DB-Shell (DB-25), а з боку принтера використовується спеціальне 36-контактне роз’єм типу Centronics. Оскільки частота переданих сигналів може досягати десятків кгц, довжина таких кабелів звичайно не перевищує трьох метрів. Відомо кілька модифікацій паралельних швидкісних інтерфейсів, наприклад EPP (Enhanced Parallel Port) і ECP (Extended Capabilities Port). Ці інтерфейси забезпечують швидкість до 2-5 Мбайт/з і підтримують двосторонню передачу даних. В даний час обидві модифікації об'єднані в одному стандарті IEEE 1284.
5. Компаратором, або пристроєм порівняння називають – функціональний вузол, що забезпечує порівняння двох чисел А і В. Якщо А і В – n-розрядні двійкові числа, то компаратор іменують цифровим. Найпростіші компаратори формують на виході однобітовий сигнал рівності, або нерівності порівнюваних чисел А і В. Ці відношення використовуються як логічні умови в мікропрограмах, в пристроях контролю і діагностики ЕОМ. В пристроях автоматики компаратори використовуються для сигналізування про вихід величин за встановлені межі. Компаратори будуються на основі порозрядних операцій над однойменними розрядами обох слів. Слова рівні, якщо попарно рівні всі однойменні їх розряди.
Складніші компаратори виявляють не тільки факт рівності двох n-разрядных чисел, але і порівнюють числа по значенню. Такі компаратори мають три виходи: “A>B”, “A=B”, “A<B”, і залежно від співвідношення величин А і В активний рівень (рівень логічної одиниці) з’являється на одному з цих виходів. Побудувати такий компаратор можна на базі двійкового суматора, виконавши на ньому операцію віднімання А-В і проаналізувавши отриманий результат. Для цього на суматор потрібно подати число В в додатковому коді. Тоді вихідне перенесення суматора (р1) буде рівне 0 лише у тому випадку, коли А строго менше В. Рівність різниці 0 є ознакою того, що А=В. Одиниця перенесення при нульовій сумі вказує на те, що А строго більше В.
Правила справедливі, якщо числа А і В розглядаються як позитивні величини, без знака. Якщо ж їх старші розряди потрактують як знаки, то правила будуть дещо інші. Їх легко вивести самостійно, якщо є навики поводження із зворотними і додатковими кодами.
Прикладом компаратора двійково-кодуючих чисел може служити ІС 4 розрядного компаратора К555СП1. Компаратор має 11 входів. Чотири пари входів аi bi (i=0,1,2,3) використовуються для подачі на них відповідних розрядів порівнюваних чисел, входи A<B, A=B, A>B дозволяють каскадувати декілька ІС компараторів для збільшення розрядності порівнюваних чисел. Компаратор має три виходи результатів порівняння: A>B, A=B і A<B. При тому, що каскадує виходи A>B, A=B і A<B схеми, що порівнює молодші розряди, слід приєднати до однойменних входів подальшого каскаду. Цим способом за допомогою двох компараторів СП1 можна порівнювати два восьмирозрядні слова. Неважко підрахувати необхідне число каскадів для будь-якої більшої довжини порівнюваних слів.