 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Sep 09, 2003 5:12 pm Naslov sporočila: Assembler in "pravopis" |
|
|
Assembler (zbirnik) je najnižji programski jezik (mogoče se najde kak exspet, ki programira kar v strojni kodi ) Proizvajalci mikrokontrolerjev prevajalnik običajno ponujajo zastonj. Prevajalnik za PIC-e je MPASM.EXE za dos oz MPASMWIN.EXE za windows-e. Sedaj se nahaja v sklopu MPLAB-a kateri se lahko sname free z mikrochipove domače strani. Pozitivne strani assemblerja so, da omogoča direkten dostop do registrov...strani Torej se da mikrokotroler popolnoma izkoristiti. Slabosti pa so, da mora uporabnik do potankosti poznati periferijo katera bo uporabljena. Recimo I2C, RS232, komunikacija nap. z LCD-jem ..Pred začetkom pisanja programa je prav, da poznamo nekaj osnovnih "pravopisnih" pravil.
Kot sem omenil, pišemo lahko v kakršnem koli editorju, kateri zna tvorit čisto ASCI besedilo. Lahko tudi v editorjem kateri je v sklopu MPLAB-a sam ga ne uporabljam zato glede njega ne morem kaj svetovati. Prevajalnik ločuje med malimi in velikimi črkami !!! Instrukcije lahko pišemo z malimi ali velikimi črkami. (instrukcije v prilogi) Tisto kar sledi instrukciji pa se običajno piše z velikimi črkami. V čem je problem Da si stvari lažje zapomnimo so si tvorci progama omislili še tako zvane include datoteke katera je za vsak mikrokontroler v sklopu MPASM. Na začetku programa običajno navedemo pot do nje: nap. #include c:\asm\p16f84.inc (v prilogi za 16F84) Kaj je v njej ?
(En del)
INDF EQU H'0000'
TMR0 EQU H'0001'
PCL EQU H'0002'
STATUS EQU H'0003'
FSR EQU H'0004'
PORTA EQU H'0005'
PORTB EQU H'0006'
EEDATA EQU H'0008'
EEADR EQU H'0009'
PCLATH EQU H'000A'
INTCON EQU H'000B'
Mi smo nap obrisali port b z ukazom : clrf PORTB predprevajalnik port b zamenja z EQU H'0006' in tako naprej. Mi bi sicer lahko napisali tudi clrf EQU '0006' takrat seveda include datoteke ne bi rabili. Torej vse kar sledi instrukciji mora biti napisano s črkami kot so v include datoteki. Vse je običajno z veliko. Enako je z labelami. Če imamo proceduro TEST ter jo kličemo z call test le te ne bomo doklicali. Prevajalnik se bo pritoževal, da ne najde procedure. Prvi stolpec je rezerviran za labele. Če bomo tam napisali nekaj kar ni labela se bo prevajalnik spet pritoževal da je tam kjer je da je našel labelo ki ni labela. Če je program sicer pravilno napisan se bo ta sicer prevedel tudi pravilno. A nikoli ne bomo vedeli, če smo ga kaj polomili. Zato tisto kar ni labela pišemo z zamikom nap tabulatorko mesto.Podpičje smatra kot komentar vse kar je napisano za njim ignorira. Pri izbiri label nikoli ne uporabljamo šumnikov.
Toliko za začetek, še kaj napišem vmes ko bomo napisali kak programček..
Lp
Silvo
Opis: |
|
Velikost datoteke: |
106.98 KB |
Pogledana: |
138 krat |

|
Opis: |
|
 Download |
Ime datoteke: |
P16f84.zip |
Velikost datoteke: |
1.21 KB |
Downloadano: |
32 krat |
|
|
Nazaj na vrh |
|
 |
rimci Član

Pridružen-a: Sre 30 Apr 2003 19:01 Prispevkov: 461 Aktiv.: 1.95 Kraj: Prekmurje
|
Objavljeno: Tor Nov 11, 2003 8:24 pm Naslov sporočila: |
|
|
Silvo kateri editor pa ti uporabljas za pisanje programov, ker si napisal da ne delas z MPLAB-ovim?
LP
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Nov 11, 2003 8:33 pm Naslov sporočila: |
|
|
Uporabljam DOS-ov NCEDIT ki je v sklopu NORTON COMMANDER-ja. Le tega sem vajen še z DOS-ovih časov sploh ko sem v Clipper-ju še kaj več napisal
lp
Silvo
|
|
Nazaj na vrh |
|
 |
|
|
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: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|