1 / 17

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. Přerušovací systém. Přerušení se používá pro snazší komunikaci procesoru s periferiemi;

Download Presentation

Základy mikroprocesorové techniky

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Interrupt handler Hlavní program MOV DPTR,#tabznak MOV A,31 CJNE A,#01,Next MOV A,30H ANL A,#0F0H Next: MOV A, 30H Uložení PC,zákaz přerušení PUSH PSW PUSH A POP A POP PSW RETI Žádosto přerušení Obnovení PC,povolení přerušení

  4. b7 b6 b5 b4 b3 b2 b1 b0 EA – – ES ET1 EX1 ET0 EX0 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“.

  5. b7 b6 b5 b4 b3 b2 b1 b0 – – – PS PT1 PX1 PT0 PX0 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ě;

  6. Registr IE Registr TCON Registr IP Priority Žádosto přerušenís vyššíprioritou 1 1 EX0 Registr IE IT0 IT1 PS PT0 PX1 PX0 PT1 2 2 EA 3 3 INT0 TR0 4 4 Vektorpřerušení IE0 5 5 TF0 EX1 Žádosto přerušenís vyššíprioritou INT1 TR1 IE1 ES Vektorpřerušení TF1 TI 1 Registr SCON RI Přerušení 8051

  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.

  8. start bit datové bity stop bit klidováúroveň 0 b0 b1 b2 b3 b4 b5 b6 b7 1 t 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ě.

  9. b7 b6 b5 b4 b3 b2 b1 b0 SM0 SM1 SM2 REN TB8 RB8 TI RI Režimy sériového kanálu • SCON – Řídící registr sériového kanálu 9. datový bit Příznak odeslanéhoresp. přijatého znaku. Povolení příjmu.

  10. start bit datové bity (registr SBUF) stop bit TxD nebo RxD 0 b0 b1 b2 b3 b4 b5 b6 b7 1 t TI nebo RI TB8 nebo RB8 t start bit datové bity (registr SBUF) stop bit TxD nebo RxD 0 b0 b1 b2 b3 b4 b5 b6 b7 b8 1 t TI nebo RI t Časování sériového kanálu 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. b7 b6 b5 b4 b3 b2 b1 b0 GATE C/T M1 M0 GATE C/T M1 M0 čítač/časovač 1 čítač/časovač 0 Čí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.

  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. fosc/ 12 TLn5 bitů THn8 bitů C/T TFn přerušení Tn TRn INTn 1 & GATE Čí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.

  15. fosc/ 12 TLn8 bitů THn8 bitů C/T TFn přerušení Tn TRn INTn 1 & GATE Čí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ý.

  16. fosc/ 12 TLn8 bitů C/T TFn přerušení Tn TRn THn8 bitů INTn 1 & GATE Čí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.

  17. TR1 TH08 bitů TF1 přerušení C/T fosc/ 12 TL08 bitů TF0 přerušení T0 TR0 INT0 & 1 GATE Čí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.

More Related