Jak nahraji program. kód přes AVR studio do řídící jednotky?

Dobrý den,

sehnal jsem si (nevim jestli správný, ale na 90% jo) programovaci kod, ktery ma “ovladat” jednoho robota a chtel jse se zeptat jestli tento kod (nize) je ve spravnem tvaru a jak ho nahraji do te ridici jednotky (vse je pripojene k PC a spravne to komunikuje) mam AVR studio ale nevim pak dal jak nahrat ten kod do te ridici jednotky (Atmega8) a v jake pripone ma byt soubor ulozen .

;********************************************************************** ;Robot stopar (pouze cást pro sledování cáry) ;********************************************************************** ;*********** INICIALIZACE ********************************************* ;********************************************************************** ;----- Definicní soubor Atmega8 ----- .include "m8def.inc" ;----- Pojmenování registru ----- .def Temp = R16 .def Delay1 = R17 .def Delay2 = R18 .def Delay3 = R19 ;----- Nastavení portu a registru RESET: ldi Temp,0b00000001 out DDRB,Temp ; nastavuje portu B ldi Temp,0b11101111 out DDRC,Temp ; nastavení portu C ldi Temp,0b11111111 out DDRD,Temp ; nastavuje port D jako výstupní ser Delay1 ser Delay2 ser Delay3 ;*********** Inicializace zásobníku ldi Temp,LOW(RAMEND) out SPL,Temp ldi Temp,HIGH(RAMEND) out SPH,Temp ;********************************************************************** ;*********** HLAVNÍ PROGRAM ******************************************* ;********************************************************************** ;---------------------------------------------------------------------- ;------------ HLAVNÍ NABÍDKA FUNKCÍ ----------------------------------- ;----- Funkce 1 - Demo ---------- MENU: ldi Temp,0b01111001 ; do Temp binarni kod pro 1 na disp out PORTD,Temp ; zobrazení 1 na disp sbic PINB,0x6 rjmp JEDNA rjmp MENU JEDNA: sbis PINB,0x6 rjmp MENU2 ;----- sbis PINB,0x7 rjmp DEMO ;----- rjmp JEDNA ;----- Funkce 2 - Sledování cáry ---------- MENU2: ldi Temp,0b00100100 ; do Temp binarni kod pro 2 na disp out PORTD,Temp ; zobrazení 2 na disp sbic PINB,0x6 rjmp DVA rjmp MENU2 DVA: sbis PINB,0x6 rjmp MENU3 ;----- sbis PINB,0x7 rjmp LINE ;----- rjmp DVA ;----- Funkce 3 - ukázka detekce prekážek infrasenzorem ---------- MENU3: ldi Temp,0b00110000 ; do Temp binarni kod pro 3 na disp out PORTD,Temp ; zobrazení 3 na disp sbic PINB,0x6 rjmp TRI rjmp MENU3 TRI: sbis PINB,0x6 rjmp MENU4 ;----- sbis PINB,0x7 rjmp FCE1 ;----- rjmp TRI ;----- Funkce 4 - ukázka detekce prekážek tykadly ---------- MENU4: ldi Temp,0b00011001 ; do Temp binarni kod pro 4 na disp out PORTD,Temp ; zobrazení 4 na disp sbic PINB,0x6 rjmp CTYR rjmp MENU4 CTYR: sbis PINB,0x6 rjmp MENU5 ;----- sbis PINB,0x7 rjmp FCE2 ;----- rjmp CTYR ;----- Funkce 5 - náhodná jízda ---------- MENU5: ldi Temp,0b00010010 ; do Temp binarni kod pro 5 na disp out PORTD,Temp ; zobrazení 5 na disp sbic PINB,0x6 rjmp PET rjmp MENU5 PET: sbis PINB,0x6 rjmp MENU ;----- sbis PINB,0x7 rjmp NAHOD ;----- rjmp PET ;---------------------------------------------------------------------- ;------------ FUNKCE SLEDOVÁNÍ CÁRY ----------------------------------- LINE: rcall DLY2S ldi Temp,0b00100100 ; do Temp binarni kod pro 2 na disp out PORTD,Temp ; zobrazení 2 na disp ;----- Levé kolo ---------- LEVE: cbi PORTC,1 ; *** 0 na motor 1 ;----- sbic PINB,0x1 ; nactení levého cidla rjmp PRAVE ;----- sbi PORTC,1 ; *** 1 na motor 1 sbi PORTC,5 ; ir led ldi Delay1,36 DLY1: dec Delay1 brne DLY1 sbis PINC,0x4 ; kontrola IR prijímace rjmp OBJET cbi PORTC,5 ; ir led ldi Delay1,32 DLY2: dec Delay1 brne DLY2 sbi PORTC,5 ; ir led ldi Delay1,36 DLY11: dec Delay1 brne DLY11 sbis PINC,0x4 ; kontrola IR prijímace rjmp OBJET cbi PORTC,5 ; ir led ldi Delay1,32 DLY22: dec Delay1 brne DLY22 ;----- Pravé kolo ---------- PRAVE: cbi PORTC,3 ; *** 0 na motor 2 ;----- sbic PINB,0x2 ; nactení pravého cidla rjmp LEVE ;----- sbi PORTC,3 ; *** 1 na motor 2 sbi PORTC,5 ; ir led ldi Delay1,36 DLY3: dec Delay1 brne DLY3 sbis PINC,0x4 ; kontrola IR prijímace rjmp OBJET cbi PORTC,5 ; ir led ldi Delay1,32 DLY4: dec Delay1 brne DLY4 sbi PORTC,5 ; ir led ldi Delay1,36 DLY33: dec Delay1 brne DLY33 sbis PINC,0x4 ; kontrola IR prijímace rjmp OBJET cbi PORTC,5 ; ir led ldi Delay1,31 DLY44: dec Delay1 brne DLY44 nop rjmp LEVE ; smycka jízda ;------------------ OBJET: cbi PORTC,0 ; objíždecí manévr cbi PORTC,1 cbi PORTC,2 cbi PORTC,3 rcall VPRAVO rcall VPRED rcall VLEVO rcall VPRED rcall VPRED rcall VLEVO cbi PORTC,0 cbi PORTC,1 cbi PORTC,2 cbi PORTC,3 ;----- sbi PORTC,1 sbi PORTC,3 LOOP4: sbic PINB,0x1 ; nalezena cára? rjmp NUL rjmp LOOP4 NUL: cbi PORTC,0 cbi PORTC,1 cbi PORTC,2 cbi PORTC,3 rcall VPRAVO rjmp LEVE ; pokracování ve sledování cáry ;********************************************************************* ;********** PODPROGRAMY ************************************* ;********************************************************************* ;----- Podprogram zpoždení 2s ---------- DLY2S: ldi Temp,0b01111111 ; do Temp binarni kod pro . na disp out PORTD,Temp ; zobrazí . dec Delay1 brne DLY2S ldi Delay1,100 ; dává do R16 konstantu 16 dec Delay2 brne DLY2S dec Delay3 brne DLY2S ret ;----- Podprogram otocení o 90° vpravo ---------- VPRAVO: ser Delay1 ser Delay2 ldi Delay3,4 LOOP: cbi PORTC,0 cbi PORTC,3 sbi PORTC,0 sbi PORTC,3 dec Delay1 brne LOOP dec Delay2 brne LOOP dec Delay3 brne LOOP nop ; doladení 90° nop nop nop nop nop nop cbi PORTC,0 cbi PORTC,3 ret ;----- Podprogram otocení o 90° vlevo ---------- VLEVO: ser Delay1 ser Delay2 ldi Delay3,4 LOOP2: cbi PORTC,1 cbi PORTC,2 sbi PORTC,1 sbi PORTC,2 dec Delay1 brne LOOP2 dec Delay2 brne LOOP2 dec Delay3 brne LOOP2 nop ; doladení 90° nop nop nop nop nop nop cbi PORTC,1 cbi PORTC,2 ret ;----- Podprogram kroku vpred ---------- VPRED: ser Delay1 ser Delay2 ldi Delay3,10 LOOP3: cbi PORTC,1 cbi PORTC,3 sbi PORTC,1 sbi PORTC,3 dec Delay1 brne LOOP3 dec Delay2 brne LOOP3 dec Delay3 brne LOOP3 cbi PORTC,1 cbi PORTC,3 ret

:arrow_right: administrator: přejmenováno z "Programování ATmega 8"

Najprv ho musis prelozit pomocou prekladaca do tvaru *.hex,
napriklad pomocou programu AVRstudio, ktore je na stranakach www.atmel.com zdarma k stiahnutiu

Potom ho musis do procesora naprogramovat pomocou programatora.
Bud si kupis nejaky hotovy, alebo si nejaky postavis. Programator AVR je samostatna kapitola a najdes o nej vela info i na tomto fore. Treba hladat.
Ja mam dobre skusenosti s programatorom Dragon a PonyProg. Dobre je aj Presto.

no muj problem spociva v tom,ze pri spusteni avr studia4 zvolim moji ridici jednotku(atmega 8) a vypisu do toxtoveho pole vyse uvedeny kod,ale ja nevim jak tomu dam koncovku .hex. Me se to uklada v . asm :frowning: .

Ze by nebolo od veci precitat si navod? :imp: :imp: :imp:
Na nete je toho vela i v beznom jazyku nasich koncin.
A to vygenerovanie *.hex moze byt este ten najmensi problem, ktory ta na ceste stretne.

… ze by volba “Build” ?
Uz len zmysel toho slova vela napoveda.

muzes mi poskytnout tutorial na prekodovani do .hex souboru?
Díky.

klávesa F7

tak zaprvé, pochybuji že máš programátor na to aby si tam ten heáč naládoval když ten program ani nevíš jak přeložit a zadruhé jsem ti to chtěl přeložit ale jsou tam 4 chyby…

Chybí v tom programu 4 podprogramy – DEMO,FCE1, FCE2 a NAHOD …

Hele me jde o tohle pier.own.cz/dokumenty/dokumentace.pdf Kdys to sestavim tak pak je moznost to pripojit k PC, a naprogramovat to, slozit ten projekt neni zas takovy problem jako to naprogramovat.
Byl by si tak hodny a opravil ty chyby, potreboval bych aby ten robot splapal…
Díky…

Ako Ti niekto opravi chybu typu "Chyba cast kodu " a to hned 4x?
Ako si ich ma niekto vycucat z prsta? :laughing: :laughing: :laughing:
Vies Ty vobec o com hovoris? Nechcem sa vedomostne vyvysovat, ale aby sme tu pritomni vedeli spravnym sposobom odpovedat. Tiez by ma - keby som nevedel - nenapadlo, ze chyba typu “chyba cast kodu” je chyba bez hlbokych znalosti projektu neopravitelna - teda, ze treba cast kodu napisat.

cau,sice nedelam avr a budu mluvit mozna s cesty nebo uplne mimo :unamused: ale: v kodu chybi jiz zmineny podprogramy ale je tam mozna(ale jenom mozna,nedokazu posoudit) jedna funkcni “Funkce 2 - Sledování cáry” tak proc zbytek nevyskrtnout ? bude to mit misto 5 funkci jenom 1, pokusil sem se to upravit mozna blbe mozna to nekoho jenom nasmeruje ,nevim

................
................
................   ;**********************************************************************
;*********** HLAVNÍ PROGRAM *******************************************
;**********************************************************************
;----------------------------------------------------------------------
;------------ HLAVNÍ NABÍDKA FUNKCÍ -----------------------------------
;----- Funkce 2 - Sledování cáry ----------
MENU2:  ldi Temp,0b00100100 ; do Temp binarni kod pro 2 na disp
	     out  	PORTD,Temp ; zobrazení 2 na disp
DVA:    sbis 	PINB,0x7
	     rjmp    LINE
	     rjmp    DVA 

;----------------------------------------------------------------------
;------------ FUNKCE SLEDOVÁNÍ CÁRY -----------------------------------
LINE: rcall DLY2S
................
................
................

EDIT:

   ;Robot stopar (pouze cást pro sledování cáry)