Extreme Burner

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
Verze k tisku již není podporovaná a může obsahovat chyby s vykreslováním. Aktualizujte si prosím záložky ve svém prohlížeči a použijte prosím zabudovanou funkci prohlížeče pro tisknutí.

Draw electronic schematic

Create PBS

Write source code

; http://jan16.czela.net/index.php?id=81&n=1---avr-zaciname---uvod

		.NOLIST
		.INCLUDE "m8def.inc"
		.LIST

		ldi R16, HIGH(RAMEND)	;do R16 vlozime vyssi byte posledni adresy RAM
		out SPH, R16			;nastavime SPH na tuto adresu
		ldi R16, LOW(RAMEND)		;do R16 vlozime nizsi byte posledni adresy RAM
		out SPL, R16			;nastavime SPL na tuto adresu

		ldi R16, 0b00000001		;do R16 vlozime 1
		out DDRB, R16			;pin PB0 nastavime jako vystupni


zacatek:	rcall zpozdi			;zavolame rutinu zpozi
		
		in R16, PORTB			;precteme stav portu B
		ldi R17, 0b00000001		;do R17 vlozime 1
		eor R16, R17			;znegujeme bit 0 XORem
		out PORTB, R16			;vysledek posleme z5 na port B

		rjmp zacatek			;skocime na navesti "zacatek"


;rutina ZPOZDI 500ms, tedy 2000000 cyklu při 4MHz
zpozdi:	ldi R16, $12		;do R16 cislo $12
on1:		ldi R17, $BC		;do R17 cislo $BC
on2:		ldi R18, $C4		;do R18 cislo $C4
on3:		dec R18		;sniz R18 o 1
		brne on3		;pokud Z = 1 (zero flag), tedy pokud po prevedeni dec byl vysledek 0, skoc na "on3"
		dec R17		;sniz R17 o 1
		brne on2		;pokud Z = 1, skoc na "on2"
		dec R16		;sniz R16 o 1
		brne on1		;pokud Z = 1, skoc na "on1"
		nop			;nedelej jeden cyklus nic
		nop			;nedelej dalsi cyklus nic (od zacaku sem je to presne 2000000 cyklu)
ret

Connect HW

Soubor:Extreme Burner 02.jpg


Run eXtreme Burner - Select CHIP

Open Flash (load HEX file)

:020000020000FC
:1000000004E00EBF0FE50DBF01E007BB05D008B34C
:1000100011E0012708BBFACF02E11CEB24EC2A9582
:10002000F1F71A95D9F70A95C1F700000000089575
:00000001FF


Setings Fuse

  • RSTDISBL – vypne reset signál a využije daný pin jako i/o. Pozor – MCU se již přes ISP nenaprogramuje!
  • WTDON – zapne watchdog
  • SPIEN – povolí SPI. Pozor – MCU se již přes ISP nenaprogramuje!
  • EESAVE – pojistka nastavuje zda se má EEPROM paměť po přepsání FLASH smazat a nebo zachovat
  • BOOTSZ – určuje místo v FLASH paměti, kde se nachází bootloader
  • BOOTRST – zapnutí funkce bootloadera
  • CKOPT – při použití externího krystalu se zvýší napětí pro oscilátor (méně náchylný v vf prostředí, vyšší spotřeba)
  • BODLEVEL – nastavení spodní hranice napájecího napětí, při které se MCU restartuje
  • BODEN – zapnutí funkce restartu MCU při nízkém stavu napájecího napětí
  • SUT_CKSEL – nastaveni zdroje hodin pro MCU (interní RC oscilátor, externí krystal ...)

Engbedded Atmel AVR® Fuse Calculator

* Příklad: ATmega8 s vnitřním krystalem 1 MHz

AVRDUDE -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m


* Příklad: ATmega8 s vnitřním krystalem 8 MHz

AVRDUDE -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m

Write ALL

Enjoy !