základy mikroprocesorové techniky

17
Základy mikroprocesorové techniky 12. Týden – Periferie 8051 Garant: Prof. Zdeněk Bohuslávek, CSc. Přednášející: Ing. Jiří Nesládek Podklady: http:// www.rabaka.net/ZMT

Upload: magee-valdez

Post on 30-Dec-2015

26 views

Category:

Documents


0 download

DESCRIPTION

Základy mikroprocesorové techniky. 12 . Týden – Periferie 8051. Garant:Prof. Zdeněk Bohuslávek, CSc. Přednášející:Ing. Jiří Nesládek Podklady:http ://www.rabaka.net/ ZMT. Přerušovací systém. Přerušení se používá pro snazší komunikaci procesoru s periferiemi; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Základy mikroprocesorové techniky

Základy mikroprocesorové techniky

12. Týden – Periferie 8051

Garant: Prof. Zdeněk Bohuslávek, CSc.

Přednášející: Ing. Jiří Nesládek

Podklady: http://www.rabaka.net/ZMT

Page 2: Základy mikroprocesorové techniky

Přerušovací systém• Přerušení se používá pro snazší komunikaci procesoru s periferiemi;

• Když periferie potřebuje obsloužit, požádá procesor o přerušení právě prováděného programu;

• Procesor v takovém případě dokončí rozpracovanou instrukci, uloží stav PC na vrchol zásobníku a provede skok do podprogramu obsluhujícího danou periferii – interrupt handler;

• Při vstupu do obslužné rutiny přerušení procesor automaticky zakáže zpracovávání dalších přerušení stejné důležitosti – priority;

• Obslužná rutina přerušení na rozdíl od běžného podprogramu nekončí instrukcí RET, ale musí se použít instrukce RETI;

• RETI stejně jako RET vyjme z vrcholu zásobníku návratovou adresu a naplní jí do PC, ale navíc ještě povolí zpracování dalších případných přerušení se stejnou nebo nižší prioritou;

Page 3: Základy mikroprocesorové techniky

Přerušovací systém

MOV DPTR,#tabznak

MOV A,31

CJNE A,#01,Next

MOV A,30H

ANL A,#0F0H

Next: MOV A, 30H

Hlavní program

Žádosto přerušení

Interrupt handler

PUSH PSW

PUSH A

POP A

POP PSW

RETI

Uložení PC,zákaz přerušení

Obnovení PC,povolení přerušení

Page 4: Základy mikroprocesorové techniky

Přerušení 8051

• IE – registr povolení přerušení (adresa A8H);

• Příznak globální maskování všech přerušení – EA;

• 5 zdrojů přerušení:– Dva vstupy vnějších přerušení (EX0, EX1) – konfigurovatelná

citlivost na sestupnou hranu resp. úroveň log. 0;

– Od dvou čítačů/časovačů (ET0, ET1);

– Od sériového kanálu (ES) – společné přerušení pro události „přijat znak“ i „znak odeslán“.

EA – – ES ET1 EX1 ET0 EX0

b7 b6 b5 b4 b3 b2 b1 b0

Page 5: Základy mikroprocesorové techniky

Přerušení 8051

• IP – registr priority přerušení (adresa B8H);

• 8051 rozlišuje dvě úrovně přerušení – nižší a vyšší;

• Pokud procesor zpracovává přerušení nižší úrovně, může být přerušen pouze přerušením vyšší úrovně. Přerušení stejné nebo nižší úrovně musí čekat na dokončení ve frontě;

– – – PS PT1 PX1 PT0 PX0

b7 b6 b5 b4 b3 b2 b1 b0

Page 6: Základy mikroprocesorové techniky

Přerušení 8051

EX0

TR0

EX1

TR1

ES

Registr IE

EA

Registr IE

PX0

PT0

PX1

PT1

PS

Registr IP Priority

1

2

3

4

5

1

2

3

4

5

Žádosto přerušenís vyššíprioritou

Žádosto přerušenís vyššíprioritou

Vektorpřerušení

Vektorpřerušení

IE0

IT0

INT0

IE1

IT1

INT1

1

TF1

TF0

TI

RI

Re

gis

tr S

CO

N

Registr TCON

Page 7: Základy mikroprocesorové techniky

Přerušení 8051• Každý zdroj přerušení má pevně definovanou adresu (vektor

přerušení), na kterou procesor po přijetí žádosti o přerušení, dokončení rozpracované instrukce a uložení návratové adresy do zásobníku předá řízení;

• Vektory přerušení jsou od sebe vzdáleny pouze 8 adresových míst (viz tabulka) a proto na nich obvykle bývá uložena pouze instrukce nepodmíněného skoku na vlastní obslužný podprogram.

Zdroj přerušení Adresa

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

Page 8: Základy mikroprocesorové techniky

Sériový kanál

b0 b1 b2 b3 b4 b5 b6 b70 1 t

start bit stop bitdatové bity

klidováúroveň

• Plně duplexní asynchronní sériová komunikace– Duplexní = je schopen současně přijímat i vysílat;

– Asynchronní = rámcová synchronizace přijímače se odvozuje od tzv. start-bitu.

• Rámec se skládá z:– Start bitu – odpovídá hodnotě 0, generuje synchronizační hranu;

– Přenášeného znaku – 8 nebo 9 bitů;

– Stop bitu – odpovídá hodnotě 1, vyvádí signál do klidové úrovně.

Page 9: Základy mikroprocesorové techniky

Režimy sériového kanálu• SCON – Řídící registr sériového kanálu

SM0 SM1 SM2 REN TB8 RB8 TI RI

b7 b6 b5 b4 b3 b2 b1 b0

Mód SM0, SM1 Typ přenosu Bitová rychlost

0 0 0 Synchronní 8-mi bitový fosc / 12

1 0 1 Asynchronní 8-mi bitový časovač 1

2 1 0 Asynchronní 9-ti bitový fosc / 32, fosc / 64

3 1 1 Asynchronní 9-ti bitový časovač 1

Příznak odeslanéhoresp. přijatého znaku.

9. datový bit

Povolení příjmu.

Page 10: Základy mikroprocesorové techniky

Časování sériového kanálu

b0 b1 b2 b3 b4 b5 b6 b70 1 t

t

TxDnebo

RxD

TInebo

RI

start bit stop bitdatové bity (registr SBUF)

b0 b1 b2 b3 b4 b5 b6 b80 1 t

t

TxDnebo

RxD

TInebo

RI

start bit stop bitdatové bity (registr SBUF)

b7

TB8nebo

RB8

Mód

1M

ód 2

a 3

Page 11: Základy mikroprocesorové techniky

Čítače/časovače• 8051 obsahuje dva čítače/časovače;

• Čítač/časovač je tvořen hardwarovým čítačem, jehož stav je softwarově dostupný v registrech TH0,TL0 resp. TH1, TL1;

• Jestli hovoříme o funkci čítače nebo časovače závisí pouze na zvoleném použití – zdroji čítacího signálu;

• Čítač:– čítá externí události – sestupné hrany signálů T0 resp. T1;

– stav externího signálu je vzorkován a vyhodnocován jednou v každém strojním cyklu kmitočet externího signálu musí být menší než 1/24 kmitočtu oscilátoru mikroprocesoru;

• Časovač:– generuje časové intervaly odvozené od taktu oscilátoru mikroprocesoru.

Page 12: Základy mikroprocesorové techniky

Čítače/časovače – režimy

• TMOD – Registr určující režim činnosti čítačů/časovačů

– GATE – hradlování hodin čítače;

– C/T – výběr hodin čítače (čítač – externí, časovač – oscilátor);

– M1,M0 – režim čítače/časovače viz dále.

GATE C/T M1 M0 GATE C/T M1 M0

b7 b6 b5 b4 b3 b2 b1 b0

čítač/časovač 1 čítač/časovač 0

Page 13: Základy mikroprocesorové techniky

Čítače/časovače – řízení

• TCON – Řídící registr čítačů/časovačů

– TFn – přetečení časovače;

– TRn – hradlování hodin čítače;

– IEn – příznak žádosti o přerušení ze vstupu INTn;

– ITn – konfigurace citlivosti vstupu vnějšího přerušení:log. 1 – hranová, log. 0 – úrovňová.

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

b7 b6 b5 b4 b3 b2 b1 b0

řízení čítačů/časovačů řízení vnějších přerušení

Page 14: Základy mikroprocesorové techniky

Čítače/časovače – režim 0• 13-ti bitový čítač/časovač – zpětně kompatibilní s 8048;

• THn čítá hodinové impulzy vydělené 5-ti bitovým předděličem tvořeným spodními bity čítače TLn;

• Výhodnější je požívat režim 1, viz dále.

1&

C/T

TRn

GATE

fosc / 12

Tn

INTn

TLn5 bitů

THn8 bitů

TFn přerušení

Page 15: Základy mikroprocesorové techniky

Čítače/časovače – režim 1• 16-ti bitový čítač/časovač;

• Tento režim je shodný s režimem 0 s tím rozdílem, že se čítač TLn je plně 8-mi bitový.

1&

C/T

TRn

GATE

fosc / 12

Tn

INTn

TLn8 bitů

THn8 bitů

TFn přerušení

Page 16: Základy mikroprocesorové techniky

Čítače/časovače – režim 2• 8-ti bitový čítač/časovač s přednastavením;

• Čítač TLn čítá a po přetečení je nastaven na hodnotu THn;

• Programové nastavení registru THn neovlivňuje aktuální stav TLn.

1&

C/T

TRn

GATE

fosc / 12

Tn

INTn

TLn8 bitů

THn8 bitů

TFn přerušení

Page 17: Základy mikroprocesorové techniky

Čítače/časovače – režim 3• V tomto režimu se čítač/časovač 0 rozdělí na dva 8-mi bitové číatče;

• Čítač TH0 využívá řídící příznaky čítače/časovače 1, který se v tomto režimu používá pro generování hodin pro sériový kanál.

1&

C/T

TR0

GATE

fosc / 12

T0

INT0

TL08 bitů

TH08 bitů

TF0 přerušení

TF1 přerušení

TR1