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

2.Розробка схеми пристрою.

2.1. Архітектура мікроконтролера.

8080 є однокристальним мікропроцесором, що працюють з 8-розрядною шиною даних і 16-розрядною шиною адреси. Керуючі сигнали передаються по шині керування. Шини відокремлені один від одного.

Рис.2.1 Структура Intel 8080

Мікропроцесор містить внутрішню шину даних, за допомогою якої відбувається обмін інформацією між внутрішніми регістрами, арифметично-логічним пристроєм, що обробляють 8-розрядні дані і передає їх через буфер на зовнішню шину даних. Крім того, до складу 8080 входить пристрій управління, буфер адресної шини, пов'язаний з регістром команд і блок регістрів. У загальних рисах робота мікропроцесора виглядає наступним чином: у регістрі, званому програмним лічильником, зберігається адреса наступної команди, яку необхідно виконати. Пристрій управління підключає цей регістр до шини адреси (звичайно, через буфер) і видає керуючі сигнали, необхідні для читання коду команди з пам'яті. На цьому завершується перший такт.

У наступному такті мікропроцесор перевіряє стан сигналів на вході готовності і запит зупину. При їх наявності мікропроцесор переходить у відповідний стан. В іншому випадку, після появи на шині керування сигналів, що підтверджують видачу коду команди на шину даних, пристрій управління підключає до неї регістр команди і записує в неї отриманий код. Це потрібно тому, що команда передається тільки в першому машинному циклі, а зберегти її потрібно на весь час виконання команди. З регістру команди її код надходить в дешифратор команди і потім в пристрій керування, що у залежності від надійшла команди або відразу переходить до її виконання, або зчитує дані або адресу, розташовані відразу після коду команди і необхідні для її виконання. На це витрачається третя такт і, якщо це необхідно, четвертий і п'ятий такти. Таким чином, вся команда виконується за 3-5 тактів. При тактовій частоті 2 МГц це становить 1.5-2.5 мкс.

Перед виконанням команди перевіряється стан сигналу на вході захоплення шини HLD (цей сигнал відключає мікропроцесор від шини, даючи зовнішніх пристроїв можливість прямого доступу в пам'ять по загальній шині). При його виявленні мікропроцесор переходить в стан захоплення і виробляє сигнал підтвердження захоплення шини. Після зняття сигналу HLD процесор продовжує виконання команди. В кінці машинного циклу знову аналізується стан входу захоплення, а потім перевіряється, чи завершено виконання команди. Якщо ні, то мікропроцесор переходить до виконання наступного циклу команди. Це може бути цикл роботи з оперативною пам'яттю чи з зовнішнім пристроєм.

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

Наступним важливим вузлом мікропроцесора є блок регістрів. Він включає в себе 16-розрядний регістр для тимчасового зберігання даних WZ, шість 8-розрядних регістрів загального призначення B, C, D, E, H, L, які можуть використовуватися парами в якості 16-розрядних - BC, DE, HL (це зроблено насамперед для зручної роботи з адресами). Крім того, блок регістрів містить 16-розрядний регістр адреси команди IP (програмний лічильник), 16-розрядний регістр покажчика стека SP, а також 16-розрядну схему інкремента-декремента. За допомогою останньої змінюється, наприклад, стан програмного лічильника після виконання кожної наступної команди. Ще один важливий вузол - регістр результату (акумулятор), пов'язаний з АЛУ і використовуваний для зберігання одного з вихідних операндів або результату виконання команди.

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