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 

Uvod v programiranje

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju
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.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Sep 08, 2003 7:13 pm    Naslov sporočila:  Uvod v programiranje Odgovori s citatom

Tukaj bom skušal razložit nekaj osnov programiranja v assemblerju. Vsi primeri programov se bodo nanašali na testno ploščo, katera je bila objavljena v elektorju načrt tiv ter vse za izdelavo najdete na forumu. TESTNA PLOŠČA
Tisti, ki boste želeli "poskusit" izdelajte si tole ploščo - le ta vam zna priti prav tudi kasneje. Sam sem še iz dos-ovih časov zato za pisanje uprabljam nortonov NCEDIT ter prav tako dosov MPASM microchipov prevajalnik. Sam prevajalnik je v sklopu MPLAB-a ki ga najdete FREE na microchipovi domači strani. Sam MPLAB-a ne uporabljam. Na disk si instalirajte vsaj MPASM za dos ali Windows katerega pa nujno potrebujete. Kot editor je uporaben vsak editor kateri zna tvoriti čisto asci besedilo. Word, wordpad, write... edit. Lepo je, da editor tudi pokaže v kateri vrstici si. To je sploh uporabno takrat, ko se išče kaka "pravopisna" ali podobna napaka katero odkrije prevajalnik. Le ta navede vrstico v kateri je napaka.

Toliko za zdaj ... več ko bodo nared testne plošče.

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



Pridružen-a: Čet 31 Jul 2003 9:42
Prispevkov: 919
Aktiv.: 3.88
Kraj: Ptuj/Kranj/Ljubljana

PrispevekObjavljeno: Pon Sep 08, 2003 9:12 pm    Naslov sporočila:   Odgovori s citatom

Lep pozdrav vsem.
Silvo, jaz bi pa dal en predlog, če ne bo preveč.lahko ga tudi ovržeš, lahko pa ne.Kaj ko bi preden se lotimo programiranja (osnov) za začetek povedal kaj vse lahko z PIC naredimo, oziroma zakaj je sploh boljše delati z Pic, kot pa eno klasično vezje.Kaj z PIC lahko nadomestimo, kakšne izhode lahko krmilimo, koliko toka in napetosti prenesejo določeni pini in kaj ne smemo delati-kje so začetniške napake.
Jaz osebno bi imel na primer vprašanje, kako se sploh lotit programiranja enega PIC-a za pametni polnilec akumulatorjev z displajem, kjer bi se mi gor prikazoval polnilni tok, način polnjenja, voltaža, število polnjenih celic, čas, ki sem ga porabil za polnjenje, temperatura celic in ostale operacije, če so sploh še katere možne.Potem pa bi vse skupa priklopil na računalnik in z programom vse skupaj krmilil.
EN ZAHTEVEN PROJEKT(za začetnika, mar ne?)
Pa seveda ne mislim, da bi se sedaj začetniki kar vrgli na to nalogo.NE!
Zanima me namreč, kako poteka od začetka do konca zastavljanje in reševanje nalog Shocked .Kaj se moram najprej vprašati, in kako sploh začeti.
NO, če nisem preveč zahteven z takšnimi vprašanji in če se vam tistim, ki se na PIC programiranje spoznate ne zdi škoda vloženega časa, BI LEPO PROSIL, če se da to izvesti na tak način.
Zaenkrat toliko.
LP
Boco Wink
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.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Sep 08, 2003 9:32 pm    Naslov sporočila:   Odgovori s citatom

Boco,
Na kratko bom ti bom skušal odgovorit;
Najprej o mikrokotrolerjih družine PIC, ne vem točno a sama družina šteje sedaj že preko 100 (sto) članov. Vsi imajo skupno to, da v osnovi v assemblerju poznajo 36 instukcij. Razlikujejo se po število portov (pinov) po vgrajeni periferiji ... AD, I2C, SSP ..... Torej mikrokontroler izbereš glede na potrebe. Za "start" se mi zdi najprimernejši PIC16F84 praktično tudi najbolj razširjen mikrokotroler družine pic. Na sami testni plošči se bi brez težav dal razviti tudi kak zahteven projekt - kot predlagaš polilec. Na njej imamo vse LCD displej tipke - če jih ne bo dovolj jih bomo "razširili" 16F84 sicer nima ad kanalov bomo pa vzeli 16C711 ali 16F628 ki je pinkompatibilen. Se tudi strinjam, da s skupnimi močmi naredimo en zahteven in uporaben projekt. A start mora biti tak, da vsi dojamemo osnove. Sam bom - seveda, če boste sodelovali skušal skozi praktični prikaz razložit vsako istrukcijo. Potem pa lahko rečemo Poskusimo narediti "pameten polnilec" se dogovorimo kaj kdo napiše kodo z opisi pripenjamo na forum ... ni Evil or Very Mad da iz tega ne bi nekaj nastalo.

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



Pridružen-a: Čet 31 Jul 2003 9:42
Prispevkov: 919
Aktiv.: 3.88
Kraj: Ptuj/Kranj/Ljubljana

PrispevekObjavljeno: Pon Sep 08, 2003 9:47 pm    Naslov sporočila:   Odgovori s citatom

Silvo, mislim, da sva na popolnoma enaki frekvenci.Tudi jaz sem za to, da začnemo čisto od začetka, da se naučimo tudi tisti, ki NIČ ne znamo.Pametni polnilec je seveda bil samo predlog, čeprav bi bil prekelmano uporabna zadeva.NO, če prebereš še en post nazaj, sem tam tudi napisal, da bi bilo dobro razložiti, kako se sploh lotiti naloge od začetka.Kaj se je potrebno najprej vprašati in potem na odgovor kje začeti.
Pa mislim, da ni važno, da sedaj to naredimo nekaj na hitro, ampak tako, da bomo vsi razumeli.
Za nocoj se bom tudi poslovil, pa jutri kaj več.
Lep pozdrav.
Boco
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
strupenjaca
Neznanec
Neznanec



Pridružen-a: Ned 22 Avg 2004 23:35
Prispevkov: 3
Aktiv.: 0.01
Kraj: ljubljana

PrispevekObjavljeno: Tor Avg 24, 2004 1:39 am    Naslov sporočila:   Odgovori s citatom

lep pozdrav na foromu, moram vas pohvalit še posebej vas silvo!!

sem pa cisto nov tukaj [slovenščina je zame švedska vas] da se se ne znajdem najbolš.mene tuidi zanima tole programiranje in bi se vam pridruzil.imam voljo in hocm se naucit,nimam pa skoraj nic izkusenj razen z assemblerjem na faksuu.zanima pa me se nekaj zakaj ne morem dawnlodat stwari katere objavlaš ti silvoo.opazil se ,da ste vi vsi člani in da mene zaradi tega nič ne uboga Shocked .naredil bi si rad to testno ploščo in se veliko drugih uporabnih stvari sem nasel in si jih ne moreem downlodat.že v naprej se ti zahvalji+ujem za informacije silvoo!!!

lp: strupenjaca
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.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Avg 24, 2004 6:05 am    Naslov sporočila:   Odgovori s citatom

Strupenjaca pozdravljen,

Kot prvo si preberi PRAVILA na forumu Pravilo št. 1 . Vsi naslednji posti pisani v tem stilu gredo brez upozorila direkt v smeti.

Glede downloada Pravilo št. 6 Polne pravice dobiš tri dni po registraciji.

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



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

PrispevekObjavljeno: Sre Avg 25, 2004 5:42 pm    Naslov sporočila:   Odgovori s citatom

Strupenjaca
Glej, assembler je hud zalogaj za zacetnika. Pri tem moras dobro, ce ne recem odlicno poznati mikrokontroler. Moras poznati tocno, kako je razdeljen ram, flash. Kje so prekinitvene rutine, naslove registrov, pa se in se. Veliko lazje je, ce se lotis pisanja v kaksnem basicu. Oz. se bolje v "C"ju

_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
icerick
Neznanec
Neznanec



Pridružen-a: Čet 18 Okt 2007 21:20
Prispevkov: 6
Aktiv.: 0.03
Kraj: Maribor

PrispevekObjavljeno: Ned Nov 11, 2007 1:54 pm    Naslov sporočila:   Odgovori s citatom

zdravo sem bostjan

Silvo in bi rad naredil tvoj usmernik z prikazovalnikom in sem naletel na oviro pri PIC16C711

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16C711 "V1.ASM" /l"V1.lst" /e"V1.err"
Error[105] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 12 : Cannot open file (Include File "D:\ASM\P16C711.INC" not found)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 26 : Symbol not previously defined (_CP_OFF)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 26 : Symbol not previously defined (_WDT_ON)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 26 : Symbol not previously defined (_PWRTE_ON)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 26 : Symbol not previously defined (_RC_OSC)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 48 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 50 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 51 : Symbol not previously defined (INTCON)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 51 : Symbol not previously defined (T0IF)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 55 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 69 : Symbol not previously defined (INTCON)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 69 : Symbol not previously defined (T0IF)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 80 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 80 : Symbol not previously defined (Z)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 85 : Symbol not previously defined (PORTB)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 90 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 90 : Symbol not previously defined (Z)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 95 : Symbol not previously defined (PORTB)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 100 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 100 : Symbol not previously defined (Z)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 105 : Symbol not previously defined (PORTB)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 110 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 110 : Symbol not previously defined (Z)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 115 : Symbol not previously defined (PORTB)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 120 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 120 : Symbol not previously defined (Z)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 125 : Symbol not previously defined (PORTB)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 132 : Symbol not previously defined (PORTB)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 148 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 148 : Symbol not previously defined (Z)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 154 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 154 : Symbol not previously defined (C)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 164 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 164 : Symbol not previously defined (C)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 243 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 243 : Symbol not previously defined (C)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 256 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 256 : Symbol not previously defined (C)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 278 : Symbol not previously defined (FSR)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 280 : Symbol not previously defined (INDF)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 281 : Symbol not previously defined (FSR)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 283 : Symbol not previously defined (FSR)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 284 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 284 : Symbol not previously defined (C)
Warning[224] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 302 : Use of this instruction is not recommended.
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 302 : Symbol not previously defined (PORTB)
Error[126] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 302 : Argument out of range (0000 not between 0005 and 0007)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 303 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 305 : Symbol not previously defined (OPTION_REG)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 307 : Symbol not previously defined (ADCON1)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 308 : Symbol not previously defined (STATUS)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 312 : Symbol not previously defined (INTCON)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 314 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 319 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 319 : Symbol not previously defined (CHS0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 321 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 321 : Symbol not previously defined (GO)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 324 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 324 : Symbol not previously defined (GO)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 326 : Symbol not previously defined (ADRES)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 328 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 328 : Symbol not previously defined (CHS0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 330 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 330 : Symbol not previously defined (GO)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 333 : Symbol not previously defined (ADCON0)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 333 : Symbol not previously defined (GO)
Error[113] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 335 : Symbol not previously defined (ADRES)
Halting build on first failure as requested.
BUILD FAILED: Sun Nov 11 12:45:05 2007
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
icerick
Neznanec
Neznanec



Pridružen-a: Čet 18 Okt 2007 21:20
Prispevkov: 6
Aktiv.: 0.03
Kraj: Maribor

PrispevekObjavljeno: Ned Nov 11, 2007 1:58 pm    Naslov sporočila:   Odgovori s citatom

z PIC še nimam prav dosti izkusenj , saj smo v šoli samo enkrat delali do zaj z pic in to z PIC16F84 in mi je slo dobro, to pa malo prevec za mene!! Prosim Silvo pomagaj mi!!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.42

PrispevekObjavljeno: Ned Nov 11, 2007 3:03 pm    Naslov sporočila:   Odgovori s citatom

icerick je napisal/a:
Error[105] C:\DOCUMENTS AND SETTINGS\ICEBOY\DESKTOP\USMERNIK\V1.ASM 12 : Cannot open file (Include File "D:\ASM\P16C711.INC" not found)


Popravi pot do te datoteke in bo velika večina napak izginila. Probaj takole:
Koda:
#include "p16c711.inc"

Če ne pomaga, napiši polno pot do datoteke... default lokacija je takole:
Koda:
#include "c:\Program Files\Microchip\MPASM Suite\P16C711.INC"

_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
icerick
Neznanec
Neznanec



Pridružen-a: Čet 18 Okt 2007 21:20
Prispevkov: 6
Aktiv.: 0.03
Kraj: Maribor

PrispevekObjavljeno: Ned Nov 11, 2007 4:00 pm    Naslov sporočila:   Odgovori s citatom

Najlepsa ti hvala!!!!!!!! Deluje
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
TIBET
Član
Član



Pridružen-a: Čet 13 Sep 2007 23:39
Prispevkov: 163
Aktiv.: 0.75
Kraj: Metlika

PrispevekObjavljeno: Sob Dec 01, 2007 9:45 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni.
Po dolgem času se spet oglašam, z namenom, ker sem naletel na zid.
Že kar nekaj časa se učim programiranja- sestave PIC-a. Kupil sem knjigo Programirajmo PIC mikrokontrolerje, jo prebral, naredil zapiske pomembnih "stvari-ukazov", zdaj pa ko imam pred sabo projekt, pa nevem kako. Tiv imam narejen, samo še pic moram sprogramirati.
V odvisnosti od zunanje temperature bi krmilil mešalni ventil na centralni kurjavi, tako, da pri temp. večji od 15* C bi bil ventil zaprt, pri 0*C, pa odprt, stem da bi pri padanjju zunanje temp. od 15*C do 0*C, se tudi ventil pripiral.
Kako naj sprogramiram pic, temp. senzor bo DS1820, pic pa 16F84.

Nevem, mogoče še premalo poznam osnove, primeri v knjigi so mi dokaj jasni, neznam pa se lotit programiranja.

L.P.
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.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Dec 02, 2007 1:02 am    Naslov sporočila:   Odgovori s citatom

Če boš programiral v assemblerju, bo za izvedbo željenega potrebno kar nekaj znanja.

Kako se lotiti?
Nisi napisal, če želiš prikaz, možnost nastavitve, shranitev nastavitev v eeprom...

Prikazuješ lahko na kak LCD, ki prikaz vzdržuje sam (recimo kak lcd z kontrolerjem hd44780 - LM016 ali kaj podobnega)
Tudi za LED displeje imaš v ta namen čipe - recimo philipsov SAA1064.

V tem primeru bo potrebno spisati ustrezne protokole.

Lahko uporabiš tudi klasične 7segmentne displeje - za prikaz pa poskrbi mikrokontroler.
(tole začetniku ne bi ravno priporočil - samo osveževanje je enostavno, težava bo nastala ko boš "lovil" procesorski čas za ostala opravila.)

Spišeš proceduro za 1Wire (DS1820)

Program "zložiš" nekako takole:

- Izvedeš meritev
- glede na rezultat "ukrepaš"
- rezultat prikažeš
- na začetek

Še tole; vzemi raje 16F628 cenejši zmoglivejši ter pinkompatibilen 16F84-tki

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



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 16.01

PrispevekObjavljeno: Ned Dec 02, 2007 7:11 pm    Naslov sporočila:   Odgovori s citatom

Lahko tudi plonkaš programe od tukaj: sprut.de .
Sicer je v nemščini, a je zelo instinktivno napisno s komentarji, primeri, ... .
Večina programov ima enako osnovno zgradbo:
Definicije registrov (lahko tudi #include pic16F628.inc)
Prostor za spremenljivke (npr. cblock 0x20 )
Začetno inicializacijo PICa in vsega okrog (vhodi, izhodi, ADC, LCD, ...)
Osnovno programsko zanko
- čakaj pogoj
- beri vhode
- piši izhode
Kup podprogramov
- branje tipkovnice, debounce,...
- pisanje na LCD
- ADC meritev
- komunikacija noter/ven
...
Prekinitve za točne čase, piskač, komunikacijo,...

Najprej mora delati inicializacija vsega, nato poženeš osnovno zanko.
Ko to dela, dodaš podprograme, nato pa še ukaze "call podprogram1".
Najprej boš klical vsak podprogram posebej, kasneje se bodo podprogrami klicali tudi med seboj (podprogram za pisanje na LCD kliče BranjeTabele, Pavzo1,...).

Vse bo vedno delalo natanko tako, kot si si napisal, če si pravilno pojasniš dogajanje ob "goto", "call" in "return". Če boš te tri ukaze uporabljal pravilno, se program ne bo izgubil v nepredvidljivo stanje. Četudi ne bo delal tako, kot bi si želel, bo vsaj delal tako, kot si ga napisal.
LP,
Igor

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju Č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: 491 dni


Powered by phpBB © 2001, 2005 phpBB Group