Mikroprocesory v přístrojové technice
Přednášky A3B38MMP
1 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Mikroprocesory v přístrojové technice
A3B38MMP, katedra měření, ČVUT – FEL“ Vyučující: přednášky - doc. Ing. Jan Fischer, CSc., konzultace - úterý 17.45 hod – v 205, příp. při cvičení st. 18.00 v lab. 318 (další po do dohodě)
cvičení v lab. 318 blok A3. Ing. Miloš Okrouhlý, (míst. 316/5) cvičení st. 18.00, čt. 18,00 Ing. Tomáš Levora, (míst. 316/5) cvičení čt. 14.30, 16.15
2 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Kontakty
Ing. Jan Fischer, CSc. , kat. měření, míst. 441/1
[email protected] , tel 22435 2179
výuková lab. 318 blok A3 tel. 22435 2130 pro komunikaci používat pouze studentskou adresu FEL uziv_jmé
[email protected] (ostatní je spam)
3 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Oblast zájmu předmětu Mikroprocesory v přístrojové technice Použití mikroprocesoru v přístroji Mikroprocesory a jednočipové mikropočítače HW komponenty
4 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Oblast zájmu předmětu Mikroprocesory v přístrojové technice Přístrojová technika - přístroj Přístroj: spotřební elektronika, automatizace, měřicí technika, prodejní automaty Mikroprocesorem řízený přístroj Mikroprocesor vestavěný v přístroji či zařízení ? kolik máte doma mikroprocesorů ?
5 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP ve spotřební a domácí elektronice Největší spotřeba mikroprocesorů, resp. mikrokontrolérů spolu s automobilovým průmyslem. 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
6 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP ve spotřební a domácí elektronice Největší spotřeba mikroprocesorů, resp. mikrokontrolérů spolu s automobilovým průmyslem. 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 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č 7 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj v měřicí technice 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
8 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj v měřicí technice 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 Osciloskop (zcela jiná konstrukce oproti původnímu osciloskopu výkonný počítač + rychlé A/D převodníky),
9 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj v měřicí technice 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 Osciloskop (zcela jiná konstrukce oproti původnímu osciloskopu výkonný počítač + rychlé A/D převodníky), Spektrální analyzátor - digitalizace signálu + Fourier. transformace, metody číslicového zpracování signálu Elektroměr - digitalizace u, i, výpočet odebrané energie, dálkové ovládání - HDO („noční proud“ ) komunikace, ovládání relé
10 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj - domovní automatizace 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 ,...
11 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj - domovní automatizace 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í )
12 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj - domovní automatizace 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 13 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj - prodej, služby Prodejní automaty - na potraviny,…(snímač mincí, zobrazení, akční členy..) Stojan benzinové pumpy ( snímač - průtokoměr, komunikace, zobrazení, čtečka karet).
14 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj - prodej, služby 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.
15 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP řízený přístroj - prodej, služby 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í !!!) 16 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP - automobilní elektronika „automotive“ Automobilní elektronika - palubní přístroje: (řízení motoru- vstřikování,.. řízení brzd ABS, AES, palubní počítač, tempomat,..)
17 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP - automobilní elektronika -„automotive“ Automobilní elektronika - palubní přístroje: (ří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
18 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
uP - automobilní elektronika - „automotive“ Automobilní elektronika - palubní přístroje: (ří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 19 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Blokové schéma přístroje řízeného uP
analogové logické vstupy
tlačítka klávesnice
řízené obvody vstupy, výstupy, A/D, D/A
mikropočítač mikrořadič ( microcontroller)
ext. paměti Flash, pam. karty
analogové logické výstupy
LED
zobrazení LED 7- segment LCD- segment graf.
LCD
rozhraní RS232, USB, Ethernet
20 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Náplň předmětu - přednášky 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
21 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Náplň předmětu - přednášky 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á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ů
22 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Náplň předmětu - přednášky 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á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ů Další druhy mikropočítačů a mikrořadičů- architektura, vlastnosti 32- bitové mikroprocesory řady ARM Cortex M3 (provedení STM32) ( ARM – Cortex- M3 - viz. předměty A4B38NVS a A3M38AVS) Signálové procesory ADSP -BF53x Blackfin 23
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Náplň předmětu – cvičení 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“) (?? příp. skup. C velmi pokročilí – jako sk. B, ale s STM32 – STM32VL discovery kit)
Ú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 segment LED informace výuka, balalářská etapa, stránka předmětů Nové stránky, více informacích - staré stránky, je odkaz materiály k 8051,... 24 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Vývojové nástroje 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
AT89S8252 + 8KByte RAM
RS 232
nepájivé kontaktní pole
PC + IDE Keil Microvision 3
25 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Vývojové nástroje Modul s ADuC843 (Analog Devices) klon 8051 www.analog.com IDE Microvision 3 firmy KEIL www.keil.com podpora debug přímo na čipu
ADuC843 + ADM232 RS -232
USB/ RS 232 převodník
nepájivé kontaktní pole
PC + IDE Keil Microvision 3
26 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Vývojové nástroje Vlastní realizace modulu na nepájivém kontaktním poli Atmel AT89C51RB2 (AT89C51RD2 ) + ADM232 napojení na RS-232 Pouze „ download“ a spuštění programu tvorba hex. kódu - IDE Microvision 3 firmy KEIL www.keil.com AT89C51RB2 +ADM 232 RS -232
USB/ RS 232 převodník
nepájivé kontaktní pole
PC + IDE Keil Microvision 3
27 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Očekávaný přínos předmětu - pro bakal. práci
Pochopení základních principů funkce a návrhu uP řízeného přístroje (bez ohledu na typ použitého uP) 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
28 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Podmínky zápočtu, zkouška X38MIP • Aktivní účast na cvičeních, odevzdání úloh podle plánu, samostatná práce (ne plagiátorství !!!) • Průběžná domácí příprava na cvičení- viz WW stránky !!! • Zápočet v zápočtovém týdnu, ve zkouškovém období není možný přístup do laboratoře, náhradní termín – max. konec. 2. týdne. zk. • Test v 9. týdnu na přednášce • Úlohy až 39 bodů, test. v sem. 21 bodů, testy u zkoušky 20b + 20b. • 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/vyuka .. bak. stud, návody 29 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Procesory s jádrem 8051 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, ........ Proč používáme 8051 v základním kursu: jednoduchá architektura, pochopení „ za 2-3 dny“ ( ARM – Cortex M3 seznámení se za -2-3 měsíce) Mnoho informací a knih, vzorů programů, www.8052.com,..... nejrozšířenější architektura mikrořadiče (ne však nezdařilejší) Pozn. – např. pozdější následníci- Intel 8096, 80C196 ( 16 –bitové, výkonnější, podstatně lepší instr. sada,…) zcela zapadly.
30 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Procesory s jádrem 8051 Jádro 8051 obsaženo i pouze jako doplněk řadiče High speed USB 2.0 řadič + 8051: Cypress Cy7C68013A, www.cypress.com Texas Instruments TUSB6250 www.TI.com Jádro 8051 – často jako doplněk hlavního obvodu (podobně jako vTUS6250) Nově – posun – použití jádra ARM
31 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Blokové schéma AT89C52 ext. int.
Blokové schéma AT89 C52 counter inputs
interrupt control
256 B RAM
8 KB Flash
Timer 0, 1, 2
CPU
osc
bus control
serial port UART
I/O port
P0
P2 P1
P3
TxD RxD
Address / Data 32 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Význam a funkce bloků AT89C52 ext. int.
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)
Blokové schéma AT89 C52 counter inputs
interrupt control
Timer 0, 1, 2
256 B RAM
8 KB Flash
CPU
osc
bus control
serial port UART
I/O port
P0
P2 P1
P3
TxD RxD
Address / Data
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 33 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Vývody AT89C52 P1.0/T2
1
40
VCC
P1.1/T2EX
2
39 38
P0.0/AD0
37
P0.1/AD1 P0.2/AD2
6
36 35
P0.3/AD3 P0.4/AD4
7 8
34 33
P0.5/AD5
9
32
P0.7/AD7
P3.0/RxD
10
P3.1/TxD
11 12
31 30
EA ALE/PR OG PSEN
13
29 28
P3.5/T1
14 15
27 26
P3.6/WR
16
25
P3.7/RD XTAL2
17 18
24 23
P2.2/A10
XTAL1
19 20
22 21
P2.1/A9
P1.2 P1.3 P1.4
3 4
P1.5 P1.6/ P1.7 RST
P3.2/INT0 P3.3/INT1 P3.4/T0
VSS
5
PDIL
P0.6/AD6
P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11
P2.0/A8
Signály procesoru: 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) P1.7 - MSB, P1.0 - LSB atd. UART výst. TxD, vst. RxD přeruš.vst. /INT0, /INT1 akt. L T0, T1 vstupy čítačů Signály externí sběrnice: /WR, /RD, říd. sig. zápisu a čtení A15 - A8, adresové signály AD8 -AD0 mux. adresové/datové s. Vss zem ( GND ground) Vcc - napájení , +5 V, RST - Reset celého procesoru XTAL 1,2 - krystal - oscilátor 34
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Signály AT89C52 VCC
VSS
XTAL1
P1.0/T2
1
40
VCC
P1.1/T2EX
2
39
P0.0/AD0
3
38
P1.3
4
37
P0.1/AD1 P0.2/AD2
P1.4
5
36
P1.5
6
35
P0.3/AD3 P0.4/AD4
P1.6/ P1.7
7 8
34
P0.5/AD5
33
P0.6/AD6
RST
9
32
P0.7/AD7
31
EA
POR T 0
P1.2
ADDRESS AND DATA BUS
XTAL2
RxD TxD INT0 INT1 T0 T1 WR RD
POR T 1 POR T 2
RST EA PSEN ALE
POR T 3
SECONDAR Y FUNCTIONS
P3.0/RxD
10
PDIL
P3.1/TxD
11
30
ALE/PR OG
P3.2/INT0 P3.3/INT1
12
29
PSEN
13
28
P3.4/T0
14
P3.5/T1
15
27 26
P2.7/A15 P2.6/A14
P3.6/WR
16
25
P3.7/RD XTAL2
17
24
18
23
P2.2/A10
XTAL1
19
22
P2.1/A9
VSS
20
21
P2.0/A8
P2.5/A13 P2.4/A12 P2.3/A11
ADDRESS BUS
35 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Pouzdro AT89C52 P1.0/T2
1
40
VCC
P1.1/T2EX
2
39 38
P0.0/AD0
Pouzdro DIL 40, nepostačuje pro všechny signály, proto - sdílení pinů:
37
P0.1/AD1 P0.2/AD2
6
36 35
P0.3/AD3 P0.4/AD4
7 8
34 33
P0.5/AD5
9
32
P0.7/AD7
hradlování čítače T0, brána P.3.0, a přerušovací vstup /INT0
P3.0/RxD
10
P3.1/TxD
11 12
31 30
EA ALE/PR OG
P2.7 a sig. sběrnice AD15
PSEN
13
29 28
P3.5/T1
14 15
27 26
P3.6/WR
16
25
P3.7/RD XTAL2
17 18
24 23
P2.2/A10
XTAL1
19 20
22 21
P2.1/A9
P1.2 P1.3 P1.4
3 4
P1.5 P1.6/ P1.7 RST
P3.2/INT0 P3.3/INT1 P3.4/T0
VSS
5
PDIL
P0.6/AD6
P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11
UART výst.TxD a brána P3.1 vstup RxD a P3.0
Někdy možnost použít vstupní pin ve více funkcích současně hradlovat čítač, číst stav pinu, přerušit spádovou hranou ( využití v úloze)
P2.0/A8
36 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Vnitřní blokové schéma CPU řady 51 P0.0 - P0.7
PORT 0 DRIVERS
P2.0 - P2.7
PORT 2 DRIVERS
VCC VSS RAM ADDR REGISTER
PORT 0 LATCH
RAM
PORT 2 LATCH
ROM/EPROM
8 B REGISTER
STACK POINTER
ACC
PROGRAM ADDRESS REGISTER
TMP1
TMP2
BUFFER
ALU SFRs PSW
PC INCREMENTER
TIMERS
8
16 PROGRAM COUNTER
PSEN ALE/PROG EA/ VPP RST
DPTR'S MULTIPLE
TIMING AND CONTROL
PD
PORT 1 LATCH
PORT 3 LATCH
PORT 1 DRIVERS
PORT 3 DRIVERS
OSCILLATOR
XTAL1
XTAL2
P1.0 - P1.7
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
P3.0 - P3.7
37
Paměťový model mikropočítače 8051 Prostory CODE ( pouze čtení) , DATA, XDATA
Paměťový model uP řady 8051 CODE FFFF
FFFF interní paměť dat
paměť prog.
FF 80 7F 0000
XDATA
DATA
externí paměť dat
REG. SP. FUNKCÍ RAM
00
0000
38 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Paměťový model mikropočítače AT89C52 AT89C52 navíc - 128B RAM - DATA, 8KB vnitřní paměti FLASH -CODE, povolení vnitřní FLASH vstup /EA= L
CODE
Pamět. prostory u AT89C52
FFFF
XDATA
FFFF ext. pam. prog.
ext.pam. dat DATA
AT89C52 1FFF 1000 0FFF 0000
FF EA=1
EA=0
80 7F 00
REG. SP. FUNKCÍ RAM (128B)
RAM (128B)
0000
39 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Paměťový model - prostor DATA FF
80 7F
speciální funkční registry
FF
adresový prostor DATA nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
paměť RAM + speciální funkční registry SFR
128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť
reg. banka 3 reg. banka 2 reg. banka 1 R7 R0
reg. banka 0
40 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Prostor DATA, paměť RAM u 8051 FF
80 7F
speciální funkční registry
FF
128 Byte paměti RAM nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť
reg. banka 3
paměť RAM 128 Byte v prostoru DATA
reg. banka 2 reg. banka 1 R7 R0
reg. banka 0
41 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Registry R0 - R7 FF
80 7F
speciální funkční registry
FF nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0
128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00
zápisník, data 128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť
reg. banka 3 reg. banka 2 reg. banka 1 R7 R0
reg. banka 0
registry R0 až R7
42 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Bitově adresovatelná paměť RAM FF
80 7F
speciální funkční registry
FF nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
128B
30 2F
20 1F 18 17 10 0F 08 07 00
128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť 16 Byte = 16 x 8 bitů = 128 bitů reg. banka 3 reg. banka 2 reg. banka 1
R7 R0
reg. banka 0
43 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Doplňková - pouze nepřímo adr. paměť RAM (8x52) FF
80 7F
speciální funkční registry
FF nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť 128 Byte nepřímo adres. pam (např. MOV A, @R0)
128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů (pouze) nepřímo adres. paměť RAM -128 Byte
reg. banka 3 reg. banka 2 reg. banka 1 R7 R0
reg. banka 0
44 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Prostor DATA přímo i nepřímo adr. RAM FF
80 7F
speciální funkční registry
FF nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
17 0F 07
10 08 00
bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů (pouze) nepřímo adres. paměť RAM -128 Byte
70 bitově adresovatelná paměť
128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00
128 Byte přímo i nepřímo adres. pam
Přímo i nepřímo adr. pam. RAM - 128 Byte
reg. banka 3 reg. banka 2 reg. banka 1 R7 R0
reg. banka 0
45 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Celá oblast nepřímo adr. paměti RAM FF
80 7F
speciální funkční registry
FF nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť celkem 256 Byte nepřímo adres. pam RAM
128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů (pouze) nepřímo adres. paměť RAM -128 Byte Přímo i nepřímo adr. pam. RAM - 128 Byte
reg. banka 3 reg. banka 2
Nepřímo adr. pam 256 Byte
reg. banka 1 R7 R0
reg. banka 0
46 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Prostor DATA, Speciální funkční registry - SFR FF
80 7F
speciální funkční registry
FF nepřímo adres. dat. pam. ( pouze u xx52 verzí)
SP P0 zápisník, data
128B
30 2F
20 1F 18 17 10 0F 08 07 00
80 7F
70
17 0F 07
10 08 00
bitově adresovatelná paměť spec. funkč. registrybrány, čítače, UART, řízení, řadič reg. banka 3 přerušení, reg. banka 2
přímo adr. MOV 80h, #0Fh
reg. banka 1 R7 R0
reg. banka 0
128 Byte paměti RAM Registry R0 - R7, banka 0, R0 na adr. 00 bitově adresovatelná.paměť bit 00,01,02 ....celk. 128 bitů (pouze) nepřímo adres. paměť RAM -128 Byte Přímo i nepřímo adr. pam. RAM - 128 Byte Nepřímo adr. pam 256 Byte Spec. funkční registry pouze přímo adresovatelné v prostoru DATA 47
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Prostor DATA, jednočip. mikropočítač AT89C2051 FF
80 7F
speciální funkční registry SP P0
Jednočip. mikropočítač AT89C2051 použití v první samostatné úloze • pouze 128B RAM
zápisník, data
• malé pouzdro DIL20 30 2F
20 1F 18 17 10 0F 08 07 00
7F
• vývody -port P1 a necelý P3
70
17 0F 07
10 08 00
bitově adresovatelná paměť
• na P1.0 a P1.1 nejsou PULL - UP rezistory - není schopen generovat na výstupu úroveň H
reg. banka 3 reg. banka 2 reg. banka 1 R7 R0
reg. banka 0
48 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Prostor SFR - (DATA) u AT89S8252 F8h
FFh
F0h E8h
B (00h)
F7h EFh
E0h D8h
ACC (00h)
E7h DFh
D0h
PSW (00h)
D7h
C8h T2CON (00h) C0h
T2MOD
RCAP2L
RCA2H
RCA2H
TL2
CFh
TH2
C7h
B8h
IP
BFh
B0h
P3 (FFh)
B7h
A8h A0h
AFh
SPSR
A7h
P2 (FFh)
98h SCON (00h) SBUF (xx) 90h P1 (FFh)
9Fh
bitově. adresov.
0 (8)
1 (9)
97h
WMCON
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) 2 (A)
3 (B)
4 (C)
5 (D)
8Fh PCON 6 (E)
87h
7 (F)
49 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
LSB
MSB P0
80h
LSB
MSB
TCON
88h 87h
P1
90h 8Fh
98h 97h
LSB
MSB
LSB
MSB
SCON
A0h 9Fh
A7h
P2
F0h
B
LSB
MSB
LSB
MSB
Adresování SFR
bitová adresa
Adresování SFR (např. brána P1 na adrese 90h) MOV 90h, #00h ; zapiš do SFR na adr. 90h přímá data 00h
50 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
LSB
MSB P0
80h
LSB
MSB
TCON
88h 87h
P1
90h 8Fh
98h 97h
LSB
MSB
LSB
MSB
SCON
A0h 9Fh
A7h
P2
F0h
B
LSB
MSB
LSB
MSB
Adresování SFR
bitová adresa
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)
51 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
LSB
MSB P0
80h
LSB
MSB
TCON
88h 87h
P1
90h 8Fh
98h 97h
LSB
MSB
LSB
MSB
SCON
A0h 9Fh
A7h
P2
F0h
B
LSB
MSB
LSB
MSB
Adresování SFR
bitová adresa
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č
52 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
LSB
MSB P0
80h
LSB
MSB
TCON
88h 87h
P1
90h 8Fh
98h 97h
LSB
MSB
LSB
MSB
SCON
A0h 9Fh
A7h
P2
F0h
B
LSB
MSB
LSB
MSB
Adresování SFR
bitová adresa
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 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
53
Registry speciálních funkcí - SFR
střadač ACC .............. registr B .............
8 bitový registr; funkce střadače 8 bitový reg., pomoc. reg. pro násobení/ dělení
54 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Registry speciálních funkcí - SFR
střadač ACC .............. registr B ............. registry R0..R7 ......... ukazatel zásobníku - SP
8 bitový registr; funkce střadače 8 bitový reg., pomoc. reg. pro násobení/ dělení 8 bitové registry; 4 banky, přepínané v PSW 8 bitový reg.
55 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Registry speciálních funkcí - SFR
střadač ACC .............. registr B ............. registry R0..R7 ......... ukazatel zásobníku - SP datový ukazatel - DPTR porty P0..P3 ..............
8 bitový registr; funkce střadače 8 bitový reg., pomoc. reg. pro násobení/ dělení 8 bitové registry; 4 banky, přepínané v PSW 8 bitový reg. 16 - bitový registr (DPH, DPL); adresace XDATA 8-bitové registry; čtení, zápis na porty procesoru
56 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Registry speciálních funkcí - SFR
střadač ACC .............. registr B ............. registry R0..R7 ......... ukazatel zásobníku - SP datový ukazatel - DPTR porty P0..P3 .............. stavový registr PSW
8 bitový registr; funkce střadače 8 bitový reg., pomoc. reg. pro násobení/ dělení 8 bitové registry; 4 banky, přepínané v PSW 8 bitový reg. 16 - bitový registr (DPH, DPL); adresace XDATA 8-bitové registry; čtení, zápis na porty procesoru 8 bitový reg.; výsledky arit., log. operací CY, AC, F0, RS1, RS0, OV,- , P
sériový buffer SBUF
8 bitový reg.; vyrovnávací registr pro vysíl. /příjem
57 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Registry speciálních funkcí - SFR
střadač ACC .............. registr B ............. registry R0..R7 ......... ukazatel zásobníku - SP datový ukazatel - DPTR porty P0..P3 .............. stavový registr PSW
8 bitový registr; funkce střadače 8 bitový reg., pomoc. reg. pro násobení/ dělení 8 bitové registry; 4 banky, přepínané v PSW 8 bitový reg. 16 - bitový registr (DPH, DPL); adresace XDATA 8-bitové registry; čtení, zápis na porty procesoru 8 bitový reg.; výsledky arit., log. operací CY, AC, F0, RS1, RS0, OV,- , P
sériový buffer SBUF hodnoty časovačů řídicí registry ...........
8 bitový reg.; vyrovnávací registr pro vysíl. /příjem 16- bitové registry (THx, TLx) 8- bitové registry; IP,IE,TMOD, TCON, SCON,PCON
58 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled rezervovaných symbolů A
- střadač
59 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled rezervovaných symbolů A
- střadač
R0 - R7
- osm obecných registrů v právě aktivní bance
60 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled rezervovaných symbolů A
- střadač
R0 - R7
- osm obecných registrů v právě aktivní bance
DPTR
- datový ukazatel (data pointer), 16- bitový registr, který se používá pro adresování v programové a externí datové paměti
61 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled rezervovaných symbolů A
- střadač
R0 - R7
- osm obecných registrů v právě aktivní bance
DPTR
- datový ukazatel (data pointer), 16- bitový registr, který se používá pro adresování v programové a externí datové paměti
PC
- programový čítač; 16 - bitový registr, který obsahuje adresu následující instrukce
62 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled rezervovaných symbolů A
- střadač
R0 - R7
- osm obecných registrů v právě aktivní bance
DPTR
- datový ukazatel (data pointer), 16- bitový registr, který se používá pro adresování v programové a externí datové paměti
PC
- programový čítač; 16 - bitový registr, který obsahuje adresu následující instrukce
C
- Carry flag - přenosový bit; indikuje přenos z MSB při operacích ALU
63 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled rezervovaných symbolů A
- střadač
R0 - R7
- osm obecných registrů v právě aktivní bance
DPTR
- datový ukazatel (data pointer), 16- bitový registr, který se používá pro adresování v programové a externí datové paměti
PC
- programový čítač; 16 - bitový registr, který obsahuje adresu následující instrukce
C
- Carry flag - přenosový bit; indikuje přenos z MSB při operacích ALU
AB
- registrový pár; používá se při násobení a dělení
64 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled instrukčního souboru 8051
• aritmetické operace (sčítání, odečítání, násobení, dělení,...)
65 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled instrukčního souboru 8051
• aritmetické operace (sčítání, odečítání, násobení, dělení,...)
• logické operace (AND,OR, XOR, bitové rotace, nastavování/nulování bitu
66 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled instrukčního souboru 8051
• aritmetické operace (sčítání, odečítání, násobení, dělení,...)
• logické operace (AND,OR, XOR, bitové rotace, nastavování/nulování bitu
• přesuny dat (mezi registry, styk s programovou a externí datovou pamětí)
67 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Přehled instrukčního souboru 8051
• aritmetické operace (sčítání, odečítání, násobení, dělení,...)
• logické operace (AND,OR, XOR, bitové rotace, nastavování/nulování bitu
• přesuny dat (mezi registry, styk s programovou a externí datovou pamětí)
• předání řízení (skoky) (skoky, volání podprogramu,návrat z podprogramu a z přerušení,...)
68 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Operandy instrukcí rezervované symboly:
A,C,DPTR, registry speciálních funkcí -SFR
69 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Operandy instrukcí rezervované symboly:
A,C,DPTR, registry speciálních funkcí -SFR
bajtové adresy:
adresy vnitřní datové paměti (0-127) a SFR registry (128 -255)
70 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Operandy instrukcí rezervované symboly:
A,C,DPTR, registry speciálních funkcí -SFR
bajtové adresy:
adresy vnitřní datové paměti (0-127) a SFR registry (128 -255)
bitové adresy:
bitově adresovatelná paměť RAM a vybrané SFR
71 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Operandy instrukcí rezervované symboly:
A,C,DPTR, registry speciálních funkcí -SFR
bajtové adresy:
adresy vnitřní datové paměti (0-127) a SFR registry (128 -255)
bitové adresy:
bitově adresovatelná paměť RAM a vybrané SFR
přímá data :
#
operand je přímo zadán, je součástí instrukce
72 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Operandy instrukcí rezervované symboly:
A,C,DPTR, registry speciálních funkcí -SFR
bajtové adresy:
adresy vnitřní datové paměti (0-127) a SFR registry (128 -255)
bitové adresy:
bitově adresovatelná paměť RAM a vybrané SFR
přímá data :
#
operand je přímo zadán, je součástí instrukce
nepřímé adresování:
@R0, @R1, @DPTR, @A+PC
data (skok) se adresují přes ukazatel
73 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Operandy instrukcí rezervované symboly:
A,C,DPTR, registry speciálních funkcí -SFR
bajtové adresy:
adresy vnitřní datové paměti (0-127) a SFR registry (128 -255)
bitové adresy:
bitově adresovatelná paměť RAM a vybrané SFR
přímá data :
#
operand je přímo zadán, je součástí instrukce
nepřímé adresování:
@R0, @R1, @DPTR, @A+PC
data (skok) se adresují přes ukazatel
relativní adresa:
8 bitů se znaménkem (+127 až -128)
74 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Přesuny dat
obecné přesuny dat: MOV
obecná instrukce pro přesun (18 variant)
75 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Přesuny dat
obecné přesuny dat: MOV
obecná instrukce pro přesun (18 variant)
speciální přesuny dat: MOVC přesun z programové paměti (CODE) MOVX přesun z/do externí datové paměti (XDATA)
76 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Přesuny dat
obecné přesuny dat: MOV
obecná instrukce pro přesun (18 variant)
speciální přesuny dat: MOVC přesun z programové paměti (CODE) MOVX přesun z/do externí datové paměti (XDATA)
práce se zásobníkem: POP vyzvednutí dat ze zásobníku PUSH uložení dat do zásobníku
77 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Aritmetické instrukce sčítání: ADD prosté sečtení ADDC sčítání s přenosem z nižšího řádu INC přičtení jedničky (inkrementace)
78 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Aritmetické instrukce sčítání: ADD prosté sečtení ADDC sčítání s přenosem z nižšího řádu INC přičtení jedničky (inkrementace)
odčítání: SUBB odečítání s výpůjčkou DEC odečtení jedničky (dekrementace)
79 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Aritmetické instrukce sčítání: ADD prosté sečtení ADDC sčítání s přenosem z nižšího řádu INC přičtení jedničky (inkrementace)
odčítání: SUBB odečítání s výpůjčkou DEC odečtení jedničky (dekrementace)
násobení: MUL
násobení obsahu střadače obsahem registru B
80 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Aritmetické instrukce sčítání: ADD prosté sečtení ADDC sčítání s přenosem z nižšího řádu INC přičtení jedničky (inkrementace)
odčítání: SUBB odečítání s výpůjčkou DEC odečtení jedničky (dekrementace)
násobení: MUL
násobení obsahu střadače obsahem registru B
DIV
dělení obsahu střadače registrem B
dělení:
81 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051 - Aritmetické instrukce sčítání: ADD prosté sečtení ADDC sčítání s přenosem z nižšího řádu INC přičtení jedničky (inkrementace)
odčítání: SUBB odečítání s výpůjčkou DEC odečtení jedničky (dekrementace)
násobení: MUL
násobení obsahu střadače obsahem registru B
DIV
dělení obsahu střadače registrem B
dělení: dekadická korekce: DA
dekadická korekce po sčítání dvou BCD čísel 82
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Logické instrukce a instrukce pracující s bity logické operace: AND ORL XOR
logický součin logický součet nonekvivalence
83 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Logické instrukce a instrukce pracující s bity logické operace: AND ORL XOR
logický součin logický součet nonekvivalence
bitové operace: SETB CLR CPL RL RLC RR RRC
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
84 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051- Předání řízení nepodmíněné skoky: AJMP LJMP JMP
skok uvnitř 2kB stránky dlouhý skok ( v rámci 64 kB) obecná inst. skoku (překladač - AJMP nebo LJMP)
85 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051- Předání řízení nepodmíněné skoky: AJMP LJMP JMP
skok uvnitř 2kB stránky dlouhý skok ( v rámci 64 kB) obecná inst. skoku (překladač - AJMP nebo LJMP)
podmíněné skoky: 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
86 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051- Předání řízení nepodmíněné skoky: AJMP LJMP JMP
skok uvnitř 2kB stránky dlouhý skok ( v rámci 64 kB) obecná inst. skoku (překladač - AJMP nebo LJMP)
podmíněné skoky: 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
volání podprogramu: ACALL LCALL CALL RET
volání podprogramu uvnitř 2 kB stránky dlouhé volání podprogramu obecná inst. volání podprogramu (překladač ...) návrat z podprogramu 87
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Instrukční soubor 8051- Předání řízení nepodmíněné skoky: AJMP LJMP JMP
skok uvnitř 2kB stránky dlouhý skok ( v rámci 64 kB) obecná inst. skoku (překladač - AJMP nebo LJMP)
podmíněné skoky: 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
volání podprogramu: ACALL LCALL CALL RET
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í: RETI
návrat z přerušení
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
88
Demonstrační program, blik, hlavní smyčka ; 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 LED equ P1.5 POCET equ 35000 PROG_PAM equ 0A000h dseg at 30h WaitLo: ds 1 WaitHi: ds 1 cseg at PROG_PAM jmp Init
; LED - buzena proti napajeni ; pocet cyklu cekaci smycky ; adresa ulozeni programu
; Pomocne promenne pro cekaci smycku ;
; reset vektor - skok na vlastni zacatek programu
cseg at PROG_PAM+100h ; rezervujeme prostor prvnich 256 bajtu na prerus. Init: mov SP,#70h Start: clr LED call Cekej setb LED call Cekej jmp Start
pro stack vyuzij hornich 15 byte pameti ; rozsvit LED ; zhasni LED ; opakuj v nekonecne smycce 89
A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Demonstrační program, blik, podprog. čekání
;**************************************************************************************************** ;* Procedura cekani - konstantni doba dana konstantou POCET ;* zadne vstupni a vystupni parametry ;**************************************************************************************************** Cekej: mov mov
WaitHi,#HIGH(POCET)+1; inicializace prodlevy WaitLo,#LOW(POCET)+1
Znovu: nop djnz WaitLo,Znovu djnz WaitHi,Znovu ret end
90 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Jak postupovat 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.
91 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Kit 51- omezení
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
92 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Literatura K procesorům řady 8051 existuje velké množství literatury Dobrá česká kniha je: Skalický, P.: Mikroprocesory řady 8051, vydavatelství BEN 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 Firemní zdroje: WWW.ATMEL.COM WWW.NXP.COM WWW.SILABS.COM
93 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření
Literatura Další zdroje: www.8052.com , kde jako příklad úpravy programu může sloužit: http://www.8052.com/codelib/ http://www.8052.com/codelib/files/sbcmon13.asm http://en.wikipedia.org/wiki/Intel_MCS-51 http://www.mikroe.com/eng/products/view/267/architecture-and-programming-of-8051-mcu-s/
Vyhledávání na Internetu podle hesel: 8051 microcontroller - nebo- 8052 microcontroller + další klíčová slova např. „tutorial“,
94 A3B38MMP, J.Fischer, 2013 ČVUT - FEL, Praha, kat. měření