Úvod, principy aplikace uP v přístrojích, proc 8051

Úvod, principy aplikace uP v přístrojích, proc 8051
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
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement