Mikrokomputer jednoukładowy 8048
Wstęp:
Procesor 8048 powstał w 1976 roku. Był jednym z pierwszych mikrokomputerów
jednoukładowych. Rozwinięciem jego koncepcji jest popularna do dziś rodzina
8051. Nie ma co się łudzić, że zdobędziemy 8049 z pamięcią flascheprom, ale
po niskiej cenie można zdobyć 8749 z pamięcią eprom. Problemem jest zdobyćie
literatury o rodzinie 8048. Celem niniejszego artykułu jest przybliżenie budowy,
zasady działania, sposobu programowania procesorow 8048. Na stronie AVT można
znaleźć kompilatory 8048 dla Amigi.
Procesor 8048 jest ośmiobitowuym mikrokomputerem jednoukładowym. Zegar
jest stabilizowany zewnętrznym kwarcem o maksymalnej częstotliwości 6, 8
lub 11MHz. Wewnętrzna pamięć programu 1024 bajty, może być rozszerzona do
4096 bajtów zewnętrzną pamięcią programu. Wewnętrzna pamięć danych 64 bajty,
rozszerzana do 256 bajtów przez zewnętrzną pamięć ram. Układ czasowo
licznikowy 8-bit. 27 lini wejścia/wyjścia zorganizowanych w trzy 8-bitowe porty
i trzy linie indywidualne. System przerwań jednopoziomowy.
- zestawienie procesorów rodziny MCS-48
- rozkład wyprowadzeń i ich funkcje
Architektura wewnętrzna:
- ALU
- Pamięć programu, licznik rozkazów
- Pamięć danych, stos
- Porty P1, P2, BUS
- Układ czasowo-licznikowy
- System przerwań
- Zegar systemowy
- Inicjowanie systemu
- programowanie pamięci programu typu EPROM
Specjalne tryby pracy:
Mikrokomputery rodziny MCS-48 mogą
pracować w kilku różnych trybach specjalnych, określonych przez
stan wejść /SS, EA, /RESET oraz poziom napięć zasilających Ucc
i Udd, a przeznaczonych do prac testowych i uruchomieniowych, a
także do obniżenia poboru prądu zasilania. W czasie normalnej
pracy, tzn. kiedy procesor wykonuje z pełną szybkością kolejne
cykle maszynowe i wszystkie pozostałe bloki działają normalnie,
powinno być: /SS = 1, EA = 0, /RESET = 1 (wartości logiczne) oraz
Ucc = +5V, Udd = +5V. W dalszej części niniejszego opracowania
zostaną omówione specjalne tryby pracy.
- Praca krokowa
- Praca z zewnętrzną pamięcią programu
- Tryb obniżonego poboru mocy
- Praca jałowa
Rozudowa systemu:
MCS-48 może być rozbudowany przez dołączenie zewnętrznych
układów pamięci programu (do łącznej pojemności programu 4K
słów), pamięci danych (o maksymalnej pojemności 256 słów)
oraz wejścia-wyjścia. Stosując technikę przełączania układów
(ang. bank switching techniques), można powiększać - w sposób
niemal dowolny - zasoby pamięci systemu.
Do rozbudowania pamięci systemu można użyć dowolnych,
uniwersalnych układów pamięci. Można też wykorzystać
specjalizowane układy peryferyjne z rodziny MCS-80/85,
przystosowane do współpracy z multipleksowaną magistralą, a
mianowicie: 8355 (8755), zawierający 2K słów ROM (EPROM) i
dodatkowo dwa 8-bitowe porty we-wy, oraz 8155, zawierający 256
słów RAM, dwa 8-bitowe, jeden 6-bitowy port we-wy i układ
czasowy.
W celu rozbudowania we-wy można wykorzystać
specjalizowane układy ekspandera (cztery 4-bitowe porty) lub
dowolne inne układy we-wy, dołączone w przestrzeni adresowej
zewnętrznej pamięci danych.
Należy przy tym pamiętać, że rozbudowanie systemu - a
zwłaszcza dołączenie zewnętrznej pamięci programu - odbywa
się kosztem zmniejszenia linii wejścia - wyjścia (odpadają porty
BUS i P23-0) oraz straty części zalet jednoukładowości
mikrokomputera (np. pojawi się konieczność prowadzenia
połączeń typu magistralowego, na płytce drukowanej). Jeżeli
zdarzy się, że zasoby wewnętrzne układu są niewystarczające, to
należy też rozważyć zastosowanie dwóch mikrokomputerów (po
odpowiedniej dekompozycji zadań) lub mikrokomputera innego typu.
- Dołączanie zewnętrznej pamięci programu i pamięci danych
- Wykorzystanie układu ekspandera 8243
- Wykorzystanie uniwersalnych układów I/O
- Rozbudowa systemu przerwań
Lista rozkazów:
Listę rozkazów mikrokomputerów
rodziny MCS-48 zaprojektowano pod kątem realizacji prostych
algorytmów sterowania, nie wymagających skomplikowanych
obliczeń numerycznych. Lista zawiera 96 rozkazów, wyłącznie
jedno- (ponad 80%) lub dwubajtowych, wykonywanych w ciągu
jednego (ponad 50%) lub dwóch cykli maszynowych. Można
wyróżnić następujące rozkazy:
- przesłań, umożliwiające przesyłanie danych między
akumulatorem a innymi rejestrami (T, PSW) oraz akumulatorem a
pamięciami: wewnętrzną oraz zewnętrzną danych i programu;
- arytmetyczno-logiczne, umożliwiające wykonywanie
podstawowych operacji arytmetycznych (dodawania, przesuwania)
i logicznych (OR, AND, NOT); umożliwiają one prowadzenie
prostych obliczeń (bezpośrednio tylko dodawanie) na liczbach
dwójkowych oraz dziesiętnych (w zapisie BCD);
- skoków warunkowych, umożliwiające sprawdzanie stanu
akumulatora, poszczególnych bitów akumulatora, znaczników oraz
linii wejściowych.
- wejścia-wyjścia, umożliwiające odczytywanie, zapisywanie
oraz wykonywanie operacji logicznych (AND, OR) na zawartości
portów mikrokomputera i ekspandera 8243;
- do obsługi układu czasowo-licznikowego, umożliwiające
kierowanie pracą układu, rozpoczynanie i zatrzymanie zliczania
oraz odczytywanie i zapisywanie danych do licznika;
- sterujące, które służą do przełączania tomów i zbiorów
rejestrów oraz do sterowania pracą systemu przerwań.
- Tryby adresowania
- lista rozkazów z opisem
Mikrokomputery 8020, 8021, 8022:
- procesory 8020/8021 różnice w stosunku do 8048
- procesor 8022 różnice w stosunku do 8048
Konwersja tekstów i korekta: Aleksandra Skrzyńska Grafika i skład: Sławomir Skrzyński