Technika mikroprocesorowa I Wykład 4

Podobne dokumenty
MIKROPROCESORY architektura i programowanie

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

MIKROPROCESORY architektura i programowanie

Hardware mikrokontrolera X51

architektura komputerów w 1 1

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Zerowanie mikroprocesora

MIKROKONTROLERY I MIKROPROCESORY

Mikrokontroler Intel dr inż. Wiesław Madej

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Informacje ogólne o układzie 8051.

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

Opis mikrokontrolera AT89C2051

TECHNIKA MIKROPROCESOROWA

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Start Bity Bit Stop 1 Bit Par Rys. 1

Instytut Teleinformatyki

Instytut Teleinformatyki

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 3

Mikroprocesor Intel 8088 (8086)

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Mikrokontroler 80C51

Pracownia elektryczno-elektroniczna klasa IV

2. Architektura mikrokontrolerów PIC16F8x... 13

Techniki mikroprocesorowe i systemy wbudowane

Organizacja typowego mikroprocesora

Wstęp Architektura... 13

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834

Przerwania w architekturze mikrokontrolera X51

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

MIKROKOMPUTERY JEDNOUKŁADOWE RODZINY MCS - 51

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 3

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Układy czasowo-licznikowe w systemach mikroprocesorowych

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

LABORATORIUM nr 2. Temat: Obsługa wyświetlacza siedmiosegmentowego LED

Architektura komputerów

A&Q PYTANIA I ODPOWIEDZI Z MIKROKONTROLERÓW

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Instytut Teleinformatyki

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

ARCHITEKTURA PROCESORA,

Technika mikroprocesorowa I Wykład 1

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02

SML3 październik

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

dwójkę liczącą Licznikiem Podział liczników:

Temat: Pamięci. Programowalne struktury logiczne.

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Programowanie w językach asemblera i C

Systemy mikroprocesorowe. Literatura podręcznikowa. Przedmioty związane. Przykłady systemów wbudowanych. Pojęcie systemu wbudowanego embedded system

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Technika mikroprocesorowa I Wykład 1

Technika Mikroprocesorowa II Wykład 1

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Technika Mikroprocesorowa

Wbudowane układy komunikacyjne cz. 1 Wykład 10

WPROWADZENIE Mikrosterownik mikrokontrolery

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Mikrokontroler AVR ATmega32 - wykład 9

Mikroprocesory i Mikrosterowniki

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Przykładowe pytania DSP 1

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Architektura komputerów

Historia mikrokontrolerów

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR.

Układy zegarowe w systemie mikroprocesorowym

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

dokument DOK wersja 1.0

System mikroprocesorowy i peryferia. Dariusz Chaberski

Programowany układ czasowy

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Programowanie mikrokontrolerów. 8 listopada 2007

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Moduł licznika położenia LP 2.

Układ transmisji szeregowej AVR

Programowany układ czasowy APSC

Metody obsługi zdarzeń

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy :

Transkrypt:

Technika mikroprocesorowa I Wykład 4

Układ czasowo licznikowy 8253 INTEL [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Wyprowadzenia układu [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

D0-D7: 8-mio bitowa magistrala danych, CS: aktywacja układu (aktywny stanem niskim), A0, A1: wybór jednej z czterech lokacji zajmowanych przez układ (licznik0, licznik1, licznik2, rejestr kontrolno-sterujący), RD- strob odczytu (aktywny stanem niskim), WR- strob zapisu (aktywny stanem niskim), CLKi- wejście zegara licznika i= 0 lub 1 lub 2, OUTi- wjście licznika i, GATEi- wejście bramkujące zliczaniem licznika i.

Adresacja liczników i słowa kontrolnego [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Schemat blokowy układu 8253 [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Słowo sterujące układu 8253 [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

SC1, SC0: umożliwiają indywidualne programowanie każdego z liczników, RW1, RW0- tryb dostępu do liczników lub zatrzaskiwanie wartości zliczonej, M2, M1, M0- wybór trybu pracy, BCD- zliczanie binarne lub dziesiętne.

Tryby pracy układu Tryb 0 Przerwanie po odliczeniu żądanej liczby impulsów. W stanie początkowym wyjście OUT znajduje się w stanie 0. Po załadowaniu do licznika wartości początkowej, licznik zaczyna zliczać. W chwili gdy licznik się wyzeruje następuje przejście wyjścia OUT do stanu wysokiego. Tryb 1 Programowalny uniwibrator. W stanie początkowym wyjście układu OUT jest w stanie wysokim. Po wystąpieniu narastającego zbocza na wejściu GATE, wyjście OUT zmienia stan na niski, który będzie trwał do końca zliczania impulsów taktujących. Po wyzerowaniu licznika wyjście OUT ponownie przechodzi w stan wysoki.

Tryb 2 Programowalny dzielnik częstotliwości. Jak w trybie 1 aż do chwili gdy licznik osiągnie wartość jeden (przed wyzerowaniem). Wyjście OUT, które znajdowało się dotychczas w stanie wysokim, zostaje wówczas sprowadzone do niskiego poziomu na czas jednego okresu przebiegu taktującego. Następuje ponowne załadowanie licznika wartością i wykonanie całego cyklu. Tryb 3 Generator fali prostokątnej. Tryb 4 Generator impulsu wyzwalanego programowo. Tryb 5 Generator impulsu wyzwalany sprzętowo.

Mikrokontroler 8051 (INTEL) Literatura: MIKROKOMPUTERY JEDNOUKŁADOWE RODZINY MCS-51 A. Rydzewski ATMEL AT89C51 Data Sheet [Źródło: www.atmel.com]

W skład układu wchodzą: - 8-mio bitowe CPU. - Nieulotna pamięć programu typu ROM (8051), EPROM (8751), EEPROM (89C51) o pojemności od 4kB lub bez pamięci wewnętrznej (8031). - 128 Bajtów pamięci danych (w mikrokontrolerze 80C52-256 bajtów). - System przerwań maskowalnych zewnętrznych i wewnętrznych. - Dwa 16-to bitowe układy czasowo licznikowe. - Port szeregowy (asynchroniczny, synchroniczny). - Cztery 8-mio bitowe porty we-wy.

ZEGAR Pamięć programu - ROM Pamięć danych -RAM CPU 8- bitowe System przerwań Układy czasowolicznikowe Port szeregowy Porty we-wy TxD RxD T0 P2 P1 P0 T1 INT0 INT1 P3 Schemat blokowy mikrokontrolera 8051

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP Wyprowadzenia układu 8051 P0.0-P0.7 (AD0-AD7): 8-mio bitowy port równoległy, dwukierunkowy lub przy podłączeniu zewnętrznej pamięci programu lub danych, multipleksowana magistrala danych i młodszych adresów. P1.0-P1.7: 8-mio bitowy port równoległy, dwukierunkowy P2.0-P2.7 (A8-A15): 8-mio bitowy port równoległy, dwukierunkowy lub przy podłączeniu zewnętrznej pamięci programu lub danych magistrala starszych linii adresowych adresów.

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP P3.0-P3.7: 8-mio bitowy port równoległy, dwukierunkowy lub wybrane piny: -wejście portu szeregowego, -wyjście portu szeregowego, -wejście przerwań maskowalnych INT0, -wejście przerwań maskowalnych INT1, -wejście licznika T0, -wejście licznika T1, Przy dołączeniu zewnętrznej pamięci danych: -wyjście strobu zapisu pamięci danych, -wyjście strobu odczytu pamięci danych.

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP XTAL1, XTAL2: wejścia wewnętrznego generatora. RST/VPD: sygnał zerowania układu lub podtrzymanie napięcia zasilania w trybie obniżonego poboru mocy. ALE: sygnał informujący iż na porcie P0 znajduje się ważna młodsza część adresu zewnętrznej pamięci- służy do jej zatrzaskiwania w rejestrze zewnętrznym. PSEN: wyjście strobu odczytu zewnętrznej pamięci programu (aktywne stanem niskim) EA/VPP: wymuszenie pobierania programu z zewnętrznej pamięci programu/zasilanie przy programowaniu.

8051 może pracować: -z wewnętrzna pamięcią programu o pojemności 4kB oraz wewnętrzną pamięcią danych o pojemności 128 bajtów (8052-256 bajtów), P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 27p 12MHz 27p vcc 10k RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP vcc 10k 10uF 80C51

-we wszystkich powyższych przypadkach można dołączyć dodatków 64kB zewnętrznej pamięci danych. Przy dołączeniu pamięci zewnętrznej programu lub danych niezbędny jest dodatkowy układ do zatrzaskiwania młodszej części adresu, ponadto użytkownik ma do dyspozycji tylko jeden 8-mio bitowy port P1 oraz 8 lub 6 bitów (współpraca z pamięcią danych) portu P3.

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 I0 I1 I2 I3 I4 I5 I6 I7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 A0 A1 A2 A3 A4 A5 A6 A7 D0 D1 D2 D3 D4 D5 D6 D7 27p 12MHz 27p vcc 10k 10uF RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD 80C51 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP 10k L OE 74LS573 A8 A9 A10 A11 A12 A13 A14 A15 EEPROM OE CS vcc -z wewnętrzna pamięcią programu o pojemności 4kB i zewnętrzną pamięcią programu uzupełniającą obszar pamięci programu do 64 kb, oraz wewnętrzną pamięcią danych o pojemności 128 bajtów (8052-256 bajtów),

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 I0 I1 I2 I3 I4 I5 I6 I7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 A0 A1 A2 A3 A4 A5 A6 A7 D0 D1 D2 D3 D4 D5 D6 D7 27p 12MHz 27p vcc 10k RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP L OE 74LS573 A8 A9 A10 A11 A12 A13 A14 A15 EEPROM OE CS 10uF 80C51 -z zewnętrzną pamięcią programu o pojemności 64kB bez korzystania z pamięci wewnętrznej oraz wewnętrzną pamięcią danych o pojemności 128 bajtów (8052-256 bajtów),

AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD ALE PSEN EA/VPP 80C51 vcc 12MHz 27p 27p 10k 10uF I0 I1 I2 I3 I4 I5 I6 I7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 L OE 74LS573 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 D0 D1 D2 D3 D4 D5 D6 D7 RD CS WR RAM -we wszystkich powyższych przypadkach można dołączyć dodatkowo 64kB zewnętrznej pamięci danych.

AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD ALE PSEN EA/VPP 80C51 vcc 12MHz 27p 27p 10k 10uF I0 I1 I2 I3 I4 I5 I6 I7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 L OE 74LS573 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 D0 D1 D2 D3 D4 D5 D6 D7 OE CS EEPROM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 D0 D1 D2 D3 D4 D5 D6 D7 RD CS WR RAM Również przy korzystaniu z zewnętrznej pamięci programu.

Należy zauważyć iż przestrzeń adresowa pamięci programu i danych jest rozdzielna. Do odczytu zewnętrznej pamięci programu służy sygnał PSEN. Do odczytu zewnętrznej pamięci danych sygnał RD. Do zapisu zewnętrznej pamięci danych sygnał WR. Jest to tzw. architektura pseudo Harvard, ponieważ nie ma oddzielnych magistral adresowych i danych dla programu oraz danych. Oba obszary pamięci można połączyć w łatwy sposób.

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AD0/P0.0 AD1/P0.1 AD2/P0.2 AD3/P0.3 AD4/P0.4 AD5/P0.5 AD6/P0.6 AD7/P0.7 I0 I1 I2 I3 I4 I5 I6 I7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 A0 A1 A2 A3 A4 A5 A6 A7 D0 D1 D2 D3 D4 D5 D6 D7 27p 27p 10k 10uF 12MHz vcc RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL1 XTAL2 RST/VPD 80C51 A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A12/P2.4 A13/P2.5 A14/P2.6 A15/P2.7 ALE PSEN EA/VPP Po połączeniu obu obszarów pamięci do dyspozycji mamy w sumie 64 kb zewnętrznej pamięci programu i danych oraz 128 (256) bajtów wewnętrznej pamięci danych L OE 74LS573 A15 A15 A8 A9 A10 A11 A12 A13 A14 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 EEPROM RAM OE CS D0 D1 D2 D3 D4 D5 D6 D7 RD WR CS

Cykle magistrali w 8051 S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 XTAL2 ALE W mikrokontrolerze 8051 każdy cykl magistrali składa się z sześciu stanów S1-S6. Każdy stan składa się z dwóch taktów zegara. W każdym cyklu magistrali istnieją kontakt z pamięcią następuje dwa razy (dwa razy generowany jest sygnał ALE). Dzięki temu nawet dwubajtowe rozkazy wykonują się w jednym cyklu. W przypadku kontaktu z zewnętrzną pamięcią danych, sygnał ALE generowany jest tylko trzy razy.

Cykl odczytu zewnętrznej pamięci programu [Źródło: www.atmel.com]

Cykl odczytu zewnętrznej pamięci danych [Źródło: www.atmel.com]

Cykl zapisu zewnętrznej pamięci danych [Źródło: www.atmel.com]

FFH 80H 7FH Specjalne Rejestry Funkcyjne- SFR Organizacja wewnętrznej pamięci danych- 8051 RAM 30H 2FH. 20H Obszar adresowany bitowo 1FH. 18H R7. R0 Bank 3 17H. 10H 0FH. 08H R7. R0 R7. R0 Bank 2 Bank 1 Rejestry użytkowe 07H. 00H R7. R0 Bank 0

FFH Specjalne Rejestry Funkcyjne- SFR RAM 80H 7FH RAM Organizacja wewnętrznej pamięci danych- 8052 30H 2FH. 20H Obszar adresowany bitowo 1FH. 18H R7. R0 Bank 3 17H. 10H 0FH. 08H R7. R0 R7. R0 Bank 2 Bank 1 Rejestry użytkowe 07H. 00H R7. R0 Bank 0

Dostęp do pamięci RAM o adresach 80h-7Fh, jest możliwy tylko poprzez adresację względną rejestrową przy pomocy rejestrów adresowych R0 i R1. Dostęp do rejestrów specjalnych jest możliwy przy pomocy rozkazów wykorzystujących wszystkie pozostałe tryby adresacji.

Rejestry specjalne Akumulator A (ACC)- 8mio bitowy rejestr adresowany również bitowo, służący do wykonywania operacji arytmetycznych i logicznych. 7 6 5 4 3 2 1 0 A7 A6 A5 A4 A3 A2 A1 A0 E0h E7h E6h E5h E4h E3h E2h E1h E0h

Akumulator pomocniczy B: rejestr służący jako źródło argumentu i miejsce przeznaczenia wyniku operacji mnożenia i dzielenia. Nie posiada dedykowanych rozkazów z adresowaniem wbudowanym. Jest adresowany również bitowo. 7 6 5 4 3 2 1 0 B7 B6 B5 B4 B3 B2 B1 B0 F0h

Rejestr statusowy PSW 7 6 5 4 3 2 1 0 CY AC F0 RS1 RS0 OV - P D0h D7h D6h D5h D4h D3h D2h D1h D0h Adresowany również bitowo, zawiera następujące bity: CY- znacznik przeniesienia lub pożyczki, AC- znacznik przeniesienia połówkowego, F0- bit ogólnego przeznaczenia dla użytkownika, RS1, RS0- bity wyboru aktywnego banku rejestrów

RS1 RS0 0 0 0 1 1 0 1 1 Bank 0 Bank 1 Bank 2 Bank 3 OV- przepełnienie w kodzie U2, P- parzystość

Ponadto 8051 w grupie rejestrów specjalnych posiada: 8-mio bitowy wskaźnik stosu SP, który przy operacjach składania na stosie jest najpierw zwiększany o 1, a następnie pod tak utworzony adres wewnętrznej pamięci RAM zapisywany jest bajt danej. Po zerowaniu SP=07h. 16-to bitowy rejestr adresowy pamięci programu i pamięci danych DPTR, złożony z dwóch rejestrów 8-mio bitowych DPL- młodsza część, DPH- starsza część. 16-to bitowy licznik rozkazów PC nie jest rejestrem specjalnym.

Układ czasowo licznikowy 8051 posiada dwa 16-to bitowe liczniki: T0 i T1 mogące zliczać impulsy zewnętrzne (funkcja licznik) lub wewnętrzne impulsy zegarowe o częstotliwości XTAL/12 (funkcja czasomierz). Oba liczniki mogą pracować w czterech różnych modach pracy. Do ustawiania modu służy rejestr specjalny TMOD, do sterowania zliczaniem rejestr specjalny TCON.

Słowo modu TMOD 7 6 5 4 3 2 1 0 GATE C/T M1 M0 GATE C/T M1 M0 89h Licznik T1 Licznik T0 GATE- włączanie zewnętrznego bramkowania zliczania przez wejście INT1 dla T1 i INT) dla T0 C/T- licznik.czasomierz (1- licznik, 0- czasomierz) M1, M0- tryb pracy

M1=0, M0=0: tryb 13- to bitowy 8-mio bitowy licznik TH0 (1) taktowany przez 5-cio bitowy dzielnik TL0 (1) [Źródło: www.atmel.com]

M1=0, M0=1: tryb 16- to bitowy (8Bits) 16-to bitowy licznik TL, TH [Źródło: www.atmel.com]

M1=1, M0=0: tryb 8- mio bitowy z ładowaniem wartości początkowej z części starszej TH0 (1) do liczącej części młodszej TL0 (1) [Źródło: www.atmel.com]

M1=1, M0=1: tylko licznik T0: dwa 8-mio bitowe licznika TH0 i TL0 [Źródło: www.atmel.com]

Słowo sterujące TCON (dostępne również bitowo) 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88h 8Fh 8Eh 8Dh 8Ch 8Bh 8Ah 89h 88h TFi- bit informujący o przepełnieniu licznika, gdy odmaskowane przerwanie jest bitem zgłoszenia przerwania od przepełnienia licznika i automatycznie kasowany po wejściu do procedury obsługi. TRi- włącz/wyłącz licznik, Tri=1 powoduje uruchomienie licznika I= 0 lub 1 Pozostałe bity służą do sterowania przerwaniami zewnętrznymi.

Ponadto układy czasowo licznikowe wykorzystują cztery rejestry specjalne służące do zliczania impulsów: TH0, TL0- tworzące licznik T0 TH1, TL1- tworzące licznik T1

Port szeregowy Port szeregowy jest sterowany rejestrem specjalnym SCON, bufory: wejściowy i wyjściowy portu szeregowego SBUF zajmują jedną lokację adresową w przestrzeni SFR. Bufor nadajnika jest tylko pisany, odbiornika czytany. 7 6 5 4 3 2 1 0 SM0 SM1 SM2 REN TB8 RB8 TI RI 98h Słowo sterujące SCON SM0, SM1- wybór trybu pracy portu szeregowego.

SM0=0, SM1=0- transmisja synchroniczna, 8-mio bitowa z prędkością XTAL/12; linia RxD- dane, linia TxD- zegar. SM0=0, SM1=1- transmisja asynchroniczna 8-mio bitowa z prędkością zależną od przepełnień licznika T1, 1 bit startu 0, 1 bit stopu 1. SM0=1, SM1=0- transmisja asynchroniczna 9-cio bitowa z prędkością XTAL/32 lub XTAL/64 (przełączana bitem SMOD w rejestrze PCON), 1 bit startu 0, 1 bit stopu 1. SM0=0, SM1=1- transmisja asynchroniczna 9-mcio bitowa z prędkością zależną od przepełnień licznika T1, 1 bit startu 0, 1 bit stopu 1.. W przypadku transmisji 9-cio bitowych 9-ty bit nadawany to bit TB8 a odbierany RB8.

SM2- bit współpracy wieloprocesorowej, gdy SM2=1 to ignorowane są dane z 9-tym bitem=0. REN- włączenie odbiornika aktywne stanem 1 TB8-9-ty bit nadawany w transmisji 9-cio bitowej RB8-9-ty bit odbierany w transmisji 9-cio bitowej TI- znacznik wysłania danej, może być źródłem przerwania po odmaskowaniu, nie kasowany automatycznie z chwilą przyjęcia przerwania. RI- znacznik odbioru danej, może być źródłem przerwania po odmaskowaniu, nie kasowany automatycznie z chwilą przyjęcia przerwania.

Przerwania zewnętrzne 8051 posiada dwa wejścia przerwań maskowalnych INT0 i INT1. Do sterowania przerwaniami służą cztery bity rejestru TCON. 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88h 8Fh 8Eh 8Dh 8Ch 8Bh 8Ah 89h 88h IEi- bit zgłoszenia przerwania jest informacją o zgłoszeniu przerwania na wejściu INTi. ITi- wybór trybu zgłaszania przerwania: poziom niski /zbocze opadające ITi=0- poziom niski, ITi=1- opadające zbocze i=0 lub 1

System przerwań układu 8051 W 8051 występuje pięć źródeł przerwań: -przerwanie zewnętrzne INT0, -przerwanie zewnętrzne INT1, -przerwanie od przepełnienia licznika T0, -przerwanie od przepełnienia licznika T1, -przerwanie od portu szeregowego, wysłanie lub odbiór danej (dla obu ten sam adres obsługi). Do sterowania systemem przerwań służy rejestr maski IE i rejestr priorytetu IP.

Rejestr maski przerwań: 7 6 5 4 3 2 1 0 EA - - ES ET1 EX1 ET0 EX0 A8H Rejestr adresowany również bitowo. EA- maska ogólna, gdy EA=0 wszystkie przerwania zamaskowane, gdy EA=1 odmaskowane przerwania w których ustawiono również bity maski indywidualnej. ES- maska przerwań od portu szeregowego. ET1- maska przerwań od licznika T1. EX1- maska przerwań od wejścia INT1 ET0- maska przerwań od licznika T0 EX0- maska przerwań od wejścia INT0

Na poziomie podstawowym najwyższy priorytet ma przerwanie od wejścia INT0, następnie od licznika T0 aż do najniższego priorytetu przerwania od portu szeregowego. Zmiany priorytetu można dokonać przenosząc go na wyższy poziom poprzez ustawienie odpowiedniego bitu w rejestrze IP Rejestr poziomu priorytetu przerwań 7 6 5 4 3 2 1 0 - - - PS PT1 PX1 PT0 PX0 B8H Rejestr adresowany również bitowo.

PS- wyższy poziom priorytetu dla przerwania od portu szeregowego PT1- wyższy poziom priorytetu dla przerwania od licznika T1 PX1- wyższy poziom priorytetu dla przerwania od wejścia INT1 PT0- wyższy poziom priorytetu dla przerwania od licznika T0 PX0- wyższy poziom priorytetu dla przerwania od wejścia INT0 W ramach tego poziomu priorytetu ( w przypadku gdy ustawiony będzie więcej niż jeden bit) obowiązuje taki sam priorytet jak dla poziomu podstawowego. INT0 priorytet najwyższy, port szeregowy- najniższy.

Cykl przyjęcia przerwania: Bity zgłaszania przerwań są testowane pod koniec każdego ostatniego cyklu maszynowego rozkazu za wyjątkiem rozkazu powrotu z przerwania RETI. Jeżeli przerwanie jest odmaskowane, procesor: -kończy rozkaz, -składa na stosie 16-to bitowy adres powrotu, -ładuje do PC adres obsługi przerwania. Adresy obsługi przerwań są stałe.

Źródło przerwania INT0 T0 INT1 T1 Port szeregowy Adres obsługi 0003h 000Bh 0013h 001Bh 0023h Procedurę obsługi przerwania kończy rozkaz powrotu RETI. Zastosowanie rozkazu RET nie spowoduje odtworzenia maski przerwań i przerwanie nie będzie powtórnie przyjęte.

Porty równoległe Odczytywanie bufora Magistrala wewnętrzna D Q +5V Końcówka Sygnał zapisywania Q Odczytywanie końcówki Budowa linii portu P1, P2, P3 Aby port pracował jako wejście trzeba na niego najpierw zapisać 1

Odczytywanie bufora Magistrala 0" wewnętrzna Sygnał zapisywania D Q Q 1" Tranazystor włączony +5V Końcówka 0" Odczytywanie końcówki Zapis 0 na port

Odczytywanie bufora Magistrala 1" wewnętrzna Sygnał zapisywania D Q Q 0" Tranazystor wyłączony +5V Końcówka 1" Odczytywanie końcówki Zapis 1 na port Port P0 nie posiada układu polaryzującego, w stanie 1 na wyjściu jest stan wysokiej impedancji.

Układ zerowania mikrokontrolera Kontroler posiada wejście RESET z histerezą. Wystarczy dołączyć jedynie układ RC. 10u 10k +5V RST RESET jest aktywny stanem 1

Tryby ograniczonego poboru prądu w układach CMOS Do sterowania trybami służy rejestr specjalny PCON 7 6 5 4 3 2 1 0 SMOD - - - GF1 GF0 PD IDL 87H UWAGA! Rejestr nie jest dostępny bitowo. SMOD: podwajanie prędkości transmisji szeregowej, GF1, GF0- bity ogólnego przeznaczenia dla użytkownika, PD- włączanie obniżonego poboru mocy, IDL- włączanie pracy jałowej.

Tryb obniżonego poboru mocy Wejście do trybu, przez ustawienie bitu PD w rejestrze PCON. W tym trybie układ jest zasilany napięciem na pinie zasilania, przy czym napięcie może spaść do 2V. Mikrokontroler nie pracuje, układy peryferyjne również. Podtrzymywana jest tylko zawartość pamięci RAM. Pobór prądu jest około 500 razy mniejszy niż przy zwykłej pracy. Wyjście z trybu poprze RESET i powrót napięcia zasilającego do poziomu 5V.

Tryb pracy jałowej Wejście do trybu poprzez ustawienie bitu IDL w rejestrze PCON. W tym trybie nie pracuje jednostka centralna (nie są wykonywane rozkazy), pracują układy peryferyjne i podtrzymywana jest pamięć RAM. Wyjście z trybu poprzez sygnał RSET lub przerwanie, jeśli jest odmaskowane. Po obsłudze przerwania po rozkazie RETI następuje powrót do następnej instrukcji, po tej która ustawiła bit IDL. Pobór prądu jest około 8 razy mniejszy niż przy normalnej pracy. Układy HMOS Występuje tylko tryb PD, przy czym zasilanie odbywa się poprzez pin RESET, napięcie zasilające może być odłączone. Wyjście z trybu poprzez RESET po powrocie napięcia zasilającego. Pobór prądu wynosi około 15% poziomu normalnego.