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 

PCL in PCLATH register

 
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
saso
Član
Član



Pridružen-a: Čet 18 Mar 2004 10:16
Prispevkov: 510
Aktiv.: 2.15
Kraj: Trbovlje

PrispevekObjavljeno: Tor Jun 15, 2004 5:37 pm    Naslov sporočila:  PCL in PCLATH register Odgovori s citatom

Živjo

Zanima me, če mi kdo lahko bolj razumljivo razloži uporabo PCLATH rehistra v povezavi s tabelami.

V koliko jaz razumem, bi se moral ta uporabljati takrat, ko gre tabela iz ene stani v spominu na drugo stran.

Kako se to uporablja in ali je to sploh namenjenu temu pa ne vem.

Hvala za pojasnila.

Lep pozdrav
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-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 Jun 15, 2004 7:54 pm    Naslov sporočila:   Odgovori s citatom

Nekako tako... da ne pišem. Poglej priložen dokument v katerim je vse lepo razloženo.
Ko sem tole iskal po disku sem našel en pic.ng ki sem ga napisal pred kakimi petimi leti. (datoteka s pomočjo pri programiranju) Tisti, ki ne veste... NG datoteke odpira Norton Guides. To je rezidenčen program in je bil v rabi v DOS-ovih časih. Z "vročimi" tipkami si ga lahko poklical kar v editorju kjer si pisal program. Za odpiranje tudi obstaja verzija za windowse. (prebrskajte po netu)



00556e.pdf
 Opis:

Download
 Ime datoteke:  00556e.pdf
 Velikost datoteke:  79.71 KB
 Downloadano:  26 krat


Pic.zip
 Opis:
NG datoteka s pomočjo za PIC16F84, ki se odpira z Norton Guides

Download
 Ime datoteke:  Pic.zip
 Velikost datoteke:  9.16 KB
 Downloadano:  14 krat


_________________
lp
Silvo
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 Jun 15, 2004 8:33 pm    Naslov sporočila:   Odgovori s citatom

Na Filemanager v "programske pakete" sem pripel tudi program, ki teče pod windowsi ter zna odpirat NG datoteke. (Expert Guide For Windows v2.15)
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
saso
Član
Član



Pridružen-a: Čet 18 Mar 2004 10:16
Prispevkov: 510
Aktiv.: 2.15
Kraj: Trbovlje

PrispevekObjavljeno: Sre Jun 16, 2004 7:05 am    Naslov sporočila:   Odgovori s citatom

Živjo

Bom preštudiral. Ta program že imam.
Če mi še vedno ne bo jasno pa se javim.

Lep pozdrav
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-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: Sre Jun 16, 2004 7:25 am    Naslov sporočila:   Odgovori s citatom

Težava nastane pri uporabi CALL ter GOTO. Če pogledaš 14 bitno kodo obeh instrukcij:

CALL = b"100kkk kkkk kkkk"
GOTO=b"101kkk kkkk kkkk"

Prostor za lolacijo skoka je 11 biten programski števec pa je 13 biten. Torej tista dva bita je treba nekako nastavit če so skoki čez strani. To najenostavneje naredimo tako , da preden izvedemo skok vpišemo tiste bite v PCLATH. Da ne računamo "ročno" na stran kamor želimo skočit nastavimo labelo ter le to najprej naložimo v W nato pa v PCLACH


Koda:

org 0x05
movlw high LOKACIJA
movwf PCLATH
goto LOKACIJA


org 0x300
LOKACIJA
....






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



Pridružen-a: Čet 18 Mar 2004 10:16
Prispevkov: 510
Aktiv.: 2.15
Kraj: Trbovlje

PrispevekObjavljeno: Sre Jun 16, 2004 8:18 am    Naslov sporočila:   Odgovori s citatom

Živjo

Hvala Silvo.

Stvar sem ravnikar rešil nekako takole:

ORG 0X101
Sporocilo6
MOVWF PCL
IZPIS6 dt "1 UP/2 DOWN"
Konec6
*
*
*
movlw HIGH Sporocilo6
movwf PCLATH
PRINT Sporocilo6, IZPIS6, Konec6, Pointer, LCDw
clrf PCLATH

Hvala za pomoč.

Lep pozdrav
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
.
Neznanec
Neznanec



Pridružen-a: Pet 01 Okt 2004 1:17
Prispevkov: 1
Aktiv.: 0.00

PrispevekObjavljeno: Sob Okt 30, 2004 7:18 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
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: Sob Okt 30, 2004 7:51 pm    Naslov sporočila:   Odgovori s citatom

Če pogledaš sestavo same instrukcije CALL ti bo vse jasno. Torej vse instrukcije so dolge 14 bitov tako da nikakor ni možno naslovit v PC kateri je 13 biten v celoti. Pri CALL instrukciji so gornji trije MSb biti sama instrukcija preostalih 11 bitov pa je dejansko spodnjih 11 bitov PC (tja kamor pač želimo skočit) Progamski števec pa je 13 biten torej če je skok daljši je treba tista dva bita nekako nastavit. Tista dva bita sta v PCLATH -u ter sta bralno pisalna. Return pa le vrača shranjeno vrednost PC iz sklada.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Neznanec
Neznanec



Pridružen-a: Pet 01 Okt 2004 1:17
Prispevkov: 1
Aktiv.: 0.00

PrispevekObjavljeno: Sob Okt 30, 2004 9:47 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
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: Sob Okt 30, 2004 10:08 pm    Naslov sporočila:   Odgovori s citatom

Nekako takole

Koda:


org 0x10                         ;smo nekje na začetku progamskega polnilnika
movlw HIGH Sporocilo6   ;
movwf PCLATH
call Sporocilo6
............
...............


ORG 0X401             ;koda je na lokaciji 0x401
Sporocilo6               ; za lažjo predstavo binarno b'10000000001'
IZPIS6 dt "1 UP/2 DOWN"


_________________
lp
Silvo
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: Sob Okt 30, 2004 10:27 pm    Naslov sporočila:   Odgovori s citatom

mogoče še *.lst datoteka, katero tvori prevajalnik - primer zgornje kode.
Mislim, da ti bo vse jasno.

Koda:

MPASM 03.20.02 Released          TEST.ASM   10-30-2004  22:21:52         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001         list P=16F877
                      00002 #include "c:\asm\p16f877.inc"
                      00001         LIST
                      00002 ; P16F877.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
                      00373         LIST
0010                  00003         org 0x10                         ;smo nekje na začetku progamskega polnilnika
0010   3004           00004         movlw HIGH Sporocilo6   ;
0011   008A           00005         movwf PCLATH
0012   2401           00006         call Sporocilo6
                      00007
0401                  00008         ORG 0X401             ;koda je na lokaciji 0x401
0401                  00009 Sporocilo6               ; za lažjo predstavo binarno b'10000000001'
0401   3431 3420 3455 00010 IZPIS6 dt "1 UP/2 DOWN"
       3450 342F 3432
       3420 3444 344F
       3457 344E
                      00011
                      00012         end
MPASM 03.20.02 Released          TEST.ASM   10-30-2004  22:21:52         PAGE  2


SYMBOL TABLE
  LABEL                             VALUE 

_________________
lp
Silvo
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 -> 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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group