A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha CTRL shift + otočení pro správné zobrazení Úvod Přednášky X38MIP + A3B38MMP spojené cvičení X38MIP, A3B38MMP oddělená Mikroprocesory v přístrojové technice 1 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 2 Tento materiál slouží pouze jako grafický podklad k přednášce v předmětu Mikroprocesory v přístrojové technice, přednášeném na katedře měření, ČVUT – FEL, v Praze. Neposkytuje však samostatný a úplný výklad. Je určen pouze pro studenty předmětů A3B38MMP a X38MIP přednášející: doc. Ing. Jan Fischer, CSc. Informace A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha ? kolik máte doma mikroprocesorů ? Mikroprocesor vestavěný v přístroji či zařízení Mikroprocesorem řízený přístroj Přístroj: spotřební elektronika, automatizace, měřicí technika, prodejní automaty Přístrojová technika - přístroj Mikroprocesory v přístrojové technice - Oblast zájmu předmětu 3 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha tzv. Bílá elektronika myčka, lednička, mraznička, pračka, mikrovlnná trouba, mixér, vysavač činnosti: ovládací vstupy, snímání ( teplota, hladina, průtok,..) akční členy - ovládání motoru, solenoidových ventilů, komunikace s obsluhou Osvětlení - řízení zářivky - zabudovaný mikrořadič 4 Přístroj - ve spotřební elektronice: mobilní telefon, PDA, dig.fotoaparát, kamera, CD + MP3 přehrávač, televizor, DVD přehrávač, činnosti: vstup - výstup signálu, digitalizace, komprese, ukládání, přenos Největší spotřeba mikroprocesorů, resp. mikrokontrolérů spolu s automobilovým průmyslem. uP ve spotřební a domácí elektronice A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Elektroměr - digitalizace u, i, výpočet odebrané energie, dálkové ovládání - HDO („noční proud“ ) komunikace, ovládání relé Spektrální analyzátor - digitalizace signálu + Fourier. transformace, metody číslicového zpracování signálu Osciloskop (zcela jiná konstrukce oproti původnímu osciloskopu výkonný počítač + rychlé A/D převodníky), 5 Měřicí technika Přístroje: Multimetr, osciloskop, logický analyzátor, měřič impedance, generátor, reflektometr na měření metalických a optických tras uP řízený přístroj v měřicí technice A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 6 Domovní automatizace regulace. regulátor teploty, řízení klimatizace Regulátor topení - snímání teploty v místnostech, venkovní teploty, rychlosti větru, ovládání kotle ,... Rozpočítávací „měřič“ tepla - na radiátoru ústředního topení Automatizace - regulace, regulátor teploty, řízení klimatizace Ovládání světel , komunikace - standard D.A.L.I. Dálkové ovládání vrat - garáže - ( komunikace, kódy, akční členy, bezpečnost osob - snímání přítomnosti osob a „síly“ zavírání ) Zabezpečovací technika Přístupové systémy - čtečky karet, klávesnice, komunikace Zabezpečovací systémy- snímače pohybu, zvuku - např. tříštění skla, optické závory, komunikace, signalizace, přenos dat SMS, ? přenos redukovaného obrazu (Nový studijní obor na ČVUT -FEL: Inteligentní budovy) uP řízený přístroj - domovní automatizace A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 7 Prodejní automaty - na potraviny,…( snímač mincí, zobrazení, akční členy..) Stojan benzinové pumpy ( snímač - průtokoměr, komunikace, zobrazení, čtečka karet). Automatické váhy ( supermarket) snímač síly - tenzometry, zobrazení, komunikace- přeprogramování ceny, tisk Prodejní automat jízdenek ( MHD, ČD,..) Přenosná čtečka karet - (restaurace) - klávesnice, zobrazení, bezdrátová komunikace, tisk. uP řízený přístroj - prodej, služby A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Prodejní automaty - na potraviny,…( snímač mincí, zobrazení, akční členy..) Stojan benzinové pumpy ( snímač - průtokoměr, komunikace, zobrazení, čtečka karet). Automatické váhy ( supermarket) snímač síly - tenzometry, zobrazení, komunikace- přeprogramování ceny, tisk Prodejní automat jízdenek ( MHD, ČD,..) Přenosná čtečka karet - (restaurace) - klávesnice, zobrazení, bezdrátová komunikace, tisk. Přístupové systémy - vstupenky, lanovky, vleky… čtečka - optická , RFID,.., komunikace, akční členy - otevírání závory Hrací automaty: sem patří !!! bohužel i tzv. výherní -hrací automaty vstup, snímání množství mincí v zásobníku, generace pseudonáhodných čísel, ovládání akčních členů, programovatelný stupeň výhry automatu). ( nad mikroprocesorem se zde nezvítězí !!!) 8 uP řízený přístroj - prodej, služby A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha (řízení motoru- vstřikování,.. řízení brzd ABS, AES, palubní počítač, tempomat,..) Sběr dat: teploty (olej, voda,..) , tlak, klepání motoru,spaliny,.. Doplňkové funkce - řízení stěračů, nastavování polohy volantu, sedaček, stahování oken ( snímání proudu - bezpečnost) Regulace - zadání žádané hodnoty, snímání polohy, ovládání motorků, snímání proudu motorku, řízení klimatizace Naklápění reflektorů- uP + výkon. budič + krokový motorek Automobilní elektronika - palubní přístroje: uP - automobilní elektronika -„automotive“ 9 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 10 (řízení motoru- vstřikování,.. řízení brzd ABS, AES, palubní počítač, tempomat,..) Sběr dat: teploty (olej, voda,..) , tlak, klepání motoru,spaliny,.. Doplňkové funkce - řízení stěračů, nastavování polohy volantu, sedaček, stahování oken ( snímání proudu - bezpečnost) Regulace - zadání žádané hodnoty, snímání polohy, ovládání motorků, snímání proudu motorku, řízení klimatizace Naklápění reflektorů- uP + výkon. budič + krokový motorek Ovládání zábavní elektroniky - rozhlas. přijímač, přehrávač, navigace Komunikace: rozhraní CAN - základní komunikač. rozhraní - (systémová, zábavní) rozhraní LIN - periferie - ovládání motorků v oknech,.. nově - rozhraní Flex ray - např. přímé ovládání brzd Automobilní elektronika - palubní přístroje: uP - automobilní elektronika - „automotive“ mikropočítač mikrořadič ( microcontroller) řízené obvody vstupy, výstupy, A/D, D/A rozhraní RS232, USB, Ethernet LED 7- segment LCD- segment graf. zobrazení výstupy analogové logické A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha ext. paměti Flash, pam. karty klávesnice tlačítka vstupy analogové logické Blokové schéma přístroje řízeného uP 11 LCD LED A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Návrh mikropočítače • Připojování vstupních a výstupních obvodů • Obvody pro komunikaci s obsluhou, připojení vstupních bloků tlačítek, klávesnic, výstupních bloků -LED, LCD • Připojení A/D, D/A převodníků 12 Použití jednočip. mikropočítače 8051, architektura, programování Logické obvody ( řady CMOS, druhy, napěťové úrovně, použití) Paměti ( SRAM, EPROM, FLASH, FIFO, Dual port..) Systémové sběrnice mikropočítačů, připojování obvodů na sběrnice Náplň předmětu - přednášky A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 13 Další druhy mikropočítačů a mikrořadičů- architektura, vlastnosti 32- bitové mikroprocesory řady ARM Cortex M3 (provedení STM32) Signálové procesory ADSP -BF53x Blackfin Návrh mikropočítače • Připojování vstupních a výstupních obvodů • Obvody pro komunikaci s obsluhou, připojení vstupních bloků tlačítek, klávesnic, výstupních bloků -LED, LCD • Připojení A/D, D/A převodníků Použití jednočip. mikropočítače 8051, architektura, programování Logické obvody ( řady CMOS, druhy, napěťové úrovně, použití) Paměti ( SRAM, EPROM, FLASH, FIFO, Dual port..) Systémové sběrnice mikropočítačů, připojování obvodů na sběrnice Náplň předmětu - přednášky A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Nové stránky, více informacích - staré stránky, je odkaz materiály k 8051,... informace výuka, bakalářská etapa, stránka předmětů Použití jednočip. mikropočítače 8051 ( AT89S8252), programování Návrh jednoduchého přístroje skupina A (vstup - odpor -“ Ohmetr“) skupiny B (vstup - napětí -“Voltmetr“) Úvod, blikání „ Napálení“ programu do AT89C2051, realizace na kontaktním poli. Snímání odporu (napětí), výstup na terminál návrh a realizace zobrazovací jednotky se 7 segmentovým zobrazovačem s LED Náplň předmětu – cvičení 14 RS 232 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha nepájivé kontaktní pole AT89S8252 + 8KByte RAM PC + IDE Keil Microvision 3 Programování v asembleru 51 IDE Microvision 3 firmy KEIL www.keil.com demoverze IDE, volná, do 2kByte kódu překlad, simulace, odladění na HW nainstalovat doma IDE, seznámení s uP Vývojové nástroje 15 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 16 Schopnost navrhnout HW i SW jednoduchého uP řízeného přístroje využívajícího klonů uP 8051 Komunikace uP s PC použitím rozhraní RS232 Snímání vstupů, ovládání výstupů Konfigurace chování přístroje Autonomní funkce přístroje Pochopení základních principů funkce a návrhu uP řízeného přístroje (bez ohledu na typ použitého uP) Očekávaný přínos předmětu - pro bakal. práci A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 17 • Doporučení: domácí použití IDE Keil, Microvision, příprava programů ihned od 1. týdne, v simulátoru je možno odladit téměř celý program. V lab. - odladění na HW a konzultace, • Předčasné odevzdání úloh, možno přijít až pro zápočet (čas na bakalářskou práci) • Další informace na www stránkách, measure.feld.cvut.cz návody • Aktivní účast na cvičeních, odevzdání úloh podle plánu, samostatná práce (ne plagiátorství !!!) • Zápočet v zápočtovém týdnu, ve zkouškovém období není možný přístup do laboratoře • Test v 9. týdnu na přednášce • Úlohy až 39 bodů, test. v sem. 21 bodů, testy u zkoušky 20b + 20b. Podmínky zápočtu, zkouška X38MIP A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Architektura - 8 bitového procesoru, původ Intel 8051 obvykle používané označení 8051 nebo jen´51 ve skutečnosti jádro 8x52 architektura používaná několika desítkami výrobců Atmel, Philips NXP, Silicon laborartories, Cypress, Texas Instruments, Analog Devices, Siemens- Infinieon, ........ Procesory s jádrem 8051 18 bus control 8 KB Flash P2 Address / Data P0 P1 I/O port 256 B RAM Blokové schéma AT89 C52 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha osc CPU interrupt control ext. int. Blokové schéma AT89C52 P3 TxD RxD serial port UART Timer 0, 1, 2 counter inputs 19 osc CPU interrupt control bus control 8 KB Flash P2 Address / Data P0 P1 I/O port 256 B RAM Blokové schéma AT89 C52 P3 TxD RxD serial port UART Timer 0, 1, 2 counter inputs A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 Funkce jako - jednočipový mikropočítač (jediný obvod)- int. paměř programu a dat nebo jako mikropoč. s externí pamětí (připojení na sběrnici BUS) Deska na cvičeních - ext. paměť programu v EPROM 2764 a ext. paměť dat v 6264 spolupráce s CPU prostřednictvím sběrnice - BUS BUS adres. signály, datové signály, říd. signály /PSEN, /RD, /WR CPU - central processing unit I/O port - vstupně/výstupní brány Flash 8k- vnitřní paměť programu RAM 256B vnitřní paměť dat UART - sériový port (COM) ext. int. Význam a funkce bloků AT89C52 7 8 9 10 11 12 P1.6/ P1.7 RST P3.0/RxD P3.1/TxD 25 24 23 22 21 16 17 18 19 20 P3.6/WR P3.7/RD XTAL2 XTAL1 P2.0/A8 P2.1/A9 P2.2/A10 P2.4/A12 P2.3/A11 PSEN P2.7/A15 P2.6/A14 P2.5/A13 EA ALE/PR OG P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.3/AD3 P0.4/AD4 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha VSS P3.5/T1 27 26 14 15 29 28 31 30 P3.4/T0 13 32 6 P1.5 P3.2/INT0 P3.3/INT1 34 33 5 PDIL 36 35 3 4 P1.2 P1.3 P1.4 37 P0.0/AD0 39 38 2 P1.1/T2EX P0.1/AD1 P0.2/AD2 VCC 40 1 P1.0/T2 Vývody AT89C52 21 Vss zem ( GND ground) Vcc - napájení , +5 V, RST - Reset celého procesoru XTAL 1,2 - krystal - oscilátor Signály externí sběrnice: /WR, /RD, říd. sig. zápisu a čtení A15 - A8, adresové signály AD8 -AD0 mux. adresové/datové s. P1.7 - MSB, P1.0 - LSB atd. UART výst. TxD, vst. RxD přeruš.vst. /INT0, /INT1 akt. L T0, T1 vstupy čítačů Brány P1 ( P0.7 až P0.0) P1 ( P1.7 až P1.0) P2 ( P2.7 až P2.0) P3 ( P3.7 až P3.0) Signály procesoru: RxD TxD INT0 INT1 T0 T1 WR RD RST EA PSEN ALE XTAL2 XTAL1 VCC VSS ADDRESS BUS ADDRESS AND DATA BUS A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha SECONDAR Y FUNCTIONS Signály AT89C52 POR T 3 POR T 0 POR T 1 POR T 2 37 4 P1.3 PDIL 38 3 P1.2 P0.7/AD7 EA ALE/PR OG 34 33 32 31 30 29 28 27 26 25 24 23 22 21 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1.5 P1.6/ P1.7 RST P3.0/RxD P3.1/TxD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD XTAL2 XTAL1 VSS 22 P2.0/A8 P2.1/A9 P2.2/A10 P2.4/A12 P2.3/A11 P2.5/A13 P2.7/A15 P2.6/A14 PSEN P0.6/AD6 P0.5/AD5 35 5 P1.4 P0.3/AD3 P0.4/AD4 P0.1/AD1 P0.2/AD2 39 2 36 VCC P0.0/AD0 40 1 P1.0/T2 P1.1/T2EX 7 8 9 10 11 12 P1.6/ P1.7 RST P3.0/RxD P3.1/TxD 25 24 23 22 21 16 17 18 19 20 P3.6/WR P3.7/RD XTAL2 XTAL1 P2.0/A8 P2.1/A9 P2.2/A10 P2.4/A12 P2.3/A11 PSEN P2.7/A15 P2.6/A14 P2.5/A13 EA ALE/PR OG P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.3/AD3 P0.4/AD4 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha VSS P3.5/T1 27 26 14 15 29 28 31 30 P3.4/T0 13 32 6 P1.5 P3.2/INT0 P3.3/INT1 34 33 5 PDIL 36 35 3 4 P1.2 P1.3 P1.4 37 P0.0/AD0 39 38 2 P1.1/T2EX P0.1/AD1 P0.2/AD2 VCC 40 1 P1.0/T2 Pouzdro AT89C52 ( využití v úloze) 23 hradlovat čítač, číst stav pinu, přerušit spádovou hranou Někdy možnost použít vstupní pin ve více funkcích současně P2.7 a sig. sběrnice AD15 hradlování čítače T0, brána P.3.0, a přerušovací vstup /INT0 UART výst.TxD a brána P3.1 vstup RxD a P3.0 nepostačuje pro všechny signály, proto - sdílení pinů: Pouzdro DIL 40, XTAL1 OSCILLATOR PD TIMING AND CONTROL B REGISTER RAM ADDR REGISTER XTAL2 ACC RAM ALU P1.0 - P1.7 PORT 1 DRIVERS PORT 1 LATCH PSW TMP2 PORT 0 LATCH TMP1 TIMERS SFRs PORT 2 LATCH PORT 2 DRIVERS P3.0 - P3.7 PORT 3 DRIVERS 8 ROM/EPROM PORT 3 LATCH STACK POINTER P2.0 - P2.7 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha PSEN ALE/PROG EA/ VPP RST VSS VCC PORT 0 DRIVERS P0.0 - P0.7 Vnitřní blokové schéma CPU řady 51 DPTR'S MULTIPLE PROGRAM COUNTER PC INCREMENTER BUFFER PROGRAM ADDRESS REGISTER 8 16 24 paměť prog. 00 80 7F FF RAM REG. SP. FUNKCÍ interní paměť dat DATA A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 0000 FFFF CODE 0000 FFFF Paměťový model uP řady 8051 Prostory CODE ( pouze čtení) , DATA, XDATA Paměťový model mikropočítače 8051 externí paměť dat XDATA 25 EA=1 EA=0 00 80 7F FF ext. pam. prog. RAM (128B) REG. SP. FUNKCÍ DATA 0000 RAM (128B) ext.pam. dat FFFF Pamět. prostory u AT89C52 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 0000 1000 0FFF AT89C52 1FFF FFFF CODE XDATA AT89C52 navíc - 128B RAM - DATA, 8KB vnitřní paměti FLASH -CODE, povolení vnitřní FLASH vstup /EA= L Paměťový model mikropočítače AT89C52 26 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť speciální funkční registry 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF Paměťový model - prostor DATA paměť RAM + speciální funkční registry SFR adresový prostor DATA 27 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť speciální funkční registry paměť RAM 128 Byte v prostoru DATA 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF 128 Byte paměti RAM Prostor DATA, paměť RAM u 8051 28 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť speciální funkční registry registry R0 až R7 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF Registry R0 - R7 128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 29 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 16 x 8 bitů = 128 bitů bitově adresovatelná paměť 16 Byte = speciální funkční registry A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF 30 bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů 128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 Bitově adresovatelná paměť RAM 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť 128 Byte nepřímo adres. pam (např. MOV A, @R0) speciální funkční registry A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF (pouze) nepřímo adres. paměť RAM -128 Byte 31 bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů 128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 Doplňková - pouze nepřímo adr. paměť RAM (8x52) 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť speciální funkční registry 128 Byte přímo i nepřímo adres. pam 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF 32 Přímo i nepřímo adr. pam. RAM - 128 Byte (pouze) nepřímo adres. paměť RAM -128 Byte bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů 128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 Prostor DATA přímo i nepřímo adr. RAM 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť celkem 256 Byte nepřímo adres. pam RAM speciální funkční registry A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF 33 Nepřímo adr. pam 256 Byte Přímo i nepřímo adr. pam. RAM - 128 Byte (pouze) nepřímo adres. paměť RAM -128 Byte bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů 128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 Celá oblast nepřímo adr. paměti RAM 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 80 FF 128B nepřímo adres. dat. pam. ( pouze u xx52 verzí) reg. banka 0 reg. banka 1 reg. banka 2 přímo adr. MOV 80h, #0Fh bitově adresovatelná paměť spec. funkč. registrybrány, čítače, UART, řízení, řadič reg. banka 3 přerušení, speciální funkční registry A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF 34 Spec. funkční registry pouze přímo adresovatelné v prostoru DATA Nepřímo adr. pam 256 Byte Přímo i nepřímo adr. pam. RAM - 128 Byte (pouze) nepřímo adres. paměť RAM -128 Byte bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů 128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 Prostor DATA, Speciální funkční registry - SFR 17 0F 07 7F R0 R7 10 07 00 70 zápisník, data SP P0 reg. banka 0 reg. banka 1 reg. banka 2 reg. banka 3 bitově adresovatelná paměť speciální funkční registry 35 • na P1.0 a P1.1 nejsou PULL - UP rezistory - není schopen generovat na výstupu úroveň H • vývody -port P1 a necelý P3 • malé pouzdro DIL20 • pouze 128B RAM Jednočip. mikropočítač AT89C2051 použití v první samostatné úloze A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 20 1F 18 17 10 0F 08 07 00 30 2F 80 7F FF Prostor DATA, jednočip. mikropočítač AT89C2051 P2 (FFh) P3 (FFh) IP T2MOD SPSR RCAP2L RCA2H RCA2H TL2 0 (8) 1 (9) 2 (A) 3 (B) 4 (C) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha bitově. adresov. 5 (D) 88h TCON (00h) TMOD (00h) TL0 (00h) TL1 (00h) TH0 (00h) TH1 (00h) 80h P0 (FFh) SP (07h) DPL (00h) DPH (00h) DP1L (00h) DP1H (00h) 98h SCON (00h) SBUF (xx) 90h P1 (FFh) A0h A8h B0h B8h C8h T2CON (00h) C0h PSW (00h) ACC (00h) E0h D8h D0h B (00h) F0h E8h F8h Prostor SFR - (DATA) u AT89S8252 6 (E) WMCON TH2 7 (F) PCON 36 87h 8Fh 97h 9Fh A7h AFh B7h BFh C7h CFh D7h E7h DFh F7h EFh FFh P2 LSB SCON LSB bitová adresa P1 TCON LSB LSB LSB F0h MSB A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Adresování SFR (např. brána P1 na adrese 90h) MOV 90h, #00h ; zapiš do SFR na adr. 90h přímá data 00h B MSB AFh Adresování SFR MSB A8h A7h MSB A0h 90h MSB 90h 8Fh MSB 88h 87h P0 LSB 37 80h P2 LSB SCON LSB bitová adresa P1 TCON LSB LSB LSB F0h MSB P0 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 38 Adresování SFR (např. brána P1 na adrese 90h) MOV 90h, #00h ; zapiš do SFR na adr. 90h přímá data 00h SETB 90h nastav bit v s bit. adr. 90h (nejnižší bit-LSB- brány P1) 90h bitová adresa od začátku (obtížně se pamatuje) B MSB A7h Adresování SFR MSB A0h 9Fh MSB 98h 97h MSB 90h 8Fh MSB 88h 87h LSB 80h P2 LSB SCON LSB bitová adresa P1 TCON LSB LSB LSB F0h MSB P0 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 39 Adresování SFR (např. brána P1 na adrese 90h) MOV 90h, #00h ; zapiš do SFR na adr. 90h přímá data 00h SETB 90h nastav bit v s bit. adr. 90h (nejnižší bit-LSB- brány P1) 90h bitová adresa od začátku (obtížně se pamatuje) SETB 90h.0 nastav bit na bitové adrese, která odpovídá nejnižšímu bitu na bajtové adrese 90h (určení y souřadnice -bajt, a x souřadnice -bit), bitovou adresu určí překladač B MSB AFh Adresování SFR MSB A8h A7h MSB A0h 90h MSB 90h 8Fh MSB 88h 87h LSB 80h P2 LSB SCON LSB bitová adresa P1 TCON LSB LSB LSB F0h MSB P0 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 40 Adresování SFR (např. brána P1 na adrese 90h) MOV 90h, #00h ; zapiš do SFR na adr. 90h přímá data 00h SETB 90h nastav bit v s bit. adr. 90h (nejnižší bit-LSB- brány P1) 90h bitová adresa od začátku (obtížně se pamatuje) SETB 90h.0 nastav bit na bitové adrese, která odpovídá nejnižšímu bitu na bajtové adrese 90h (určení y souřadnice -bajt, a x souřadnice -bit), bitovou adresu určí překladač SETB P1.0 totéž, ale i bajtovou adresu (P1 equ 90h) překladač nejdříve vezme z tabulky symbolů- P1 odpovídá hodnota 90h B MSB AFh Adresování SFR MSB A8h A7h MSB A0h 90h MSB 90h 8Fh MSB 88h 87h LSB 80h 41 8- bitové registry; IP,IE,TMOD, TCON, SCON,PCON 16- bitové registry (THx, TLx) 8 bitový reg.; vyrovnávací registr pro vysíl. /příjem CY, AC, F0, RS1, RS0, OV,- , P 8 bitový reg.; výsledky arit., log. operací 8-bitové registry; čtení, zápis na porty procesoru 16 - bitový registr (DPH, DPL); adresace XDATA 8 bitový reg. 8 bitové registry; 4 banky, přepínané v PSW 8 bitový reg., pomoc. reg. pro násobení/ dělení 8 bitový registr; funkce střadače A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha sériový buffer SBUF hodnoty časovačů řídicí registry ........... střadač ACC .............. registr B ............. registry R0..R7 ......... ukazatel zásobníku - SP datový ukazatel - DPTR porty P0..P3 .............. stavový registr PSW Registry speciálních funkcí - SFR - datový ukazatel (data pointer), 16- bitový registr, který se používá pro adresování v programové a externí datové paměti - programový čítač; 16 - bitový registr, který obsahuje adresu následující instrukce - Carry flag - přenosový bit; indikuje přenos z MSB při operacích ALU - registrový pár; používá se při násobení a dělení DPTR PC C AB A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha - osm obecných registrů v právě aktivní bance R0 - R7 42 - střadač A Přehled rezervovaných symbolů A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha (skoky, volání podprogramu,návrat z podprogramu a z přerušení,...) • předání řízení (skoky) (mezi registry, styk s programovou a externí datovou pamětí) • přesuny dat (AND,OR, XOR, bitové rotace, nastavování/nulování bitu • logické operace (sčítání, odečítání, násobení, dělení,...) • aritmetické operace Přehled instrukčního souboru 8051 43 <název> <adresa> <adresa bitu> # <hodnota> A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha operand je přímo zadán, je součástí instrukce přímá data : bitově adresovatelná paměť RAM a vybrané SFR bitové adresy: adresy vnitřní datové paměti (0-127) a SFR registry (128 -255) bajtové adresy: A,C,DPTR, registry speciálních funkcí -SFR rezervované symboly: Instrukční soubor 8051 - Operandy instrukcí 44 <název> <adresa> <adresa bitu> # <hodnota> @R0, @R1, @DPTR, @A+PC A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha data (skok) se adresují přes ukazatel nepřímé adresování: operand je přímo zadán, je součástí instrukce přímá data : bitově adresovatelná paměť RAM a vybrané SFR bitové adresy: adresy vnitřní datové paměti (0-127) a SFR registry (128 -255) bajtové adresy: A,C,DPTR, registry speciálních funkcí -SFR rezervované symboly: Instrukční soubor 8051 - Operandy instrukcí 45 <název> <adresa> <adresa bitu> # <hodnota> @R0, @R1, @DPTR, @A+PC 8 bitů se znaménkem (+127 až -128) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha relativní adresa: data (skok) se adresují přes ukazatel nepřímé adresování: operand je přímo zadán, je součástí instrukce přímá data : bitově adresovatelná paměť RAM a vybrané SFR bitové adresy: adresy vnitřní datové paměti (0-127) a SFR registry (128 -255) bajtové adresy: A,C,DPTR, registry speciálních funkcí -SFR rezervované symboly: Instrukční soubor 8051 - Operandy instrukcí 46 obecná instrukce pro přesun (18 variant) A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha POP vyzvednutí dat ze zásobníku PUSH uložení dat do zásobníku práce se zásobníkem: MOVC přesun z programové paměti (CODE) MOVX přesun z/do externí datové paměti (XDATA) speciální přesuny dat: MOV obecné přesuny dat: Instrukční soubor 8051 - Přesuny dat 47 ADD prosté sečtení ADDC sčítání s přenosem z nižšího řádu INC přičtení jedničky (inkrementace) DIV dělení obsahu střadače registrem B násobení obsahu střadače obsahem registru B dekadická korekce po sčítání dvou BCD čísel A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha DA dekadická korekce: dělení: MUL násobení: SUBB odečítání s výpůjčkou DEC odečtení jedničky (dekrementace) odčítání: sčítání: Instrukční soubor 8051 - Aritmetické instrukce 48 logický součin logický součet nonekvivalence nastavení bitu do log. 1 vynulování bitu bitový doplněk rotace bitů vlevo rotace bitů vlevo přes C rotace bitů vpravo rotace bitů vpravo přes C A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha SETB CLR CPL RL RLC RR RRC bitové operace: AND ORL XOR logické operace: Logické instrukce a instrukce pracující s bity 49 skok uvnitř 2kB stránky dlouhý skok ( v rámci 64 kB) obecná inst. skoku (překladač - AJMP nebo LJMP) volání podprogramu uvnitř 2 kB stránky dlouhé volání podprogramu obecná inst. volání podprogramu (překladač ...) návrat z podprogramu A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha ACALL LCALL CALL RET volání podprogramu: JB, JNB skok, je/není-li zadaný bit nastaven JBC skok a vynulování bitu, je-li zadaný bit nastaven JC, JNC skok je/není-li nastaven bit přenosu C JZ, JNZ skok je/není-li obsah střadače nulový DJNZ sniž obsah registru o 1;dále JNZ podmíněné skoky: AJMP LJMP JMP nepodmíněné skoky: Instrukční soubor 8051- Předání řízení 50 skok uvnitř 2kB stránky dlouhý skok ( v rámci 64 kB) obecná inst. skoku (překladač - AJMP nebo LJMP) volání podprogramu uvnitř 2 kB stránky dlouhé volání podprogramu obecná inst. volání podprogramu (překladač ...) návrat z podprogramu návrat z přerušení A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha RETI návrat z přerušení: ACALL LCALL CALL RET volání podprogramu: JB, JNB skok, je/není-li zadaný bit nastaven JBC skok a vynulování bitu, je-li zadaný bit nastaven JC, JNC skok je/není-li nastaven bit přenosu C JZ, JNZ skok je/není-li obsah střadače nulový DJNZ sniž obsah registru o 1;dále JNZ podmíněné skoky: AJMP LJMP JMP nepodmíněné skoky: Instrukční soubor 8051- Předání řízení 51 MOV CLR CALL SETB CALL JMP SP,#70h LED Cekej LED Cekej Start ; opakuj v nekonecne smycce ; zhasni LED ;pro stack vyuzij hornich 15 byte pameti ; rozsvit LED Cseg at PROG_PAM+100h ; rezervujeme prostor prvnich 256 bajtu na prerus. ; reset vektor - skok na vlastni zacatek programu A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Init: Start: 1 1 cseg at PROG_PAM JMP Init ds ds WaitLo: WaitHi: ; LED - buzena proti napajeni ; pocet cyklu cekaci smycky ; adresa ulozeni programu DSEG at 30h ; Pomocne promenne pro cekaci smycku ; P1.5 35000 0A000h EQU EQU EQU LED POCET PROG_PAM ; Program pro blikani LED diody na vyvojove desce MIP s 8051. ; Program slouzi pro blikani LED pripojene na nastaveny pin portu P1. ; Strida blikani je 1:1. LED je zapojena proti napajeno. ; perioda blikani nastavena cekaci funkci Cekej, kde pocet ; cekacich cyklu udava konstanta POCET Demonstrační program, blik, hlavní smyčka 52 WaitLo, Znovu WaitHi, Znovu Znovu: NOP DJNZ DJNZ RET A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha END WaitHi, #HIGH (POCET)+1; inicializace prodlevy WaitLo, #LOW (POCET)+1 Cekej: MOV MOV ;**************************************************************************************************** ;* Procedura cekani - konstantni doba dana konstantou POCET ;* zadne vstupni a vystupni parametry ;**************************************************************************************************** Demonstrační program, blik, podprog. čekání 53 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha 54 Nainstalovat IDE Ověřit funkčnost na testovacím programu Seznámit se s architekturou 8051 – lit. www.measure.feld.cvut.cz stránky předmětu X38MIP program blikání LED, čtení tlačítka, modifikace blikání podle tlačítka možno plně ověřit pomocí simulátoru simulace výstupu – indikace stavu P1.x (P1.7 až P1.4) simulace vstupu – zaškrtnutím stavu vstupu na P1.x (P1.3 až P1.0) AT89C2051 – příprav a programu, překlad, „napálení“ do vnitřní paměti Flash. program – blikání LED podle vstupu – tlačítko. Jak postupovat A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Paměť EPROM - program Monitor Mon51 od adr. 0000 do 1FFFFh Paměť SRAM od 0A000h – 0BFFFh, adr. BF00h až BFFFFh – rezervováno pro monitor Sloučení paměťových prostorů XDATA a CODE – obvodová úprava Vývojová deska na cvičeních – kit- 51 – (díky ochranným obvodůmpřipojené budiče 74HC245) polovina brány P1 (P1.3 až P1.0) jako vstup, polovina brány P1 (P1.7 až P1.4) jako výstup Kit 51- omezení 55 A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Firemní zdroje: WWW.ATMEL.COM WWW.NXP.COM WWW.SILABS.COM 56 Materiály s popisem procesoru jsou na www stránkách tohoto předmětu, případně na odkazech. http://measure.feld.cvut.cz/cs/vyuka/predmety/x38mip/dopmat K procesorům řady 8051 existuje velké množství literatury Dobrá česká kniha je: Skalický, P.: Mikroprocesory řady 8051 Literatura A3B38MMP, X38MIP, J.Fischer, 2011, kat. měření, ČVUT - FEL, Praha Vyhledávání na Internetu podle hesel: 8051 microcontroller - nebo- 8052 microcontroller + další klíčová slova např. „tutorial“, http://www.mikroe.com/eng/products/view/267/architecture-and-programming-of-8051-mcu-s/ Další zdroje: www.8052.com , kde jako příklad úpravy programu může sloužit: http://www.8052.com/codelib/files/sbcmon13.asm http://en.wikipedia.org/wiki/Intel_MCS-51 Literatura 57
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement