AVR – prakticky
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

AVR – praktickyAVR – prakticky

 

AVR – prakticky

Google       Google       1. 9. 2006       39 079×

Kdo má už doma programátor, jistě si zkusil některý z prográmků poupravit a nahrát. Někteří pozornější měli možná štěstí a program jim fungoval, tak jak měl. Jiní si museli počkat na dnešní díl. Dnes si totiž krok po kroku nejprve vytvoříme program, zkompilujeme a nahrajeme do procesoru.

Krok první – Hardware

Jak si obstarat programátor jsme si řekli minule. Také jsme si řekli, že pro začátek budeme používat ISP programátor na paralelní port. K programátoru budeme samozřejmě také potřebovat software, kterým ho budeme ovládat. Můžeme použít buď známý PonyProg a nebo také Atmel AVR ISP Parallel Port Programmer. Programuje-li někdo v CodeVision (v C), může využít programovací software implantovaný do vývojového prostředí. My si zvolíme první možnost. PonyProg je velmi rozšířený a po celém světě se těší velké oblibě.

Samotný procesor umístíme do nepájivého kontaktního pole a vyrobíme si propojovací kablík. Propojení bude vždy 1:1. Tedy například MISO procesoru na MISO programátoru stejně tak s ostatními signály. Samozřejmostí je přivedení napájení (5 V). Pro jistotu si popíšeme, co který signál znamená:

MISO
Master In Slave Out. Zařízení, které spravuje sběrnici, přijímá data. Zde PC.
MOSI
Master Out Slave In. Zařízení, které spravuje sběrnici, data vysílá.
SCK
hodinový signál
RESET
jistě netřeba představovat – resetuje obvod.

Krok druhý - Software

Po stažení a instalaci PonyProgu jej spusťte. Pro správnou komunikaci s programátorem je nutné nastavit typ a port, na kterém je programátor připojen. Zvolte Setup → Interface setup a nastavte AVR ISP I/O a samozřejmě správný LPT port. Otestujte nastavení tlačítkem Test. Pokud hlásí chybu, je programátor zřejmě nepřipojen nebo je chyba v práci s portem LPT. Ve Windows XP bohužel tento problém nastává velmi často. Tento problém však není neřešitelný. Povíme si jak na to.

Ve správci zařízení zobrazte skrytá zařízení: Zobrazit → Zobrazit skrytá zařízení. V položce Ovladače nepodporující Plug and Play technologii vyberte IOPort a v záložce Ovladač vyberte Spuštění počítače. Restartuje počítač.

Máte-li spuštěný program a nebyla-li nahlášena chyba o nenalezení programátoru, můžeme pokračovat. Nejprve si ale povíme něco o programovacích propojkách.

Programovací propojky

Programovací propojky, nebo-li také fuse bits, slouží k nastavení procesoru, jeho zdroje hodinového signálu, ochran proti přepisu a jiných vlastností, které ještě neznáme. Špatným nastavením těchto propojek můžeme uvést procesor do již nepoužitelného stavu. Proto vždy pečlivě překontrolujte nastavení propojek, než je zapíšete do procesoru.

Kompletní přehled propojek a jejich popis naleznete v katalogovém listu procesoru. My si dnes povíme pouze o propojkách nastavujících hodinový zdroj signálu. Vyrobíme si vlastní blikač.

Programovací propojky nastavující zdroj hodinového signálu

Programovací propojky nastavující zdroj hodinového signlu jsou častou příčinou neúspěchu u programátorů začínajících s procesory AVR. Na diskusních fórech jsou často k nalezení dotazy jak „oživit mrtvé AVRko“. Často je situace způsobena nepozorností. V nastavení zdroje hodin jsou totiž některé kombinace rezervovány, a tak může dojít k nenávratnému zablokování součásky. Z tohoto důvodu je nutné tyto vlastnosti pozorně nastavovat.

V hlavním okně zvolte rodinu procesorů AVR micro a procesor ATmega16, případně jiný… Po kliknutí na Command → Security and Configuration bits… se objeví okno s konfiguračními bity (fuse bits). Načtením zjitíte, jak je procesor zrovna nastaven. My provedeme změnu tak, aby nastavení vypadalo jako na obrázku.

Nastavení uložíme do procesoru. Důležitými pro nás byly bity CKSEL0, CKSEL3 a SUT0. Jimi jsme nastavili Interní RC oscilátor a frekvenci 8 MHz. Teď už jen zbývá nahrát program… a můžeme blikat.

	.INCLUDE "m16def.inc"	
	.LIST	
				 
	.CSEG	        ;kódový segment	
	.DEF REG=R16	;pracovní registr
	.EQU DDR=DDRC	;řízení směru
	.EQU PORT=PORTC	;port

	LDI REG,$FF	
	OUT DDR,REG	
	LDI REG,LOW(RAMEND)
	OUT SPL,REG	
	LDI REG,HIGH(RAMEND)
	OUT SPH,REG
	LDI REG,$FF	
	LDI R20,1

SMYCKA:	        OUT     PORT,REG	
		RCALL	CEKEJ	
		ADD	REG,R20
		RJMP	SMYCKA	

;čekací rutina (čeká asi 0,5 s)
CEKEJ:
        LDI     R17,36  
CYK3:   LDI	R18,150
CYK2:	LDI	R19,250
CYK1:	DEC	R19
	BRNE	CYK1	
        DEC	R18
	BRNE	CYK2
        DEC     R17
	BRNE    CYK3
        RET

Program přepíšeme do AVR Studia a přeložíme stiknutím F7. Jestliže program nenahlásí při kompilaci žádnou chybu, můžeme program nahrát do procesoru. To provedete (v PonyProgu) otevřením HEX souboru s vaším programem: File → Open program (FLASH) file…. Před nahráním programu je dobré procesor vymazat volbou Command → ERASE. Poté již jenom Command → Write program (FLASH). A LED připojená na pin PC0 by měla blikat v jednosekundovém intervalu…

Samozřejmostí je, že pokud pracujeme s ISP programátorem, tak musí být procesor napájen. A to buď přímo v aplikaci, nebo přes programátor.

×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.

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 Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama autora

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