Extreme Burner
(Rozdíly mezi verzemi)
(Založena nová stránka: Soubor:Extreme_Burner_01.jpg <source lang="asm"> .NOLIST .INCLUDE "m8def.inc" .LIST ldi R16, HIGH(RAMEND) ;do R16 vlozime vyssi byte posledni adresy RAM ...) |
|||
Řádka 1: | Řádka 1: | ||
− | [[Soubor: | + | == Draw electronic schematic == |
+ | |||
+ | [[Soubor:Extreme_Burner_00.jpg|400px]] | ||
+ | |||
+ | == Create PBS == | ||
+ | |||
+ | [[Soubor:Extreme_Burner_PBS.jpg|400px]] | ||
+ | |||
+ | == Write source code == | ||
<source lang="asm"> | <source lang="asm"> | ||
Řádka 41: | Řádka 49: | ||
</source> | </source> | ||
+ | == Connect HW == | ||
[[Soubor:Extreme_Burner_02.jpg|400px]] | [[Soubor:Extreme_Burner_02.jpg|400px]] | ||
+ | |||
+ | |||
+ | == Run eXtreme Burner - Select CHIP== | ||
[[Soubor:Extreme_Burner_03.jpg|400px]] | [[Soubor:Extreme_Burner_03.jpg|400px]] | ||
+ | |||
+ | == Open Flash (load HEX file) == | ||
:020000020000FC | :020000020000FC | ||
Řádka 54: | Řádka 68: | ||
[[Soubor:Extreme_Burner_04.jpg|400px]] | [[Soubor:Extreme_Burner_04.jpg|400px]] | ||
+ | |||
+ | === Setings Fuse === | ||
+ | |||
+ | [http://www.engbedded.com/fusecalc Engbedded Atmel AVR® Fuse Calculator] | ||
[[Soubor:Extreme_Burner_05.jpg|400px]] | [[Soubor:Extreme_Burner_05.jpg|400px]] | ||
Řádka 60: | Řádka 78: | ||
[[Soubor:Extreme_Burner_07.jpg|400px]] | [[Soubor:Extreme_Burner_07.jpg|400px]] | ||
+ | |||
+ | == Write ALL == | ||
[[Soubor:Extreme_Burner_08.jpg|400px]] | [[Soubor:Extreme_Burner_08.jpg|400px]] | ||
− | + | == Enjoy ! == | |
− | [[Soubor: | + | [[Soubor:Extreme_Burner_09.jpg|400px]] |
Verze z 10. 6. 2013, 11:07
Obsah |
Draw electronic schematic
Create PBS
Write source code
.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
Run eXtreme Burner - Select CHIP
Open Flash (load HEX file)
:020000020000FC :1000000004E00EBF0FE50DBF01E007BB05D008B34C :1000100011E0012708BBFACF02E11CEB24EC2A9582 :10002000F1F71A95D9F70A95C1F700000000089575 :00000001FF
Setings Fuse
Engbedded Atmel AVR® Fuse Calculator