BPC-MIC05 - Principy obsluhy V-V periferií
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
• Smí používat pouze proměnné vytvářené na
zásobníku
– V C lokální proměnné bez static.
• Nesmí používat globální ani statické
proměnné.
RESET
• Procesor je inicializován zapnutím napájení
(Power Up), nebo aktivní úrovní signálu RESET.
– Vynulují se datové registry.
– Řídicí registry se nastaví na inicializační hodnoty.
• Do programového čítače (PC) se vloží adresa
první instrukce programu. Ta je uložena v
paměti na místě tzv. reset vektoru.
RESET vektor
• Reset vektor je výrobcem procesoru
definovaná adresa v operační paměti, na které
je uložena adresa první instrukce programu.
• Např. u mikrokontrolérů řady HCS08 je reset
vektor na adrese FFFE.
Požití reset vektoru
…………
.org
ROMStart
_Startup:
LDHX
#STACK
; První instrukce programu
…………
.org
0xFFFE
; RESET vektor
.dw
_Startup
Struktura embedded programu
.org
RAMStart
ds.b
100
; Vyhrazení prostoru pro zásobník
STACK:
buf:
ds.b
10
; Definice globálních proměnných
…
.org
ROMStart
_Startup:
LDHX
#STACK; Nastavení SP na vrchol zásobníku
TXS
; SP <- (H:X) - $0001
…………
; Inicializace globálních proměnných
…………
; Inicializace hardware
CLI
; Na závěr inicializace povolení přerušení
LOOP:
; Hlavní smyčka
…………
BRA
LOOP
Struktura embedded programu
; Obslužná rutina přerušení
IsrIRQF:
PSHH
; H se automaticky neukládá
LDHX
#buf
………
PULH
; Obnovení H
RTI
; Návrat z přerušení
; Vektory přerušení
.org
0xFFFA
.dw
IsrIRQF
………
.org
0xFFFE ; RESET vektor
.dw
_Startup