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 

kako zaceti prog. atmele z assemblerjem
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4769
Aktiv.: 20.13
Kraj: Kobarid

PrispevekObjavljeno: Pet Nov 26, 2004 4:39 pm    Naslov sporočila:   Odgovori s citatom

Kateri atmel? AVR ali 8051? Za slenje imam dosti literature
_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
robertos
Član
Član



Pridružen-a: Sre 11 Avg 2004 11:31
Prispevkov: 792
Aktiv.: 3.34
Kraj: Vuhred JN76OO

PrispevekObjavljeno: Pet Nov 26, 2004 7:13 pm    Naslov sporočila:   Odgovori s citatom

stoki je napisal/a:
NO kaj je bilo težko Very Happy

Večino že mam pokrito razen še vedno kake bukve, ker vsi rinejo v PIC pa noben ne piše kaj preveč za atmele. Ima kdo kak konkreten naslov? Raje v angleščini kot v "drugih slovanskih jezikih".

LP

Poglej na www.avrfreaks.net morda pa najdeš kaj zanimivega zate, ne samo morda, 100% boš našel, če pa ne boš našel, pa vrašaj na prej omenjenem forum-u Wink

_________________
Cheerio baj frm S58S Robert !
http://www.kapunar.eu


Nazadnje urejal/a robertos Čet Dec 02, 2004 8:32 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
stoki
Član
Član



Pridružen-a: Sre 17 Nov 2004 0:22
Prispevkov: 129
Aktiv.: 0.54

PrispevekObjavljeno: Sre Dec 01, 2004 10:26 pm    Naslov sporočila:   Odgovori s citatom

@simons:

Pravzaprav ne vem s katerim naj se lotim, ker niti nevem kaj je razlika med njimi. Ne da se mi prebrat 50 datasheetov da bom to zvedel. Prebral bom tisti ds od cipa ki ga bom izbral. Zakaj nisem prasal to direktno? Ker sem prasal dovolj na siroko.

Hotel sem se nameniti brati ponatis clankov o 8051 v SE kot je svetoval nekdo prej ampak zakaj bi se ucil o necem kar je skoraj ze mimo.

Poiskusil bom vkljuciti vsa vprasanja v ta topic da bodo potem zbrane na enem mestu in ne raztresene po celem forumu.

@robertos:

Brez zamere ampak link je bil tukaj objavljen ze nekako trikrat, poleg tega je pa to eden izmed prvih rezultatov ki jih izpljune stric google, ce pa res natancno pogledas bos videl da je v tvojem linku se vejica Rolling Eyes

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4769
Aktiv.: 20.13
Kraj: Kobarid

PrispevekObjavljeno: Sre Dec 01, 2004 10:43 pm    Naslov sporočila:   Odgovori s citatom

Ha, kaj izbrati
Povsem tvoja stvar. Jaz imam 8051, ki je ena starejsih in menda najbolj razsirjena druzina. AVR. Lepa stvar. Ce bi sedaj zacel bi sel na AVR zagotovo. PIC. Nikoli mi ni bil vsec (predragi za kar ponujajo?!?). ARM izredno sposobni, ampak dragi za priziganje ledik....
Kaksen drug bi ti napisal povsem nekaj drugega. Odlocitev je povsem tvoja. Mogoce je res najbolje si vzeti cas in prebrati 50 PDFjev.....

_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
stoki
Član
Član



Pridružen-a: Sre 17 Nov 2004 0:22
Prispevkov: 129
Aktiv.: 0.54

PrispevekObjavljeno: Sre Dec 01, 2004 11:51 pm    Naslov sporočila:   Odgovori s citatom

Nevem ce veste kje sem - zdaj trenutno tavam sredi teme, kot je lahko samo v r*** in iscem stikalo za luc. Upam da je zdaj kaj bolj jasno.

Sicer pa bom sel z AVR. We'll see what happens.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3360
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Pet Dec 03, 2004 10:04 am    Naslov sporočila:  Vidite fantje! Odgovori s citatom

Fantje, fantje, fantje,

obnašate se kot mojstri, ki pred vsem hočejo na vajenca narediti vtis, kakšno veliko znanost obvladajo. Manj jim je do tega, da bi res pomagali in pokazali smer, v katero naj vajenec koplje. Potrebno se je malo vživeti v kožo tistega ki sprašuje!

Stoki, moj nasvet:
V korakih, ki gredo eden za drugim naredi sledeče:

1. za začetek si oglej knjižico Jureta Mikelna Programski jezik BascomLT Uvod v programiranje. Internetna prodaja AX elektronika www.svet-el.si
2 . Potem si pretoči k sebi Bascom prevajalnik, demo verzija ti prevede programe do velikosti 2kbajta, kar je za vaje popolnoma dovolj. Naredi vaje iz programiranja iz prejšnje knjižice
3. nabavi si testno ploščo Bascom in programator, morda PG302 - isti vir.
4. Četrto kupi si knjigo Programiranje mikrokontrolera z Bascomom

In potem si kar precej globoko v Bascom jeziku, kar seveda ni Assembler, vendar 90 odstotkov vsega, kar želiš narediti, lahko narediš s tem.
Za ostalih 10 odstotkov se bom pač kasneje potrudil. Če boš čutil potrebo.

Vilko
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.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pet Dec 03, 2004 10:14 am    Naslov sporočila:   Odgovori s citatom

Citiram:
vendar 90 odstotkov vsega, kar želiš narediti, lahko narediš s tem.


Tukaj se bom vmešal ... tole definitino NE drži. Niti pod razno NE boš uspel 90% stvar i ki jih zmore mikrokontroler realizirati v kakem višjem jeziku. Bascoma sicer ne poznam spomnim pa se nekega daljinskega upravljalca, ki je bil objavljen v SE - Že preproste 36Khz modulacije bascom ni zmogel. Vrinjena je bila assemblerska koda.

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



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3360
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Pet Dec 03, 2004 2:05 pm    Naslov sporočila:  He, nisem rekel tako! Odgovori s citatom

He, nisem rekel tako! Beri Silvo, kot pišem:
Ne 90% tistega, kar zmore mikroprocesor, temveč
90% tistega, kar bo začetnik želel narediti, vse dokler bo začetnik.
Ko pa ne bo več začetnik, potem je se gre naprej!

In mimogrede, tako da se v Bascom vriva assemblerska koda, je tudi dober vstop v assembler. Daleč od tega, da bi s tem postal assembleraš in strokovnjak, vendar se da na ta način 'pomočiti kljun' v assembler.

Mimogrede, Stoki, če mi v zasebnem sporočilu pošlješ naslov, ti bom tisto
prvo knjigico, ki je pravzaprav brošurica pošljem na dom brezplačno, ker je več ne potrebujem. (Hm, sem jo že prerasel).

Vilko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
stoki
Član
Član



Pridružen-a: Sre 17 Nov 2004 0:22
Prispevkov: 129
Aktiv.: 0.54

PrispevekObjavljeno: Sob Dec 11, 2004 12:57 am    Naslov sporočila:   Odgovori s citatom

Točno to kar je Vilko napisal rabim - samo ne za baskom ampak za assembler. A se res ni noben lotil že na začetku z assemblerjem delat? Saj lahko porečete da trmoglavim, ampak zakaj bi hodil na stranske tire, če pa točno vem kaj hočem. Ker v končni fazi se enkrat znajdeš pred assemblerjem. In glede na to da mislim potem tudi študirat elektroniko mi ne preostane drugega.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3360
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Sob Dec 11, 2004 7:53 pm    Naslov sporočila:  Oprema je ista, le prevajalnik je drugi Odgovori s citatom

Oprema je ista, le prevajalnik je drugi. In seveda boš v sam assembler malo težje zaoral. Potrebna bi bila kakšna knjiga, uvod, učbenik, kjer so opisana najprej formalna pravila, kako definirati spremneljivke, konstante, potem pa kako delujejo posamezni ukazi, ...
Seveda je potem še problem, kako 'videti', kaj se dogaja v mikroprocesorju.
Nekaj vidš lahko s tem, ko krmiliš izhode mikroprocesorja na testni plošči, in na njhi so vezane led diodice, ki potem svetijo ali pa ne, zavisi ali je izhod na 0 ali na 1.
Dobro bi bilo, da bi ti nekdo dal osnovne podprograme za izpis na LCD, ker se tam le da kaj več 'videti'. Jaz jih nimam. Assembler uporabljam le kot dodatek BASCOMu in za vhodno-izhodne ukaze uporabljam udoben bascom, assembler pa samo, če bascom ni sposoben narediti tistega, kar hočem.
In to je tudi mislim, najhitrejša pot do rezultata.

Morda ena primerjava: Lopata in rovokopač: Rovokopač koplje hitro, a fine izkope je potrebno narediti z lopato. Kombinacija obojega verjetno najhitreje pripelje do željene jame. Hm, pa z lopato se tudi bolj spotiš.

Vilko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
stoki
Član
Član



Pridružen-a: Sre 17 Nov 2004 0:22
Prispevkov: 129
Aktiv.: 0.54

PrispevekObjavljeno: Ned Dec 12, 2004 4:09 am    Naslov sporočila:   Odgovori s citatom

Saj verjetno imaš prav. Samo če mi postane preveč udobno u bascomu potem se mi ne bo dalo it na assembler. Je pa velik zalogaj - to je gotovo.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
jurem
Član
Član



Pridružen-a: Tor 02 Dec 2003 15:53
Prispevkov: 408
Aktiv.: 1.72
Kraj: Ljubljana

PrispevekObjavljeno: Pon Dec 20, 2004 3:55 pm    Naslov sporočila:   Odgovori s citatom

Hoj,

ne morem da se ne bi še jaz oglasil...

Citiram:
Saj verjetno imaš prav. Samo če mi postane preveč udobno u bascomu potem se mi ne bo dalo it na assembler. Je pa velik zalogaj - to je gotovo.


V principu je to res vendar, ali imaš čas, da boš šel t.i. "the hardway"?

Strinjam se z Vilkom hkrati pa vsem, ki pravijo, da je Bascom potraten sporočam - res je potraten, vendar proizvajalci lepo skrbijo za nas: ATMega128 ima 128K Flash-a, ki ga bo težko napolniti...

KO boš pa prišel do Bascomovih omejitev (ki jih res ni prav malo) boš pa seveda iskal rešitve. Ampak do takrat boš pa v vmesnem času naredil ogromno.

Poznam cel kup ljudi, ki so Bascom (zaradi svoje enostavnosti) osvojili zelo hitro - to pa je dandanes velikokrat zelo pomembno, ko nam na vsakem koraku zmanjkuje časa.

Zdaj pa, ko si vse slišal, pa ti svetujem, da si narediš enostaven program v ASM-ju - bodisi za 8051 ali za AVR, da prižigaš LEDi-ce. To boš naredil hitro, ko boš pa moral računati logaritem, deliti dve števili s plavajočo vejico... pa boš potreboval prijatelja, ki ti bo odstopil rutine - ali pa spet "the hardway" sam te rutine napisat.

Da zaključim: v reviji Svet elektronike so zelo kvalitetni članki o programiranju 8051 (Letnik CD1). Ne si mislit, da je to preživeta reč - daleč od tega. Philips (in drugi proizvajalci) veselo producirajo 8051 derivate, ki zlepa ne bodo umrli.

Za AVR-je žal druge literature kot so že predlagali nekateri (avrfreaks itd.) ne poznam.

V reviji Svet elektronike ravno zdaj teče serija člankov programiranja Motorolinih mikrokontrolerjev Nitron v asemblerju... Morda še to poglej, da se boš lažje odločil.

Lep pozdrav!
Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.70
Kraj: Kranj - struževo

PrispevekObjavljeno: Pon Jan 17, 2005 2:21 pm    Naslov sporočila:   Odgovori s citatom

jaz sem začel v asemblerju najprej s PIC-i, sedaj pa kombiniram PIC/AVR - odvisno katerega imam trenutno na zalogi. Vseeno so mi veliko ljubši AVR-ji, predvsem ni zelo nerodnega preklapljanja bank pomnilnika.

Razlike v arhitekturi:
- AVR ima 32 delovnih registrov ter ločen SRAM (imajo ga močnejši uC), ločen IO prostor in ločen programski pomnilnik-flash, ki se ga da zelo elegantno brati.

- PIC ima en delovni register. IO prostor in SRAM sta združena skupaj, vendar razdeljena po "bankah" oziroma straneh, kar mi je zelo nerodno. Pa še branje flash-a je zelo štorasto - po en byte naenkrat z "return" ukazom....

Skratka, odločil bi se za AVR!

Razlike v programiranju:
- AVR rabi 5-žilni kabel med LPT portom in uC-jem. Napajanje je 5V. Rabi delujoči oscilator uC-ja.

- PIC rabi ravnotako samo par žil kabla iz LPT-ja, na koncu katerega je vezje za programiranje z enim čipom in dvema tranzistorjema, ki PIC-u dovajata 5V in 13V. Malo bolj komplicirano.

Oba podpirata ISP programiranje (v vezju), s tem da je pri PIC-u problem da moraš v vezje injektirat 13V!

Skratka, spet bi se odločil za AVR.

-------------

Začetek v assemblerju niti ni zapleten...
določit moraš tip procesorja:
Koda:
.include "1200def.inc"

ta include datoteka tudi že vsebuje vsa poimenovanja hardverskih registrov.

Potem določiš imena delavnim registrom:
Koda:
.DEF  WorkReg = R20
.DEF  Counter = R25


določiš konstante:
Koda:
.EQU WaitTime = 158


določiš spremenljivke v SRAM-u, ki jih boš manj uporabljal kot tistih 32 registrov:

Koda:
.DSEG  ; podatkovni pomnilnik (SRAM)
OffsetAH:  .BYTE 1  ;16-bitni offset na eni strani
OffsetAL:  .BYTE 1

MeritevAH_direkt:  .BYTE 1  ;16-bitni rezultat iz ADC
MeritevAL_direkt:  .BYTE 1


potem začneš pisat program....

Koda:
.CSEG  ;začetek flasha oz. programske kode
;DEFINICIJE INTERRUPT VEKTORJEV, pogoji: BOOTRST = 0, IVSEL = 0
;   Address
;      Code   Label      Comment
   .ORG 0x000
       jmp iRESET    ; Reset Handler
   .ORG INT0addr
       jmp iEXT_INT0    ; IRQ0 Handler
......
;PROGRAM ======
   .ORG 0x02A

PROGRAM_START:
;= INICIALIZACIJA ====
   ldi   Rtemp,high(RAMEND)   ; Main program start
   out   SPH,Rtemp         ; Set Stack Pointer to end of RAM
   ldi   Rtemp,low(RAMEND)
   out   SPL,Rtemp

; nastavitev IO portov A, B, C, D
   clr   Rtemp            ; brisanje izhodov
   out   PORTA, Rtemp
   out   PORTB, Rtemp


Če rabiš lahko napišeš še kakšne konstante v Flash ali v EEPROM...
Koda:

StwERLdata:
.DB      "I2C error - RX zadnji podatek", CR, LF, 0x00

;===== END PROGRAM MEMORY

;EEEEE  konstante procesa v EEprom-u   

.ESEG  ;začetek EEPROM-a
EEchecksum:
.DB      253      ; Check-sum   (XOR) vseh sledečih podatkov

EEmejaDH:          ; (mejaH:mejaL)
.DB      0x15      ; meja med dobrimi in slabimi magneti
EEmejaDL:
.DB      0x24


Številke definiraš:
255 - decimalno
0xFF - hexa
0b11111111 - binarno
"aBcD.." - string, ki se pretvori v posamezne byte z ASCII vrednostmi -> izpis na LCD na primer.

Oscilator definiraš pri programiranju z FUSE biti. Pozoren moraš biti, ker večinoma pomeni tako:
0 = programmed = kljukica je narisana
1 = unprogrammed = okenček je prazen

Prevajalnik, recimo v AVRstudio4 ti naredi .HEX datoteko za flash memorijo in .EEP datoteko za EEPROM memorijo, katere vsebina je ravnotako v HEX formatu!

AVRstudio4 ima ravnotako dober simulator, ki ga jaz redno uporabljam.
Za programiranje pa imam PonyProg ter kabel z 5 žilami in 4 uporčki!

------------------------------

Predlagam, da začneš delat v asemblerju, ki je zahteven in zahteva poznavanje tako posameznih ukazov kot zgradbe uC-ja. Nato nadaljuješ s C-jem. Po mojih izkušnjah, sem aplikacijo z 6.147 vrsicami + izdelavo 1.039 vrstic podpornih subrutin od 2 vrst komunikacije, pretvorbe števil in LCD-ja pisal 3 mesece! Prišel pa sem do verzije 45b Surprised
V C-ju bi zadeva precej hitreje stekla, zato se sedaj malo več poskušam posvečati C-ju. Sploh sedaj, ko je TTM faktor v podjetjih zelo pomemben! (TTM = Time To Market)

LP, aly.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
jurem
Član
Član



Pridružen-a: Tor 02 Dec 2003 15:53
Prispevkov: 408
Aktiv.: 1.72
Kraj: Ljubljana

PrispevekObjavljeno: Pet Feb 04, 2005 11:19 am    Naslov sporočila:   Odgovori s citatom

stoki je napisal/a:
NO kaj je bilo težko Very Happy

Večino že mam pokrito razen še vedno kake bukve, ker vsi rinejo v PIC pa noben ne piše kaj preveč za atmele. Ima kdo kak konkreten naslov? Raje v angleščini kot v "drugih slovanskih jezikih".

LP


Programiranje 8051 v asemblerju je bilo opisano v slovenščini v reviji Svet elektronike. Glej:

http://www.svet-el.si/cgi-bin/art.cgi?keyword=zgradba+dru%9Eine&action=I%9A%E8i

Lp
Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
robertos
Član
Član



Pridružen-a: Sre 11 Avg 2004 11:31
Prispevkov: 792
Aktiv.: 3.34
Kraj: Vuhred JN76OO

PrispevekObjavljeno: Pet Feb 04, 2005 11:37 am    Naslov sporočila:   Odgovori s citatom

Še ena zelo zanimiva stran kako začeti in delati z asembler-jem v AVR-ju ! Wink
_________________
Cheerio baj frm S58S Robert !
http://www.kapunar.eu
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 -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
Stran 2 od 3

 
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: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group