Rozdíly mezi mikroprocesory 8051 a 8052, co má 8052 navíc |
MOV R0,#90H ;nastavení nepřímé adresy na 90H MOV A,@R0 ;čtení obsahu vniřní dat.paměti z místa udaného v registru R0Museli jsme použít nepřímého adresování, k čemuž je třeba využít dvou instrukcí. Do R0 nejprve uložíme danou adresu, druhou instrukcí teprve načteme samotný obsah paměťového místa, jehož adresa je v R0 uložena.
MOV A,90H ;čtení obsahu z adresy 90H - což je při přímém adresování ;oblast SFR (port P1)Výhodou rozšířené vnitřní datové paměti je to, že do ní (tj. do oblasti 80H až FFH) může být umístěn zásobník, čímž se rozšíří část přímo adresovatelné datové paměti.
RCLK + TCLK | CP/RL2 | Režim |
0 | 0 | 16-bitový s automat.přednastavením |
0 | 1 | 16-bitový záchytný |
1 | X | generátor přenosové rychlosti sér.kanálu |
POZN: Na obr.1,2,4 a 5 je ponechána původní amer.značka budiče mezi registry TH2,TL2 a RCAP2H,RCAP2L. Tento budič má povolovací vstup (ten kolmo ke vstupnímu a výstupnímu vývodu). Pokud je na tomto vstupu log.1, vstupní signál může budičem procházet na výstup. Českým ekvivalentem by měla být značka hradla AND, povolovací vstup by pak byl přiveden na druhý vstup dvouvstupového hradla. Přesto jsem z důvodu "kompatibility" s tištěnou (i českou) literaturou ponechal v obrázcích původní amer.značky. |
Zdroj přerušení |
Adresa | |
Příznak |
Význam | |
IE0 | Vnější přerušení 0 | 0003H |
TF0 | Čítač / časovač 0 | 000BH |
IE1 | Vnější přerušení 1 | 0013H |
TF1 | Čítač / časovač 1 | 001BH |
RI + TI | Sériový kanál | 0023H |
TF2 + EXF2 | Čítač / časovač 2 | 002BH |
Zdroj | Prioritní úroveň |
IE0 | (nejvyšší) |
TF0 | |
IE1 | |
TF1 | |
RI +Tl | |
TF2 + EXF2 | (nejnižší) |
Symbolické označení registru |
Angl. jméno registru, z kterého bylo symbolické označení odvozeno |
Adresa | Obsah registru po resetu (binárně) |
ACC | Accumulator | E0H | 00000000 |
B | B Register | F0H | 00000000 |
PSW | Program Status Word | D0H | 00000000 |
SP | Stack Pointer | 81H | 00000111 |
DPTR | Data Pointer (2 byty) | ||
DPL | Low Byte Nižší byte | 82H | 00000000 |
DPH | High Byte Vyšší byte | 83H | 00000000 |
P0 | Port 0 | 80H | 11111111 |
P1 | Port 1 | 90H | 11111111 |
P2 | Port 2 | A0H | 11111111 |
P3 | Port 3 | B0H | 11111111 |
IP | Interrupt Priority Control | B8H | XX000000 |
IE | Interrupt Enable Control | A8H | 0X000000 |
TMOD | Timer/Counter Mode Control | 89H | 00000000 |
T2MOD | Timer/Counter 2 Mode Control | C9H | XXXXXX00 |
TCON | Timer/Counter Control | 88H | 00000000 |
T2CON | Timer/Counter 2 Control | C8H | 00000000 |
TH0 | Timer/Counter 0 High Byte | 8CH | 00000000 |
TL0 | Timer/Counter 0 Low Byte | 8AH | 00000000 |
TH1 | Timer/Counter 1 High Byte | 8DH | 00000000 |
TL1 | Timer/Counter 1 Low Byte | 8BH | 00000000 |
TH2 | Timer/Counter 2 High Byte | CDH | 00000000 |
TL2 | Timer/Counter 2 High Byte | CCH | 00000000 |
RCAP2H | Timer/Counter 2 Capture Register Low Byte | CBH | 00000000 |
RCAP2L | Timer/Counter 2 Capture Register Low Byte | CAH | 00000000 |
SCON | Serial Control | 98H | 00000000 |
SBUF | Serial Data Buffer | 99H | XXXXXXXX |
PCON | Power Control | 87H | 0XXX0000 (CMOS verze) 0XXXXXXX (HMOS verze) |
Šedě | jsou vyznačeny registry, které jsou u 8052 navíc (oproti 8051). |
Šedě s hnědým textem | jsou vyznačeny registry, u kterých jsou pozměněny hodnoty obsahu po resetu (změna oproti 8051). |
Copyright © Michal Fuksa 2002 |