Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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:
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 Hlavní program Interrupt handler PUSH PSW PUSH A
Uložení PC, zákaz přerušení PUSH PSW PUSH A POP A POP PSW RETI MOV DPTR,#tabznak MOV A,31 CJNE A,#01,Next MOV A,30H ANL A,#0F0H Next: MOV A, 30H Žádost o přerušení Obnovení PC, povolení přerušení
4
Přerušení 8051 EA – ES ET1 EX1 ET0 EX0
b7 b6 b5 b4 b3 b2 b1 b0 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“.
5
Přerušení 8051 – PS PT1 PX1 PT0 PX0
b7 b6 b5 b4 b3 b2 b1 b0 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ě;
6
Přerušení 8051 EX0 TR0 EX1 TR1 ES Registr IE EA PX0 PT0 PX1 PT1 PS
Registr IP Priority 1 2 3 4 5 Žádost o přerušení s vyšší prioritou Vektor přerušení IE0 IT0 INT0 IE1 IT1 INT1 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 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
8
Sériový kanál 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ě. b0 b1 b2 b3 b4 b5 b6 b7 1 t start bit stop bit datové bity klidová úroveň
9
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 9. datový bit Příznak odeslaného resp. přijatého znaku. Povolení příjmu. Mód SM0, SM1 Typ přenosu Bitová rychlost 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
10
Časování sériového kanálu
b0 b1 b2 b3 b4 b5 b6 b7 1 t TxD nebo RxD TI RI start bit stop bit datové bity (registr SBUF) Mód 1 b0 b1 b2 b3 b4 b5 b6 b8 1 t TxD nebo RxD TI RI start bit stop bit datové bity (registr SBUF) b7 TB8 RB8 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. GATE C/T M1 M0 b7 b6 b5 b4 b3 b2 b1 b0 čí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á. b7 b6 b5 b4 b3 b2 b1 b0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 ří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 fosc / 12 Tn INTn TLn 5 bitů THn 8 bitů TFn př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 fosc / 12 Tn INTn TLn 8 bitů THn 8 bitů TFn př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 fosc / 12 Tn INTn TLn 8 bitů THn 8 bitů TFn př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 fosc / 12 T0 INT0 TL0 8 bitů TH0 8 bitů TF0 přerušení TF1 TR1
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.