[HWnews] Makra pro 18xxxx

Michal G. MichalGregor@seznam.cz
Sobota Březen 20 10:16:35 CET 2004


> Velice rychle prijdete na to, ze u PIC18 se o banky az tak moc nestarate.
To
> A si klidne muzete v zapisu usetrit. Ono kdyz je to do ACCESS banky, tak
to
> sam kompilator pozna a A tomu prizpusobi, pokud je to jinam, tak zase to A
> hodi kam patri, takze ze ne do ACCESS. Proste kdyz udelate tohle:
>

Zda se mi lepsi mit ve zdrojaku napsane kam to jde, mam obavy ze skrytych
chyb. Je fakt ze to nebude tak hrozne jako u sestnactkove rady. Budu tedy
verit asembleru, zatim bych se mel vejit do aceess ram + jedna banka na
jeden modul (podprogram).


> MOVFF NECO1,WREG
> XORLW b'10101010'
> MOVFF WREG,NECO1

Pekne.


> U spousty aplikaci se da bohate vyuzivat 3x FSR, protoze aplikace
narocnejsi
> na pamet nemivaji az tolik promennych pro beh, ale spise nejaka data,
ktera
> je obsluhovat pres smernik daleko efektivnejsi nez jakkoli jinak a co je
> potreba pro beh programu se pak casto vejde cele do ACCESS + BANKx, cimz
> mate hromadu registru pristupnych rovnou (256 + 128 v ACCESS) bez toho,

No ja se pustil do 18F452, protoze potrebuji nekolik bufru pro seriove
linky, takze vyuziji celou RAMku.

> Vyjimku z meho tvrzeni by mohly byt napr. PIC18 s CAN, kterezto maji mimo
> "primy dosah bez bankovani" dostupne nektere registry pro CAN, ale to uz
je
> spise kosmeticky detail a stejne se i tam da bankovani vyhnout.
>
> Kdyz uz jsem zase zabredl do tech prog. praktik, prostudujte si ten
> instrukcni soubor PIC18 odzhora dolu instrukci po instrukci ne jen zbezne.
> Nevedet napr. ze existuje ADDWF ale take ADDWFC nebo dale ze DECF a INCF
> nastavuji i C a dalsi priznaky (nejen Z), by mohlo docela bolet, stejne
jako

Zacatky jsou tezke....

> pekne instrukce INFSNZ ci DCFSNZ a dalsi. Prace s pameti programu jako
> tabulkami je pak fajn - predstavte si typ s externi pameti, ktera je treba
> SRAM - jakysi mix dvou architektur.

Na to je pro mne stale lepsi klasika - x51

> PIC18 jsou proste MCU pro opravdove fajnsmekry a nektere veci, ktere nikdo
> nepopisuje v nich vlastne jsou a ta magie zustava na kazdem, co s tim
dokaze
> - klidne se to da pouzivat i jako "obycejnou" PIC16 :). Prikladem si
> vytvorit klidne 2x STACK a rvat tam veci pomoci neprimeho adresovani za
> pomoci FSR a jeho posuvu rovnou jednou instrukci - to sice asi neni uplne
po
> lopate nikde popsano,

Kapitola INDIRECT ADDRESSING OPERATION
zajimavy registr je PLUSWx kdy se pricita k FSR W bez zmeny jeho obsahu.
Tedy neprime adresovani pres FSR a W

> instrukce a tak je pouzivat. Co mne dohani k silenstvi je to, ze nekdo
> nevidi "jiny zasobnik" s prislusnymi POP a PUSH a uz to tam podle nej
proste
> neni, protoze to proste neni nikde "primo napsano" :).

Vyuzit vsechny vymozenosti 18xxx asi vzdycky nepujde,


> Predpoklada se (mam alespon takovy dojem), ze tenhle MCU pouzije stejne
> dobre "casovatel", "mag", "krotitel brouku" jako "popisovac deje" - ty
> posledni zminene nesnasim - otrocky pisi a co jim kdo nerekne je nenapadne

Nejen pisi, ale i kresli. Bohuzel. Proc se napriklad dens delaji aplikace s
externi programovou pameti, kdyz je ji tolik za levny peniz uvnitr? Bohuzel
jak v amaterske tak profesionalni praxi.
Michal Gregor




Další informace o konferenci Hw-list