AVR - obecně
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

AVR - obecněAVR - obecně

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

AVR - obecně

Google       Google       17. 6. 2006       37 479×

V dnešním díle se podíváme na zoubek samotné architektuře procesoru. Je to věc často opomíjená, zvláště těmi, kteří programují procesory v jazyce C. Musím však upozornit, že pro zvládnutí jakéhokoliv typu procesoru, jsou tyto znalosti nesmírně důležité.

Reklama
Reklama

Procesory AVR mají tzv. Hardwardskou architekturu. To znamená, že mají oddělené paměťové prostory (a sběrnice) pro data i program. My se často setkáváme s druhým typem – tzv. von Neumannova architektura – například v běžném PC (data i program máme v jedné RAM, na jednom disku…

Jak je vidět na obrázku, AVR obsahují celkem tři druhy pamětí:

  • paměť programu FLASH
  • paměť dat (přechodných) RAM (SRAM)
  • paměť dat EEPROM

Pamě't RAM slouží k uchovávání přechodných dat. Je rozdělena na několik desítek registrů (bajtů). Tato data mohou být pouze pracovní a nebo také řídící – většina registrů ovládá periferie a nebo samotný chod procesoru. Jiné zase informují o stavu, v jakém se procesor nachází.

Paměť programu, jak už název napovídá, slouží k uložení programu a nebo konstant, které v programu využíváme. (Například při převodu z BIN->7 segment.) Tato data se ukládají pouze za použití programátoru.

Paměť EEPROM slouží pro uchování dat, o která nechceme po vypnutí napájení přijít &ndash jako tomu je například u RAM. Příkladem mohou být konfigurační data anebo například kód v případě kódového zámku.

To, co vidíte na obrázku, je CPU, tato část řídí celý procesor. Zpracovává veškeré instrukce, které do ní vcházejí jako 16 bitové číslo, označující instrukci a případné operandy. Jak vidíte, je propojena sběrnicí se všeni částmi integrovaného obvodu. I tato část má ale určeno paměťové místo, kam ukládá výsledky svých aktivit, a tím je SREG &ndash STATUS REGISTER (umístění v paměti RAM)

Vysvětlíme si, co jednotlivé bity znamenají:

  • I &ndash Global Interrupt Enable – globální povolení přerušení
  • T – Bit Copy Storage – místo pro ukládání bitu
  • H – Half Carry Flag – nastaví se při přenosu ze 3 na 4 bit
  • S – SIGN BIT = S XOR N
  • V – Two’s Complement Overflow Flag – příznak přeplnění čísla v druhém doplňku
  • N – Negative Flag – příznak negativního výsledku
  • Z – Zero Flag – příznak nulového výsledku
  • C – Carry Flag – příznak přetečení

Existuje i mnoho dalších jiných důležitých registrů, ale o těch si řekneme později. Dnes si ještě povíme něco o rozdělení paměti dat RAM a tím i o programátorském modelu.

Na obrázku nahoře můžete vidět rozložení registrů pro obecné použití. S těmito registry budete realizovat většinu operací. Některé operace ale pracují pouze s druhými šestnácti, které to jsou, si povíme později. Posledních 6 registrů 26 – 32 je možné využít také pro nepřímé adresování, což je většinou jediná možnost, jak „dosáhnout“ na data v celé 1k (S)RAM.

Na tomto obrázku již vidíte zařazení registrů R0 – R31 v rámci celé (S)RAM a pod nimi (vyšší adresy) umístěny vstupně-výstupní registry, jež ovládají periferie i samotný procesor. Od adresy 60H již máte celou zbylou (S)RAM pro sebe…

První krůčky

V minulém díle jsem uvedl odkaz na soubor s instrukční sadou pro procesory AVR. Doufám, že většina z vás si ji pozorně prostudovala, protože už dnes si napíšeme první program. Předpokládám, že již máte nainstalováno AVR studio.

Po spuštění AVR studia se vám zobrazí následující dialog, kde zvolte New Project:

Nastavte projekt podle obou obrazků:


Přepište následující kód:


		.NOLIST
		.INCLUDE "m16def.inc"
		.LIST
		
		// --> nastaveni zasobniku 
		LDI		R16,LOW(RAMEND)		
		OUT		SPL,R16
		LDI		R16,HIGH(RAMEND)
		OUT		SPH,R16
		// <-- konec nastaveni

		CLR		R2   ; vynuluje R2
		CLR		R3   ; vynuluje R3
		CLR		R19 ; vynuluje R19

zacatek:

		RCALL	zpozdi	; zavola "zpozdi"
		
		RJMP	zacatek ; skoci na "zacatek"


// ************** funkce *************
zpozdi:												
		INC		R2           ; inkrementuje R2
		LDI		R19,125      ; naplni R19 cislem 125
		CP		R2,R19       ; je-li R2 mensi nez 125 >>
		BRLO	        pryc          ; >> jde pryc

                CLR		R2
		INC		R3
		LDI		R19,25		
		CP		R3,R19
		BRLO	        pryc	     ; pozdrzi 25x, celkem tedy 3125x
	        CLR		R3
		; tady budem dal neco delat...
pryc:	        NOP
RET

Program zkompilujte stisknutím F7 a spusťte debugger (Shift + Alt + Ctrl + F5). Pomocí klávesy F11 si můžete program krokovat a zjistit, co dělá. Podívejte se hlavě na to, co se děje s registry R2 a R3. To je váš úkol pro příště, kdy si také program detailně popíšeme.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Ondřej KarasAutor se věnuje vývoji řídících a komunikačních systémů a tvorbě podpůrných aplikací.
Web    

Nové články

Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Reklama
Reklama
Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý