Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

1 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

2 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;

3 Přerušovací systém MOVDPTR,#tabznak MOVA,31 CJNEA,#01,Next MOVA,30H ANLA,#0F0H Next:MOVA, 30H Hlavní program Žádost o přerušení Interrupt handler PUSHPSW PUSHA POPA POPPSW RETI Uložení PC, zákaz přerušení Obnovení PC, povolení přerušení

4 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––ESET1EX1ET0EX0 b7b7 b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b0

5 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ě; –––PSPT1PX1PT0PX0 b7b7 b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b0

6 Přerušení 8051 EX0 TR0 EX1 TR1 ES Registr IE EA Registr IE PX0 PT0 PX1 PT1 PS Registr IPPriority Žádost o přerušení s vyšší prioritou Vektor přerušení IE0 IT0 INT0 IE1 IT1 INT1 1 TF1 TF0 TI RI Registr SCON Registr TCON

7 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 IE0Vnější přerušení 00003H TF0Čítač/časovač 0000BH IE1Vnější přerušení 10013H TF1Čítač/časovač 1001BH RI+TISériový kanál0023H

8 Sériový kanál b0b0 b1b1 b2b2 b3b3 b4b4 b5b5 b6b6 b7b7 01 t start bitstop 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ě.

9 Režimy sériového kanálu SCON – Řídící registr sériového kanálu SM0SM1SM2RENTB8RB8TIRI b7b7 b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b0 MódSM0, SM1Typ přenosuBitová rychlost 00 Synchronní 8-mi bitovýf osc / Asynchronní 8-mi bitovýčasovač Asynchronní 9-ti bitovýf osc / 32, f osc / Asynchronní 9-ti bitovýčasovač 1 Příznak odeslaného resp. přijatého znaku. 9. datový bit Povolení příjmu.

10 Časování sériového kanálu b0b0 b1b1 b2b2 b3b3 b4b4 b5b5 b6b6 b7b7 01 t t TxD nebo RxD TI nebo RI start bitstop bitdatové bity (registr SBUF) b0b0 b1b1 b2b2 b3b3 b4b4 b5b5 b6b6 b8b8 01 t t TxD nebo RxD TI nebo RI start bitstop bitdatové bity (registr SBUF) b7b7 TB8 nebo RB8 Mód 1 Mód 2 a 3

11 Čí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.

12 Čí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. GATEC/TM1M1M0GATEC/TM1M0 b7b7 b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b0 čítač/časovač 1čítač/časovač 0

13 Čí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á. TF1TR1TF0TR0IE1IT1IE0IT0 b7b7 b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b0 řízení čítačů/časovačů řízení vnějších přerušení

14 Čí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 f osc / 12 Tn INTn TLn 5 bitů THn 8 bitů TFnTFnpřerušení

15 Čí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 f osc / 12 Tn INTn TLn 8 bitů THn 8 bitů TFnTFnpřerušení

16 Čí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 f osc / 12 Tn INTn TLn 8 bitů THn 8 bitů TFnTFnpřerušení

17 Čí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 f osc / 12 T0T0 INT0 TL0 8 bitů TH0 8 bitů TF0přerušení TF1přerušení TR1


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google