Hoe waakhond gebruik met AT89S52 ????????

M

mrcube_ns

Guest
Hallo vrienden,

Ik gebruiken WD op AT89S52 (programmeren in C (kei |)).

Op atmel site vond ik een aantal naden voorbeeld, maar dat werkt niet (goed / helemaal niet).How to do it?

Sommige code voorbeelden zijn welkom.

Thanks in advance!

Mr.CubeAtmel voorbeeld

...WDTPRG | = 0x07; / * 2.275s @ FOSCA = 11,059200 MHz * /
/ * Watchdog start volgorde * /WDTRST = 0x1E;WDTRST = 0xE1;
while (1) / * einde minder * /(/************************************************ PROGRAMMA *************************************************/
/ * Watchdog reset volgorde * /WDTRST = 0x1E;WDTRST = 0xE1;)...
 
thank you, but this example can be applied to AT89S8252, AT89S8253 or AT89S53 and maybe some other ones.

hulahula
dank u, maar dit voorbeeld kan worden toegepast op AT89S8252, AT89S8253 of AT89S53 en misschien nog enkele andere.

AT89SS52 heeft nog geen WMCON.Alleen inschrijven voor WD die S52 hebben is WDTRST op het adres 0xA6 (zie foto bijvoegen).

Ding dat mij verwarrend is dat er in atmel voorbeeld (ik heb gedownload voorbeeld van atmel site en zetten core code in mijn eerste post) is er WDTPRG variabele wens moet worden gevonden op SFR adres 0xA7 (incl. betrekking tot bestand), maar in de handleiding van dat adres EMPTY ?!?!?!

Dus, iemand die monster voor S52??BEDANKT!Mr.Cube
Sorry, maar je moet inloggen om deze gehechtheid

 
Na het testen van waakhond op AT89S52 Ik heb een aantal conclusies:
1.WD werken aan S52, met atmel voorbeeld.
2.WDTPRG SFR bestaat niet in de S52 (zie foto in mijn vorige post), dus lijn

...WDTPRG | = 0x07;...niets doen, en WD reset MCU elke ~ 15ms (XTAL = 11,0592) als u niet WD timer te resetten.

That's it.Als u wilt gebruiken op WD S52 moet je resetten WD timer zeer offen.

Dank u allen.

Mr.Cube

 
alles geschreven in de datasheet duidelijk plzzzz laat me weten wat problemen ur geconfronteerd

 
ashadBedankt voor het antwoord, wat is het probleem:

1.Ja in datasheet ze zeggen dat je begint WD timer door het invoeren van E1h en 1EH in WDTRST sfr.Na dat je WD timer opnieuw in code met dezelfde waarden en dezelfde procedure.

2.Zie pic "WD op atmel MCU".Zij duidelijk zeggen dat dit voorbeeld is voor AT89S52 onder anderen.
S52 do not have WDTPRG sfr.

Probleem:
S52 hebben geen WDTPRG sfr.

Dus regel WDTPRG | = 0x07; niets doen, omdat S52 niet SFR op het adres hebben A7h.
If you want to use WD on s52, you need to reset WD not longer then 15ms or your mcu will reset.

Oorzaak:
Als u wilt gebruiken WD op S52, moet u niet opnieuw WD langer dan 15ms of uw MCU wordt gereset.

'Tot nu toe heb ik altijd gebruik AT89S8252 (als ik nodig WD), en met deze MCU WD verhaal is totaal anders.

Ik meestal gebruik / behoefte WD keer met tijden van rond de 1 tot 2 sec, die ik niet kan hebben met S52, OR MAYBE I'M WRONG ?????

Suggesties???

Met vriendelijke groet,

Mr.Cube
Sorry, maar je moet inloggen om deze gehechtheid

 
Ik gebruikte 89S51 met horloge hond timer ....het werkt prima, ik gebruikte in industriële project ....Ik heb dit project in het midden van 2004, ben ik op zoek programma (Coding) zodra ik dan vind ik, stuurt u

 
Hi all,

Het sems dat niemand heeft oplossing voor WD probleem op AT89S52 (ik moet ongeveer 1sec lang)?

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />
Met vriendelijke groet,

Mr.Cube

 
Verhaal over WDT op S52 zijn einde!

Dit antwoord kreeg ik van Atmel ondersteuning:Hallo Meneer Cube,De AT89S52 apparaat beschikt niet over de prescaler als de AT89S8252 dusis onmogelijk om op tijd op 1sec.De enige AT89S52 WDT time-out op 16ms.Als je wilt hebben 1sec time-out, kijk op de AT89S8253 apparaatdie de prescaler als de AT89S8252 apparaat heeft.Datasheet beschikbaarop onze website:www.atmel.com/products/8051Groeten,ATMEL 8051 Microcontroller ApplicatiesUSADus thats it, 16ms en niet meer op de S52.

Bedankt iedereen voor de antwoorden.Met vriendelijke groet,

MR.Cube

 
Ik moest mijn ontwerpen een keer vanwege deze domme eigenschap van de 89S52, ths WDT heeft een maximale timeout van 16ms, in plaats daarvan gebruikte ik 89C51RD2, die kan tot en met 2.09 sec voor een WDT time-out.

 
Dus dit betekent dat iedere 15uS van mijn code ik nodig heb om te schrijven:

WDTRST = 0x1E;
WDTRST = 0xE1;

Zoals
/ * Een deel van mijn codering * /
WDTRST = 0x1E;
WDTRST = 0xE1;
/ * Een ander deel * /
WDTRST = 0x1E;
WDTRST = 0xE1;
.
.
.

Ik vraag dit omdat ik ben S52 gebruikt om een modem iterface en een tracking systeem, dus ik heb een vertraging code van ongeveer 15 seconden.Hoe gebruik ik waakhond in dit geval?
Kan ik schrijf WDTRST = 0x1E; WDTRST = 0xE1; in mijn vertraging lus en in een ander deel van mijn code?

Thanks =)

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top