Re: Stránkování u PIC 16F676

j s jarin.hw na gmail.com
Sobota Leden 12 12:42:45 CET 2013


Ked sa pozrieme do datasheetu
http://ww1.microchip.com/downloads/en/devicedoc/40039e.pdf na stranu
19, najdeme tam popisane manipulacie s PC - v zasadne sa deju tromi
sposobmi:
1, Inkrementacia po vykonani instrukcie - to je elementarny jasny
sposob, ktory na tej predmetnej strane nie je explicitne popisany,
preto som s nim zacal :-)
2, Instrukcia, ktora ma PCL ako ciel - teda napriklad Vase "computed
goto" instrukcie addwf, PCL,f - tam je sirka zapisu do PCL iba 8
bitov. Pretoze PC ma 13 bitov, hornych 5 bitov musi ist z dolnych
piatich bitov PCLATH registra, ktory je treba manualne naplnit. To
pokryva AN556, napriklad.
3, Instrukcia GOTO alebo CALL - tu sa obsluhuje 11 bitov z
instrukcneho slova a horne dva bity musite nastavit v bitoch 3 a 4
registra PCLATH. Teda pred skokom (alebo call-om) cez 2kB blok musite
tieto bity adekvatne nastavit.

Pokial nemusite inak, je lepsie vyhnut sa PIC16Fxxx ak ich treba
programovat v assembleri. Bud pouzite PIC18F (kde tieto problemy
defacto odpadaju) alebo aspon PIC16F1xxx, ktore su mimochodom
lacnejsie nez stare PIC16Fxxx. Kompatibilita na asm urovni je velmi
dobra, pinova kompatibilita bezproblemova.
Okrem toho Vam tym odpadne trebars RMW problem na IO portoch, ktorym
trpeli PIC16Fxxx kvoli absencii LAT registrov.

A vobec, PIC16Fxxx mam rad na programovanie v assembleri a to len
preto, ze je to taka moja osobna sado-maso uchylka. Mam na nich
"najazdenych" pomerne dost, no nedokazem si predstavit, ze by som ich
v dnesnej dobe nasadil do normalnej aplikacie - vyssie rady umoznuju
programovat bez toho, aby clovek drzal v hlave vsetky ich nectnosti a
myslel na to, kde ich treba obist/opravit.

J.



2013/1/12 Kručinský Ladislav <ladislav.krucinsky na linde-mh.cz>:
> Hezký vídend přeji.
>
> Při psaní programu pro PIC 16F676 je potřeba hlídat stránkování paměti instrukcí (přechody z 0x0FF na 0x100 atd) a obsluhovat ten stav tak jak je popsáno v AN556 pouze pro počítané skoky (čtení tabulky)  nebo mně to může zradit i v jiných částech programu ?
> Nebo jinak řečeno: napíšu program, zkompiluju a prohlédnu si v listingu do kterých částí padly přechody mezi stránkami. Když tam není žádná oblast do které se skáče pomocí modifikace registru PCL (addwf PCL,f nebo movwf PCL,f) tak nehrozí riziko ?
>
> Děkuji za pomoc
> Kručinský
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list