v

S

sacrpio

Guest
Ako sú premenné nevynulujú, keď sme zapnutý mikrokontroléru.Môj kód je napísaný v jazyku C. V skutočnosti mám záujem o to, čo je proces inicializácie v roku 8051 var.

 
C prekladača zvyčajne generuje aktivačnú rutinu, ktorá inicializuje rôzne veci, a potom volá vašu main ().Spúšťanie bežných sa líšia od jedného kompilátora na druhý.Jeho vnútorné informácie by nezáležalo na váš program v jazyku C.

Možno, ak by ste vysvetliť, prečo je to zaujímavé pre vás ...?

 
Já bych ecourage všetky, aby najprv v assembleri a potom C.. C ... a tak ďalej ..pretože v assembleri sa naučíte, ako ovládať / využiť každý kúsok do thid věcička ..

 
Keil použiť ako príklad.

Kompilátor vložiť predvolený spúšťací rutiny v kóde C, ak
nezadáte svoje vlastné.Idate budú vymazané na 0x00, počas
štartovací proces.(Pozri STARTUP.A51)

Ak sa vám nepáči, môžete zmeniť zdrojový kód na čokoľvek
sa vám páči.

 
Samozrejme, ak chcete pochopiť, ako sa vykonáva určité funkcie, musíte poznať assembler.To je najnižšia dostanete k fungovaniu MCU.

Pre inicializáciu premenné (Povedzme, že register C inicializovaná s hodnotou 0x10 (hex)) nasledujúci PIC montážny kód (2 návod) bude vykonaná:

MOVLW 0x10; Presunúť doslovný hodnotu 0x10 na accumulater alebo pracovný register
Movwf C; Premiestniť akumulátor obsah registrovať C (musia byť definovaný skôr adresu C)

Čo je ekvivalentné nasledujúci riadok kódu C:
C = 0x10;Gam

 

Welcome to EDABoard.com

Sponsor

Back
Top