Kako poceti?

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Kako poceti?

Post by MladaNada »

Evo jedno konkretno pitanje:
Kako uci u svijet mikrokontrolera?
Citao sam dosta guide-a , ali opet ne znam gdje da pocnem.
Odlucio sam jedino da cu krenuti sa PIC-om.Onaj ICprog nisam ni shvatio , kako u njemu programirati , jel se mora imati prikljucen PIC da bi se programiralo?
U kom jeziku da pocnem programirati i gdje da nadjem guide za taj jezik?
S kojim PIC-om da pocnem? 16F84A?
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Ovako, IC-prog ti je program sa kojim ces vec napisani program ubaciti u PIC. Sa njim uprogramiras program u mikrokontroler znaci, u njemu NE PISES program :D

Program pises (za PIC) u MPLAB-u kojeg pronadji, skini i instaliraj sa www.microchip.com

Ako oces poceti sa PIC kontrolerima, nadji neku knjigu na nasem jeziku, ako nisi dobar sa engleskim. To je u sustini obicno prevedena tehnicka dokumentacija obicno PIC16F84 mikrokontrolera ali sa dosta primjera i nekih "bezveznih" stvari koje su vrlo bitne za totalne pocetnike.
U tehnickoj dokumentaciji ti sve pise i to odgovara onima koji vec znaju nesto od toga. Ako si pocetnik, mozda ce ti malo biti zbunjujuce. Ipak, tehnicku dokumentaciju koju ces skinuti sa gore pomenute stranice, MORAS imati i procitati.

Evo poslao sam neke dokumente pa vidi sta ima u njima... prije 2 dana sam ih skinuo sa neta odnekud.

Tu imas i simulator - nisam ga jos probao :D

http://www.elektronika.ba/forum/uploadz ... d_u_uC.rar

http://www.elektronika.ba/forum/uploadz ... r_v2.0.zip
buco

Post by buco »

@trax svaka cast , tako treba od pocetka mladim ljudim rec sto im je najbolje da koriste od nacina programiranja !!
O tipu processora znas sto mislim ali.... nije greda, iako kad se ljudi za nesto zaljepe onda se teskom mukom "odljepljuju" od voljenog im stroja . :D [ ka droga je to]. E sad ako je taj stroj "malo" out of time onda ...ludnica ! :P
Mozda bi trebalo pokusat organizirat tecajeve iz programiranja u assembleru za Atmele i PICeve i na taj nacin mladim ljudim koji stvarno imaju zelju za ucenjem problizit sve to skupa a ne da ih plase razni "strucnjaci" kao je to out ili kao je to uzasno tesko za savladat.
To ni za programiranje daleko mocnijih strojeva nije "out" a kamoli za 8 bitne masine ! Assemblersko programiranje je jos uvijek pitanje prestiza i olicenje znaja i razvoj se ne bazira na C/C++ programiranju vec tim prostim text "editorom" opisno receno !
Ili ih treba poticat da sami to pocnu ucit uz asistenciju ako im bude potrebana !!
Mozda jos i najbolje !! :)
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Slazem se u svemu sto si rekao.

Smatram da bi bilo super napraviti neki tecaj za pocetnike pa bi se moglo vidjeti sta dalje :)
buco

Post by buco »

Da ! Neka se zainteresirani prijave neka kazu koja porodica ih zanima da mozemo vidit razmijere "katastrofe" !! :P
Koja imaju iskustva s mikroracunalima i kojim . Pa da se zainteresirani upoznaju malo s assemblerskim programiranjem .
I da se pocne razbijat ta fama i neistina o svemocnom C/C++ jeziku , Paskalu [ delfi nasljednik], javai ,VBu.. !!! :?
Teorije u stilu sto je to assembler i mlacenje prazne slame o definicijama treba zaobic jer toga je pun net !
Assembler je jedan od programskih jezika , i gotovo , kraj nema vise definicija, to je to !! :D
Sto treba znat [nuzno] da bi se pocelo s programiranjem u assembleru za neko racunalo /porodicu !?
I slicna pitanja , ustvari pitajte vi da skupimo bar neka pitanja radi orijentacije da se vidi di smo !
Mole se svi koji imaju iskustvo u radu s assemblerom da se jave i pomognu mladim ljudima da lakse prihvate i savladaju taj nacin izrade programa !!!!
Odaslane su sve poruke sad je na vama red , zainteresiranima !!
Mi nismo profesori ni strucnjaci ali cemo se trudit da vam sto bolje pomognemo , da bar odskrinete vrata tog zanimljivog nacina programiranja !!!!!!
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Post by MladaNada »

@Trax Thx :wink:
@buco TAKO JE MAJSTOREEE RECI IM , RECI IM!!!!!!!!! :D
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Post by MladaNada »

Sta fali ovom programu , sto ga ne mogu assemblati?

Code: Select all

; Konstante ;

STATUS equ 03h
TRISA equ 85h
PORTA equ 05h
BROJAC equ 08h
BROJAC2 equ 09h

; Postavljanje porta A na output ;

bsf STATUS,5
movlw 00h
movwf TRISA
bsf 85h
bcf STATUS,5

START

; Paljenje LED ;

movlw 02h
movwf PORTA

; Tajmer  ;

call tajmer

; Gasenje LED ;

movlw 00h
movwf PORTA

; Tajmer  ;

call tajmer



goto START

tajmer

petlja3    decfsz count,1
              goto petlja3
petlja4    decfsz count2,1
             goto petlja4

end

Ovo mi je prvi program :oops:
maher_
Napredujem
Napredujem
Posts: 100
Joined: 19-08-2005, 23:47

Post by maher_ »

da ti ne fali kod ovog petlja3 i petlja4 dvotacke (":") ?
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Post by MladaNada »

Mozda :D Ne vjerujem da je zbog tog , kad compile-am kaze mi nesto ovako : komande zahtijevaju poseban prostor ili slicno...
User avatar
roberto
Penjem se :)
Penjem se :)
Posts: 63
Joined: 24-07-2005, 18:09
Location: Hrvatska / Zagorje
Contact:

...

Post by roberto »

MladaNada wrote:Mozda :D Ne vjerujem da je zbog tog , kad compile-am kaze mi nesto ovako : komande zahtijevaju poseban prostor ili slicno...
nemoj uzeti za tocno,al ako si to pisao u MPLAB-u mozda,onda pokusaj pomaknuti kod sa "tab" u desno za jedan "tab",a labele ostavi normalno uz lijevi rub,pa pokusaj onda,mislim da sam i ja imao takav problem,i nakon istrazivanja skuzio da je to u pitanju, nisam bas siguran al pokusaj, decki sigurno znaju (ne reklamiram:) al @buco je zakon, kad sam ja to poceo proucavati,on mi je bio mentor :) al za avr studio,te sam i zahvaljucjuci njemu krenuo sa asm a ne nekim visim)
::

" ovo napravi:

START:
>razmak> BTFSC PORTE,2 ;komentar
>razmak> goto ia0
>razmak> GOTO START
"
buco

Post by buco »

Ti se uPICnuo znaci !! :D
mozda ne vidim dobro ali nemas definiran pocetak odakle starta tvoj program u flash [ org xxxx ] !? xxxx pozicija u flashu !
poslusaj @mahera fale ti : poslije imenovanja labela i rutina !!
Na primjer -----
START: movlw 02h
movwf PORTA

Al ce lampice da svijetle !!
Cuj inace MPLAB ce ti lijepo rec di ti steka !!! Jel koristis njega ili neke "pripravke" !? Vidis di je "error" [ greska] i kliknes na to on odma u programu pokaze taj error , tad upotrijebis one sive stanice ispod kose i nakom dugog i mukotrpnog razvaljivanja sivih celija mozda se upali lampica u glavi najprije , to popravis u programu [ ne u glavi] i tako redom !! Usput nije na odmet kad vec imas da i procitas ponovo literaturu da vidis sto ne stima tamo sigurno pise !!!! :D
Edit: E @roberto izgleda da smo u isti mah napisli text !! Hvala na povijerenju !! :D
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Post by MladaNada »

Pisem u notepadu :D
buco

Post by buco »

U principu ga mores pisat di oces , u bilo kom text editoru ! No ipak da bi tvoj MASM instrukcijski set zazivija otvoris projektic u mplab i radis najpametnije .Mozes naravno i assemblirat i pisano iz text editora samo mu promijeni extenziju iz .txt u .asm !!!!! Da to assembler prihvati i Build-a/Make-a , naravno nemoj mu zaboravit rec za koji processor ce to bit .
Notepad , mnogo slabo koristis ono ispod kose !! :D

Cuj jesi ti radio s MPLABom ikad !?? iskreno !? :?
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Post by MladaNada »

Nisam.Danas prvi put. :oops:
buco

Post by buco »

E pa poslusaj @traxa covijek je sve lijepo napisao , samo da kliknes i biras s microchipove stranice sto ti treba . A ako vec zelis radit u assembleru s PICom onda ti je MPLAB najbolji izbor !!
Eto za pocetak poslusaj @traxa koji ima iskustva s PICevima i kad skines MPLAB i dokumente koje ce ti jos trebat onda ih po mogucnosti prouci i kad to napravis , otvori neki projekt i pitaj ako budes zapeo !!
Ali za pocetak uradi sve ono sto je i receno !!
U redu !?? :D
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Post by MladaNada »

I imao sam skinut MPLAB kad sam napisao prosli post, vec sam probao compajlirati neki program , ali je bilo dosta errora , uglavnom ovi:
Error[151] C:\DOCUMENTS AND SETTINGS\U.A.E\DESKTOP\24H TAJMER.ASM 19 : Operand contains unresolvable labels or is too complex
Error[152] C:\DOCUMENTS AND SETTINGS\U.A.E\DESKTOP\24H TAJMER.ASM 19 : Executable code and data must be defined in an appropriate section


Kako da to ispravim?
buco

Post by buco »

I kad si to prevedes [ s turskog] !? sto ti MPLAB kaze ! :D
Upravo ono smo smo ti i mi rekli !! fali " : " na labelama , jadan MPLAB se tuzi kako si mu da "nemogucu misiju" prekompliciran ili nrazrijesiv problem !! :D
I drugi nisi odredija poziciju izvrsnog koda u programskoj ili data memoriji [ u tvom slucaju prog m ]. :P
Kako stojis s engleskim !? I daj procitaj malo dokumentaciju "know how" i sl ... i dokumentaciju i odi u "examples" [primjeri] otvori jedan source code i vidi malo sto ima , kao je to i zasto definirano . Moras se malo sam
pomucit bar za te osnovne stvari.
Ramsley
Posts: 8
Joined: 17-08-2006, 22:35
Location: Croatia,SB

Post by Ramsley »

Eh da nisam dugo vremena posjetio ovaj sajt,a pogotovo dio sa forumom :)

Bivši mondo je morao otvoriti novi račun pošto je izbacio svoj stari mail,zaboravio passwd eh da

E malo me tema privukla :wink: .Ja sam bio prošle godine kontaktirao trax o odabiru uC-a on me fino uputio na PIC kojeg sam ja otpisao zato što mi je bi "slab"(moš si mislit). Pa sam završio sa Atmelom 89C2051 pa 90S2313 pa sada ATMEGA32 I Atmega8 :) Žalosna je jedna stvar što nijedan od ovih kontrolera nisam iskoristio barem 30%(ATmege nisam imao ni prilike).Zašto?!?Imam programatore,imam "jezike",a ništa nisam radio?Nije da ništa nisam radio "izučavao" sam druga područja :)
Razlog je oko neodlučnosti u čem programirati,hebiga jasno je sve.Uzmeš kreneš stekneš iskustvo i radiš!Da ja sam krenuo sa bascomom koji je super za ono LED,RS232,LCD.Kada sam htio koristiti nešto novo neki dio :roll: ,ništa.
Usto ti jednostavni programi su mi zauzimali oko 30% mem.Ujedno sam radio i u c-u.Raznim komercijalnim(demo),IAR,CodeVision.I otada ništa(prije cca. 1god).Sada sam vidio GCC u ljepšem izdanju pošto ga AVRStudio podržava.Počeo sam tu nešto čačkati pa sam skužio da mi c malo zapinje pa sada radim review :lol: .ASM sam u početku gledao i skuži se odmah,nije mi bio toliko kompliciran.Registri ovo ono to sam skužio ali sam ga ostavio,zbog straha koji su mi utjerali "stručnjaci",ma ASM ti je ...
Kod mene je stvar imam ideja ono milijun,ne nekih bezveze!A neznam raditi.Pa ko mi je kriv,umjesto da sam sjeo i piljio u jedno ja sam šarao i sada nakon god. znam dosta ali neznam ništa napraviti,možda ja očekujem previše!
Spomen o "neorginalnosti" ,korištenju "tuđeg" FW u projektima je bezveze(barem što se tiče fr*e rješenja).AVRGCC je napravljen da pišeš kod pod licencom ali ne u komercijalne svrhe nego upravo protiv toga.Ti uzmeš "tuđi"(zajednički) kod proužiš ga vidiš što ti treba a što ne,napraviš nešto radi super.Netko drugi se posluži tvojim,uspije idemo dalje!Da iz tih razloga sam ja otpisao Bascom zato što sam inovativan i nisam htjeo koristiti ono npr za ovaj projekt koristi ovaj LCD samo taj,samo ovaj timer jer za drugi nema podrške.Radim s onim što imam,i pokušavam to iskoristiti.No tu je dolazilo do moga neznanja :shock: .Sve mi se rušilo zbog ne/močunosti izražavanja u programiranju...
Što se tiče uC-a tu sam spreman uložiti trud vrijeme novac pošto mi je elektrotehnika struka,"programiranje" hobi.I onda mikrokontroleri to ujedine,prekrasno :oops: .

Ovaj post je samo glas podrške za sve mentore na sajtu,koji imaju POWER u rukama :idea: također i za one koji žele nešto naučiti,NIKADA nije kasno osima kada počnete zaboravljati gdje ste ostavili periku i umjetne zube :twisted:
buco

Post by buco »

@Ramsley Zanimljiv text ! Ali koliko sam uspio iscitat iz njega ti se zapravo uopce nisi upoznao s MASMom za Atmel !?? Zasto neznam jer da jesi nebi ti trebao C/C++ . Iman ja tog "smeca" koliko hoces , mislim na razvojne alate iz C++ za Atmel , PIC ..ali posto je to "smece" i nemoze se nikako mijerit a ASSEMBLEROM a pogotovo ne s MASMom o tome nisam ni pricao. Jedino da upozorim ljude sto ce im se desit kod iole zahtijevnijih programskih rijesenja.
Kopiranje , naravno da treba mjera i granica i nitko ne kaze da ne treba uzet ili ucit na dobrim rijesenjima ali ako ti 1/3 ili vise programa ili nedaj boze kljucne rutine pocivaju na prostoj kopiji tudjeg rada korektno je to i naznacit u podrucuju autori programa !!!!!!! :lol:

Ja znam da koji tip ljudi to uzima i kojima to treba , uglavnom , i ni s jednim od takvih nebih pozelio nikad nista radit , jer nista i neznaju osim "copy/paste" !!!!! To govorim iz iskustava . :?

Ovdije sam potrosio sate pokusavasjuci mlade ljude nagovorit na upotrebu assemblera kod izrade programa za mala 8 bitna racunala [MCUe] .
Nisam bas uvijeren da je previse "upalilo" jer ko po obicaju ljudi su skloniji "brzim i lakim " rijesenjima poput razvojnih alata iz HPLa [Basic, Delphi, C/C++..] i tako ce i ostat , ali tjesi me to da su bar neki pokusali radit u assembleru pa mozda shvate jednom moc tog nacina programiranja [ to cak nije ni programski jezik] , MASM je nesto drugo on vec pruza ono sto je "koma" u assembleru" ali ipak nije HPL i svatko moze nac sebe na MASMu , dali oni skloniji "cistom" asemblerskom programiranju ili oni skloniji koristenju HPL nacinu rada .
Toliko o "muzici" na mikroracunalu !! Sve ostalo je stvar instrumenta i sluha !! :D
A sad perike na mijesto i nasiljimo zube ko "Kligonci " prije borbe !! :D
Ramsley
Posts: 8
Joined: 17-08-2006, 22:35
Location: Croatia,SB

Post by Ramsley »

buco=... ti se zapravo uopce nisi upoznao s MASMom za Atmel !?? Zasto neznam jer da jesi nebi ti trebao C/C++ . Iman ja tog "smeca" koliko hoces , mislim na razvojne alate iz C++ za Atmel , PIC ..ali posto je to "smece" i nemoze se nikako mijerit a ASSEMBLEROM a pogotovo ne s MASMom o tome nisam ni pricao...

Ma čuo sam za ekipu TASM,MASM,NASM
Bilo bi šteta neprobati možda je baš to to,evo skidam Altra32 IDE pisan za MASM.Nešto specijaliziranije za Atmel nisam pronašao :(

...Kopiranje , naravno da treba mjera i granica i nitko ne kaze da ne treba uzet ili ucit na dobrim rijesenjima ali ako ti 1/3 ili vise programa ili nedaj boze kljucne rutine pocivaju na prostoj kopiji tudjeg rada korektno je to i naznacit u podrucuju autori programa !!!!!!! :lol: ...

U društvu GCC to se naznačuje i za onoga tko je dao "samo" i ideju za projekt....

...Ja znam da koji tip ljudi to uzima i kojima to treba , uglavnom , i ni s jednim od takvih nebih pozelio nikad nista radit , jer nista i neznaju osim "copy/paste" !!!!! To govorim iz iskustava . :? ...

Svi smo mi ljudi,a mislim da tu drogu konzumiraju početnici poput mene i EKIPA.A de mi reci molim te uzmeš neki hardware i napraviš .inc u ASM za njega i ti si uložio trud i sve,ali daješ masi.Sada dođe neki lik i uzme to i naravno da neče pisati sve ispočetka pošto se u ASM nemože puno modificirati.U smislu mjenjanja toka,a pogotovo ne onaj tko ga koristi a nije ga napisao,što znači da će vjerojatno imati 80% tvog koda.Pa bože šta ako ga je znao inicijalizirat i iskoristiti i napraviti još nešto sa tvoje TODO liste,ti se nečeš družiti s njim?

...Ovdije sam potrosio sate pokusavasjuci mlade ljude nagovorit na upotrebu assemblera kod izrade programa za mala 8 bitna racunala [MCUe] .
Nisam bas uvijeren da je previse "upalilo" jer ko po obicaju ljudi su skloniji "brzim i lakim " rijesenjima poput razvojnih alata iz HPLa [Basic, Delphi, C/C++..] i tako ce i ostat , ali tjesi me to da su bar neki pokusali radit u assembleru pa mozda shvate jednom moc tog nacina programiranja [ to cak nije ni programski jezik] , MASM je nesto drugo on vec pruza ono sto je "koma" u assembleru" ali ipak nije HPL i svatko moze nac sebe na MASMu , dali oni skloniji "cistom" asemblerskom programiranju ili oni skloniji koristenju HPL nacinu rada ....

Mislim svaka čast,čovjek koji programira u ASM-u kojeg ja znam stalno nešto čudno govori. Ja njimu bok care! Oni meni PUSH Bok care,i okrenu se ja ajd ono dobro ja dodam idemo na piče a on meni POP Bok care,pa OUT Bok care,reko koji čudak!Dođemo na piče ja kavu a on malo NOP pa još malo NOP pa reče .def mojeomiljeno ,pa LDI mojeomiljeno,kava OUT mojeomiljeno .Tek on Šutim: NOP NOP NOP.Ja ga malo nisam dirao tek on SLEEP Ja njemu ma puši k**** i odem ! A on samo RCALL Šutim!

Što se tiče ASM-a nije težak za shvatit,"poput" Bascom što mu zadaš to izvrši po redu.Samo treba znati komande...
Ja se nemogu zamisliti da pišem program od 500 naredbi komentiram ih i onda vidim nemam npr više ATmege idem koristiti AVR90Sxxxx,a na atmegi pozivao interrupte timere i sve pa da "prebacim" na 90S,hoču klinac moram mjenjati 100 stvari i onda ispočetka...
A u C-u milina...
No priznajem C ima mušica,pogotovo "oživljavanje" komandi iz ANSI C-a za upotrebu na uC-u.Također može biti teško čitljiv zavisi od programera,svatko ima svoj stil netko definira varijable,naredbe netko ih piše netko poziva onaku funkciju netko pravi drukčiju petlju...Mislim ako znaš ANSI C nije problem,no treba ga znati više od koja je što naredba pošto svaki programer može dodati "naredbu" svoju za funkciju iz header datoteke...Ali zato je portabilnost.......bolja
A sada kada imam u rukama uC od 8kb i još ponešto memorije nije mi više bit da "stiskam stvari" a inline ASM je tu.A za zbilja zahtjevno imam 32kb tako da i Ba*c*m khljgh-a uletila mi muva :)

Imaš li koji link za MASM za ATMEL "paletu"?
S njime sve živo programiraju...Mislim ono ASM

...Toliko o "muzici" na mikroracunalu !! Sve ostalo je stvar instrumenta i sluha !! :D
A sad perike na mijesto i nasiljimo zube ko "Kligonci " prije borbe !! :D...

Istina treba nešto raditi,što se tiče zubi dremel mi je spreman :)

P.S.Dali si dostupan na pm ili imaš neki mail za public
Post Reply