viac caracters pre zobrazenie správ

S

Sarus

Guest
<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutrálny" border="0" />

Je nejaká hop doplniť viac hodnotu (menej ako 32), aby tento program:
http://www.elektronikce.com/Download/pic0504.asm
Hlavná stránka je jej: http://elektronikce.com/7_16.html
thank u

 
nazdar,

aj zvýšená línie (retlw B'0xxxxxxx ') riadky
ale na určitý počet liniek sa zastavil a opakované z init.

Potom, čo o tom hľadaní som zistil, že problém z tohto riadku

ADDWF PCL, 1

a ja si myslím, že riešenie v týchto slovách:

Kód:Upozornenie pre programátorov PIC zhromaždeniaTam je subtílna bod, ktorý by ste mali mať na pamäti pri písaní

Vaša montážne program pre čip PIC. Pult programu je

13-bitové číslo bez znamienka, ale väčšina príkazov, ktoré menia

Hodnota pult programu poskytovať menej ako 13 bitov.

Príkazy CALL a GOTO poskytujú iba 11 bitov, a akákoľvek operácia

ako ADDWF použiť na PCL poskytuje iba 8 bitov. zostávajúcich

z 13 bitov, sú získané z registra PCLATH, ktorý je

pôvodne 0. Preto CALL a GOTO bude fungovať len v rámci

Prvé 2K pamäte a ADDWF PCL, f línie, ktoré používame

vykonávať vyhľadávanie tabuliek funguje len v prvých 256 slov

pamäte, ak nebudeme explicitne nastaviť PCLATH na správne hodnoty.

Vzhľadom k tomu, váš program sa pravdepodobne nedôjde k prekročeniu limitu 2K slovo,

Stačí sa starať o situácii, kedy ADDWF PCL, f linka

o vyhľadávacej tabuľky dostane tlačil za adresu 100h. Ak

pridať kód, aby proto.asm a zrazu zistíte, že program prestane

pracovať úplne, môže to byť preto, že ste tlačil ADDWF PCL, f

línia použité v motore, a tak miesto za 255 byte

limit.Ak chcete zistiť o probléme, pozrite sa na. Lst súboru, ktorý assembler

Vyrába a skontrolovať každý riadok formulára ADDWF ADDWF PCL alebo PCL, f

a skontrolujte jeho adresu (prvé číslo v riadku, je v

hexadecimálne). V prípade, že počet je väčší ako 0FFh, program

počítadlo bude nastavená na niektoré adresy na začiatku

program namiesto pár slov ďalej v kóde, kde chcete

to ísť. Ak chcete problém vyriešiť, vložte riadkyMOVLW 1

MOVWF PCLATHniekde tesne predtým, ako sa dostanete pripravení vykonať ADDWF PCL. You

Bude tiež chcieť napísať linkyMOVLW 0

MOVWF PCLATHna začiatku hlavnej slučky tak, aby ADDWF PCL usmernenia

v prvých 255 slov pamäte budú fungovať správne.Ak váš kód dostane tak veľký, že zistíte, ADDWF PCL pokyn

na adresu medzi 200h a 2FFh, mali by ste použiť MOVLW 2 miesto

z MOVLW 1, a tak ďalej. Rovnako, ak je váš program by sa tak

veľký, že hovor alebo GOTO výučba buď v mieste bydliska,

s adresou mimo 7FFh alebo skočí na miesto mimo 7FFh,

budete musieť vložiťMOVLW n

MOVWF PCLATH, Kde n je výsledkom celé číslo rozdelenie cieľovej adresy

o 256. (Drop posledné 2 hexadecimálne číslice adresa je

skočil, alebo len získať n.) Opäť sa uistite, že je PCLATH

správne nastavená na správnu hodnotu pred každým CALL a GOTO a

ADDWF PCL. (Nemusíte sa starať o inštrukcie CALL a GOTO

PCLATH aj keď je nastavená na rukoväť ADDWF PCL usmernenia, ak

Váš program je menšia ako 2048 inštrukcie dlho.)Všimnite si tiež, že keď ADDWF PCL spustí, ak je číslo v W a

PCL pridať na číslo, ktoré je väčšie ako 255, niesť trochu dostane

vyhodiť a pult programu bude skákať dozadu miesto

forwardov. To je dôvod, prečo celý vyhľadávacie tabuľky nesmie

rozkročit adresu, ktorá je deliteľná 256.

 

Welcome to EDABoard.com

Sponsor

Back
Top