www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Mala šola AVR - 7.dan

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pet Sep 24, 2010 10:49 pm    Naslov sporočila:  Mala šola AVR - 7.dan Odgovori s citatom

Tako. Glavne procedure so spisane. Nastal je projekt, ki smo si ga zastavili na začetku. Dopisal sem še proceduro, ki upravlja z relejem. Kompletna komentirana koda je v prilogi. Vse rutine, ki smo jih spisali lahko praktično brez večjih sprememb uporabimo v drugih programih. Če bo mikrokontroler delal z drugačno frekvenco, bo pač potrebno spremeniti časovne baze, kar ni večji problem, ker so vse ločene. Izkoristili smo kar nekaj možnosti malčka. Če prav je še par stvari ostalo neuporabljenih. Recimo timer, nismo še poskusili PWM, prav tako nismo poskusili rabe analognih vhodov. (slednje še morda dopišem - ostal je še en prosti pin - lahko bi morda merili napetost)

Tole je rezultat zadnjega prevajanja:
Koda:
[.cseg] 0x000000 0x000250    576      0    576    1024  56.3%
[.dseg] 0x000060 0x000060      0      0      0      64   0.0%
[.eseg] 0x000000 0x000000      0      0      0      64   0.0%

Assembly complete, 0 errors. 0 warnings


Vidimo, da je bilo porabljena dobra polovica pomnilika malčka. Torej bi lahko še marsikaj dopisali. Upam, da sem skozi "ta teden" vsaj malo približal mikrokontroler začetniku. Če koga karkoli zanima, lahko vprašanje zastavi tukaj.
Besedo pa predajem Janu ter Darkotu, ki bosta nadaljevala v C-ju.



termoDS.zip
 Opis:
Softwerski vmesnik

Download
 Ime datoteke:  termoDS.zip
 Velikost datoteke:  226.46 KB
 Downloadano:  26 krat


Ucenje.zip
 Opis:
Izvorna koda pisana v avr assemblerju (komentirana)

Download
 Ime datoteke:  Ucenje.zip
 Velikost datoteke:  11.98 KB
 Downloadano:  44 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mcride
Član
Član



Pridružen-a: Tor 27 Okt 2009 22:36
Prispevkov: 788
Aktiv.: 4.14
Kraj: LJ

PrispevekObjavljeno: Sob Sep 25, 2010 9:39 am    Naslov sporočila:   Odgovori s citatom

Čisto offtopic: Najprej pohvale za trud, čas in voljo; veliko tega "tedna" sem prebral(ne vsega, bo pa treba!) Applause mogoče bi bilo podoben projekt narediti tudi v PIC razdelku, sedaj ko je koncep narejen, s kakšnim 16fxxx, oz 12f673,12f683 če bi šlo za kaj manjšega.

lp
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.05
Kraj: Severna primorska

PrispevekObjavljeno: Sob Sep 25, 2010 1:39 pm    Naslov sporočila:   Odgovori s citatom

Se pridružujem pohvalam za trud! Applause
Zraven pa eno kratko vprašanje: če bi želeli te subrutine sedaj shraniti v svojo datoteko ali to pomeni, da jih samo prestavimo v drugo datoteko poleg programa, v tem programu pa jo "includamo", ali je sintaksa tiste datoteke drugačna?
Torej ali labele na skoke v tem programu zna poiskati tudi v drugi datoteki.
sam sem poizkušal to pred parimi dnevi pa mi ni uspelo uspešno prevesti programa.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Sep 25, 2010 3:47 pm    Naslov sporočila:   Odgovori s citatom

eddie je napisal/a:
Se pridružujem pohvalam za trud! Applause
Zraven pa eno kratko vprašanje: če bi želeli te subrutine sedaj shraniti v svojo datoteko ali to pomeni, da jih samo prestavimo v drugo datoteko poleg programa, v tem programu pa jo "includamo", ali je sintaksa tiste datoteke drugačna?
Torej ali labele na skoke v tem programu zna poiskati tudi v drugi datoteki.
sam sem poizkušal to pred parimi dnevi pa mi ni uspelo uspešno prevesti programa.


Eddie,

V prilogi kako to storiš. Če želiš incudat vse procedure, potem jih shraniš v datoteko. Datoteko pa includaš v programskem pomniliku tam kjer želiš kodo. Slaba lastnost takega načina je, da bo dejansko uvožena vsa vsebina, recimo tudi tista, ki je v našem drugem programu ne bomo potrebovali. Zato je procedure pamentneje spraviti v makroje. (bom pokazal v nadaljevanju) Include datoteko naložiti v začetku, v programskem delu pomnilika pa poklicat le makroje ki jih rabimo.
Zelo važno! include datoteko končaj s komentarjem, sicer bo prevajalnik težil.



ucenje2.zip
 Opis:

Download
 Ime datoteke:  ucenje2.zip
 Velikost datoteke:  12.08 KB
 Downloadano:  14 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Sep 25, 2010 3:47 pm    Naslov sporočila:   Odgovori s citatom

mcride je napisal/a:
Čisto offtopic: Najprej pohvale za trud, čas in voljo; veliko tega "tedna" sem prebral(ne vsega, bo pa treba!) Applause mogoče bi bilo podoben projekt narediti tudi v PIC razdelku, sedaj ko je koncep narejen, s kakšnim 16fxxx, oz 12f673,12f683 če bi šlo za kaj manjšega.
lp


Vso kodo pisano za AVRassembler bi bilo potrebno "prevesti" v PICAssembler pa bi zadeva delala s picem. Šalo na stran. Po arhitekturi zelo podoben pic uporabljenemu tiny13 je PIC12F675. Programa se bi lahko lotili pisati na popolnoma enak način kot tega za avr. Če mi bo dopuščal čas, morda tole zmečem skupaj še za pic. Za en tak tedenski tečaj pa žal v tem trenutku nimam časa.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Sep 25, 2010 7:35 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
...Zato je procedure pamentneje spraviti v makroje. (bom pokazal v nadaljevanju)....


Napisal sem par makrojev.
Zaradi lažje razlage sem kar napisal novo proceduro. Zgornje makroje seveda lahko daste v svojo datoteko, ter jo naložite za include datoteko procesorja. Z makroji postane assembler basic Wink ... Kodo seveda lahko poskusite na AVR sumulatorju. Mislim, da posebna razlaga ni potrebna.


Koda:
;---------------------------------------------------
;Mala šola avr 7.dan
;makroji
;--------------------------------------------------
.include "tn13def.inc"



.def tmp=r16

.macro DolociSklad
   ldi tmp,low(ramend)
   out SPL,tmp
.endmacro

.macro DolociIzhodB
   sbi DDRB,@0
.endmacro

.macro VkljuciIzhodB
   sbi PortB,@0
.endmacro

.macro IzkljuciIzhodB
   cbi PortB,@0
.endmacro


.macro For
ldi @0,@1
.set @2=PC
.endmacro

.macro Next
   inc @0
   cpi @0,low(@1+1)
   breq Mkonec
   rjmp @2
MKonec:
.endmacro







.org 0x0
   rjmp GlavniProg



.org 0x13
GlavniProg:
   DolociSklad
   DolociIzhodB 2
   VkljuciIzhodB 2

For tmp,5,zanka1

   IzkljuciIzhodB 2
   nop
   VkljuciIzhodB 2

Next tmp,15,zanka1


nop
;nadaljevanje kode




_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group