varible initialisation in 8.051 ..

S

sacrpio

Guest
Kā mainīgie ir inicializēts, kad mēs powered On mikrokontrolleru.Mans kods ir uzrakstīts C. Patiesībā es esmu interesē tas, kas ir var inicializēšanas procesu 8.051.

 
C kompilatori parasti rada starta rutīnas, kas initializes dažādām lietām, un tad prasa jūsu galveno ().Uzsākšana ikdienas dažādās kompilatoru uz citu.Tās iekšējā informācija ir vienalga, jūsu C programma.

Varbūt, ja tu izskaidrotu, kāpēc tas ir interesanti jums ...?

 
Es ecourage visi iet vispirms ar montētājs un tad C.. C ... utt ..jo assembler jūs uzzināsiet, kā kontrolēt / izmantot katru bitu robežās thid Gismo ..

 
Izmantojiet Keil kā piemērs.

Kompilators ievietot noklusēto starta ikdienas jūsu C kodu, ja jums
neprecizē savu.IDATA būs ļauts 0x00 laikā
palaišanas procesu.(Skatīt STARTUP.A51)

Ja jums nepatīk šī, varat mainīt pirmkodu, lai neatkarīgi
vēlaties.

 
Protams, ja jūs vēlaties, lai saprastu, kā dažas funkcijas tiek īstenotas, jums ir jāzina montētājs.Tas ir viszemākais jums, lai no MCU darbību.

Attiecībā uz mainīgo inicializācijas (Let's say reģistrēties C inicializēts ar 0x10 vērtību (hex)) šādus PIC komplektu kods (2 instrukcijas) tiks īstenoti:

Movlw 0x10; Move gramatisko vērtība 0x10 uz accumulater vai darba reģistrēties
Movwf C; Move akumulatora saturs reģistrēties C (jānosaka iepriekš adresi, C)

Kas ir līdzvērtīgs šādiem C kods line:
C = 0x10;GAM

 

Welcome to EDABoard.com

Sponsor

Back
Top