8051RD2 prekine

B

boris

Guest
Pozdrav svima.
Imam problem sa 8051RD2.Moj program (napisan u C) utvrde prekid za vrijeme, ali ponekad bez vanjskog resetirati kontroler skokovima na startno mjesto (kao što je to reset preko), započinje s obavljanjem da kod koji prethodi glavnom () i vodi glavni izvršni kôd ispravno , ali prestaje ići na prekid rutinskog (timer 2 overflow).Sva vremena prekinuli i dalje zadržati 2 registrima ispravne postavke.Na prekid svakako omogućilo je timer aktivan i preliti zastava postavljena.
Ne gledati psa brojač se koristi.
Nakon vanjskog reset, kontroler radi fino opet.
Tako sam u nedoumici kakav grešku u kodiranje mogao napraviti kontroler za obavljanje tako?

Hvala

 
Imate li neki senzori (sklopke itd.) spojen preko žice?

Da li se prebaciti induktivnih opterećenja?

Ako da ja bi se pretpostaviti da imate EMV probleme koje uzrokuju vraćanje vaše MCU.

Pokušajte decouple sve što je povezano s izvana.

srdačan pozdrav

 
Pokušajte provjeriti ako pogubili RETI nakon prekine.

 
Hvala svima na ovim odgovorima.
Kontroler pokreće zavojnica malih telefonsku liniju relej dapače, ali ja ne vidim bilo kakvih smetnji u cijeloj reset strujni krugovi.Ipak, ako koristite neki drugi firmware u istom odboru s istom tipu kontrolera koji vozi isto kao i relej, ja nemam problema na sve.
Kao da RETI,
želim podsjetiti da ću napisati firmware u C.
Ja sumnjate da nešto u redu sa stog (ne ostaje dovoljno memorije za to), ali moj prevodilac (C51) ne dajte mi bilo koji upozorenja.
Kako mogu testirati svoje pogodak?
Hvala,
Boris

 
Kao za stog na 8051/8052, to si kontrolira memorijske lokacije, ako pronaći na stog RAM LOC = 50h, vaš stog lokacija je od 50h do 7Fh, ona će započeti u 51h zbog stog će početi od dodijeljenih RAM LOC 1.RETI je kada koristite zbor, ne znam ekvivalent u svojoj C. Kada kompilirane vašeg softvera, ima skupštine uvrštenje ili možete učitati heksadecimalna na simulator, onda ćete znati ako se ponovo desilo.

 

Welcome to EDABoard.com

Sponsor

Back
Top