Kui see on Sinu esimene külastus, siis tutvu
palun korduma kippuvate küsimustega klikates selleks ülal asetseval lingil. Enne uue postituse lisamist pead Sa registreeruma.
Postituste lugemiseks vali meelepärane foorum allpool olevast nimekirjast.
Teade
Collapse
Foorumi reeglid.
Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
Teeks parem ise, saaks targemaks.
Alustaks siis mõnest PIC`ist kus on rohkelt võimalusi ning paneks külge Liugpotentsiomeetri ning 9 LED`i mis vastavalt Liugpotentsiomeetri asendile järjekorras süttivad.
Kui sul on see http://www.elfaelektroonika.ee/artnr...stardikomplekt , siis peaks mikrokontrollerisse juba algselt mingi programm kirjutatud olema. Igatahes komplekti kuuluval CD-l leidub analoog-digitaal- muunduri programm, mis paneb PIC16F690 arendusplaadi valgusdioode vastavalt potentsiomeetri asendile süütama. Samuti käib komplektiga kaasas õpetus (ka CD-l), mille järgi saab MPLAB-is projekti luua, kompileerida ja mikrokontrollerisse laadida.
Kui soovid ise õppida ja asjast hea ülevaate saada, siis tasub läbi töötada näiteks see http://www.amqrp.org/elmer160/lessons/ , praeguseks kahjuks juba parajalt aegunud, materjal. Kuigi pic16f84 pakub suhteliselt piiratud võimalusi, toimivad esitatud näited ka uuemate ja võimekamate midrange family mcu-dega.
Kindlasti tasub allalaadida mikrokontrolleri andmeleht. Otsinguks tuleb Google-sse toksida mark ja sõna ,,datasheet" ning esimeseks tulemuseks on harilikult Microchipi kodulehele suunav link. Andmelehed on tasuta.
Kui plaanid koostada seadme, tasub riistvara enne valmis ehitada ja seejärel programmi testida-täiustada. Alustuseks võib montaaži teha makettplaadile http://www.elfaelektroonika.ee/cgi-b...&on=&oe=1&oo=1 . Makettplaadi (minu arvates) kõige paremaks liigiks on kolmeste saartega variant. Ehitamiseks läheb tarvis muidugi jootekolbi, tina ja räbustit.
Kui eesmärgiks on korraliku trükkplaadiga lahendus, võib riistvara esialgu koostada sellisel katseplaadil http://www.elfaelektroonika.ee/artnr...supply-voltage . Pärast testimist ja programmi väljatöötamist tuleb teha trükkplaadi joonis (näiteks Eagle http://www.cadsoft.de/cgi-bin/downlo...ub/program/4.1 abil) ja ise teha või lasta teha trükkplaat.
Enamusel mikrokontrolleritel on ahelasisese programmeerimise võimalus (In-Circuit Serial Programming), mistõttu kontrolleri jalgade arv ei sega, kui kontroller PicKit2 programmaatoriga ühildub. PicKit2 pistikus on 6 pinni, mille tähistused leiad samuti kaasas olevalt CD-lt. Vaja on järgmisi:
-GND - toiteallika miinus,
-ICSPdat - andmed
-ICSPclk - kell
-MCLR - master clear.
Seejuures peab seadmel programmeerimise ajal olema toide sisse lülitatud. Kui voolutarve on väike ja lühise tekkimise oht puudub, võib programmeerimise ajal toite anda ka programmaatori kaudu, Vpp kontakt ja kontrolleri Vpp peavad siis ühendatud olema. MCLR tuleb lülituse töötamiseks ühendada 4,7 kilo-oomise takisti kaudu toite plussiga, programmeerimist see ahel ei sega.
Kui sul on see http://www.elfaelektroonika.ee/artnr...stardikomplekt , siis peaks mikrokontrollerisse juba algselt mingi programm kirjutatud olema. Igatahes komplekti kuuluval CD-l leidub analoog-digitaal- muunduri programm, mis paneb PIC16F690 arendusplaadi valgusdioode vastavalt potentsiomeetri asendile süütama. Samuti käib komplektiga kaasas õpetus (ka CD-l), mille järgi saab MPLAB-is projekti luua, kompileerida ja mikrokontrollerisse laadida.
.
On küll sema komplekt, ning sain ka selle programmi tööle, kus vastavalt potentsiomeetri asendile valgusdioodid sütivad, kuid seal on neid 4 ja tundub, et saab neid panna kuni 8 tk, kuid ma tahaks panna vähemalt 9-10 tk, ning hiljem minna üle lcd ekraanile ja peab jääma võimalus lisada veel 7 potentsiomeetrit, algul piisaks ühest.
Ja tuleks ka programm ümber kirjutada.
Aga vot kohe mitte ei oska/saa aru kuidas neid hex faile luua ja koodi kirjutada, loodan, et sinu antud lingist on kasu.
Lühidalt käib .hex-faili loomine järgmiselt:
- MPLAB IDE-s on vaja tekitada projekt (Project - Project Wizard), seal valida
1)kontrolleri (mcu) tüüp,
2)Toolsuite = Microchip MPASM Toolsuite,
3)Toolsuite Contents = MPASM Assembler ja MPLINK Linker ja MPLIB Librarian,
4) Create New Project File [õigesse kohta],
5) Kuna alguses kaustas faile ei ole, pole Add Existing Project Files-i vaja muuta.
- Project - Open, valid loodud kaustast projekti, ekraani vasakusse ülanurka tekib puu (kasti pealkiri on projektinimi.mcw). Sorce Files-i peal hiire parema klahviga vajutades tekib menüü, kus tuleb valida Add Files ja
seejärel otsida üles A2D-nimelise näidisprogrammi .asm fail (asub C-PK2Lessons - LPC Demo Board - 04 A2D), kopeerida see oma projekti kausta ja lisada. Source Files-i juurde ekraani ülanurgas peaks tekkima vastav faili nimi ja kasti päisesse väike tärn. Seejarel Project - Save.
- Sama asi .inc failiga, läheb Header Files alla. Asub C- Program Files, Microchip, MPASM Suite all. Faili nägemiseks tuleb valida Files of type = Header Files (.inc).
- Nüüd Project - Build ja kui õnnestub, tekib projektikausta .hex fail nimega asmfailinimi.hex, mille saab PicKit2 ja selle tarkvaraga mcusse laadida.
8 potentsiomeetri ja 10 valgusdioodiga projektri jaoks sobib midrange famili mcu-de hulgast näiteks PIC16F877A, millele samuti palju näidisprogramme leidub.
Hoiatus - muudan oma postituse sisu kuni 30 minuti vältel pärast postitamist.
Nüüd siis veidike aega pusitud ja koode kopeeritud ja muudetud, kuid ise veel pole suutnud ühtegi kokku kirjutada.
Ehk on veel kellegil pakkuda mõnda õpetust või linki ASM faili koostamisest.
Sobiksid ka erinevad ASM näidised LED`idele
No kui Sa just ASMi tahad selgeks saada, siis jah, see võtab aega.
Aga näiteks C, Pascali või Basicuga oleks Sul juba tegelikult LEDid põlemas koostöös potekatega.
Niipalju kui mäletan, siis ei pidavat saama, ta ikkagi ASMi jaoks mõeldud.
C jaoks pidi olema mingi vabavara kompilaator, kindlasti ka IDE kuskil.
Basicu ja Pascali jaoks on ka tehtud vägevad IDE'd laiade võimalustega.
Aga selle ilu eest tahetakse raha.
On ka üks Basic, teatud limiidiga oli vist 2KB koodi ainult saad kompileerida.
Üle selle enam ei saa.
Aga noh kui Su lähtekood Basicus üle 2KB ei lähe, siis saad edukalt teda kasutada.
Googlest leiab lähemalt nende kõigi kohta inffi.
Eks see ASM muidugi kõige õigem ole. Ta on kiire, kood on väga kompaktne, noh sesmõttes, et vähe mälu sööb. Teatud PICidega on suurus vägagi oluline.
Aga ma pole viitsinud eriti sellega pead murda. Lihtsam asi Basicus või Pascalis ära teha ja projekt valmis.
Poleks loodud neid Basicuid ja Pascaleid PICidele ja AVRidele, oleks võibolla ASM selge juba.
MPLAB IDE on arenduskeskkond. Saab kirjutada kasvõi eesti keeles aga kompilaatorid on C jaoks kindlasti. Hitechil oli isegi mingi pooltasuta (tudengi-) versioon. Pascalile on oma kompilaator, hetkel ei leia enam linki. See oli vist oma IDE-ga.
Paar muud C-d oli MPLABile veel tasuta kuid piirangutega.
- Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
- Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!
Levinumad C kompilaatorid PIC-ile on praegu minu nägemuse järgi (suva järjekorras):
C18 - Microchipi oma. Ainult 18 seeria. Tudengi versioon tasuta. Koodi/RAMi piirangut pole aga optimeerib minimaalselt. Täisversioon päris kallis.
CCS - Täisversioonis toetatud peaaegu kõik: PIC10 kuni dsPIC. Demo koodi piiranguga ja toetab ainult väga väikest hulka PIC-e.
HiTech - Nüüd microchipi oma. Vist kõik PICid. Freeware Lite Mode - lubab kõiki PIC-e. Koodi/RAMi mahu piiranguid pole aga kuulu järgi optimeerib väga kehvasti (tekitab mõttetuid käske). Samas täisversiooni kiidetakse.
MikroC - Tasuta versioon kuni 2k koodi. Üsna mahukas teekide kogu (library) aga puuduseks, et selle lähtekoodi ei näidata. Täisversioon $250.
CC5X/CC8E - 1,5kWord / 1kWord koodi piirang tasuta versioonil.
BoostC - Tasuta versioon kuni 2k koodi ja max. 2 panga jagu RAMi. PIC12(14bit), PIC16, PIC18. Täisversioon alates $70.
Neist enamust kui mitte kõiki saab integreerida MPLAB'iga.
Endale meeldib kõige rohkem BoostC.
Edit: täpsustused.
viimati muutis kasutaja qratman; 24 m 2009, 10:35.
Comment