RTC DS1307 Interfacing met MCU 89S52

H

H_D_R

Guest
hallo allemaal ..Ik wil het signaal met behulp van DS1307 en MCU 89S52.en met de hulp van alarm Ik wil weer aan / uit-lampjes.Ik heb routines voor LCD 8-bits modus,
4x4 matrix toetsenbord.

nu wat moet ik nemen volgende stap voor de uitvoering van de klok en de weergave op het LCD ..?

can any one help me ..

Alle suggesties worden gewaardeerd.

Dankzij u allen op voorhand ...

PS: ik gebruik Vergadering Taal taal ..
Laatst gewijzigd door H_D_R op 07 maart 2008 13:13; bewerkt 2 keer in totaal

 
Ik kan het begrijpen van de I2C-routines voor RTC maar ik ben nog steeds verward voor de uitvoering van de klok.

can any one help me alstublieft ..

Ik heb een aantal threads betreffende RTC, maar nog steeds niet veel duidelijk ...!!?

door de manier wat watchdog timer.
kan ik gebruiken in mijn aanvraag ...???
Laatst gewijzigd door H_D_R op 04 februari 2008 11:19; bewerkt 1 keer in totaal

 
Omdat ik niet begrijp ASM taal, dus ik vertel je over waakhond.
Watchdog timer is een timer die stuurt een puls elke opeenvolgende keer.De vertraging kan worden ingesteld of bepaald door de gebruiker.
Microcontroller zal of apparaat dat verstuurd deze puls meldt een ander apparaat dat "Ik
ben levend en ok!".Bijvoorbeeld, een apparaat ontvangt een waakhond puls van een microcontroller iedere 1s.Wanneer het apparaat niet te hebben ontvangen,
dan stuurt de reset-signaal naar de microcontroller.Op deze manier, zal het systeem nooit hangen.

 
Ceko_Boy schreef:

Omdat ik niet begrijp ASM taal, dus ik vertel je over waakhond.

Watchdog timer is een timer die stuurt een puls elke opeenvolgende keer.
De vertraging kan worden ingesteld of bepaald door de gebruiker.

Microcontroller zal of apparaat dat verstuurd deze puls meldt een ander apparaat dat "Ik ben levend en ok!".
Bijvoorbeeld, een apparaat ontvangt een waakhond puls van een microcontroller iedere 1s.
Wanneer het apparaat niet te hebben ontvangen, dan stuurt de reset-signaal naar de microcontroller.
Op deze manier, zal het systeem nooit hangen.
 
Hoi,
Een kleine correctie met betrekking tot Watchdog Timer.Het is een timer die voortdurend worden veroorzaakt door de microcontroller met regelmatige tussenpozen om te voorkomen dat de productie van een output puls.Als de controller niet te doen vanwege haar programma verliest controle om wat voor reden, de pulsuitgang van de waakhond wordt gebruikt om de micro-, zodat de micro herstelt van zijn opknoping staat.Het is een circuit dat werkt als een waakhond op de goede werking van de micro.U mag of niet, gebruik het in uw applicatie.
Groeten,
Laktronics

 
laktronics schreef:

Hoi,

Een kleine correctie met betrekking tot Watchdog Timer.
Het is een timer die voortdurend worden veroorzaakt door de microcontroller met regelmatige tussenpozen om te voorkomen dat de productie van een output puls.
Als de controller niet te doen vanwege haar programma verliest controle om wat voor reden, de pulsuitgang van de waakhond wordt gebruikt om de micro-, zodat de micro herstelt van zijn opknoping staat.
Het is een circuit dat werkt als een waakhond op de goede werking van de micro.
U mag of niet, gebruik het in uw applicatie.

Groeten,

Laktronics
 
Ik gebruik RTC DS1307 en EEPROM AT24C02 - beide delen dezelfde I2C lijnen.

ja, hoe kan ik hen in codeing en gegevens overbrengen.??

 
Hoi,
Ok, je kunt een waakhond aan uw ontwerp.Dit kan gebeuren met behulp van een retriggerable monoshot die worden geactiveerd met behulp van een pin poort van de S52.In uw software, moet u ervoor zorgen dat u dit doet regelmatig binnen een vast interval van bijvoorbeeld 10 millisec.In dat geval ontwerp je een monoshot met een pulsbreedte> 10msec, zeg dan 15 msec.Wanneer de mono-uitgang gaat naar nul te wijten aan het falen van de CPU naar reactieprijs het genereren van een reset-puls voor uw CPU.

U kunt ook een waakhond met een teller een klok ingang.In dit geval gebruik van de CPU-poort pin to reset de teller op gezette tijden en moet de teller telt en overflow te allen tijde gebruik maken van de overflow uitgang te resetten van de CPU.

En om H_D_R,
maakt u gebruik van een extern adres andere dan'000 ', gereserveerd voor RTC om 24C02.
Groeten,
Laktronics

 
laktronics schreef:

Hoi,

Ok, je kunt een waakhond aan uw ontwerp.
Dit kan gebeuren met behulp van een retriggerable monoshot die worden geactiveerd met behulp van een pin poort van de S52.
In uw software, moet u ervoor zorgen dat u dit doet regelmatig binnen een vast interval van bijvoorbeeld 10 millisec.
In dat geval ontwerp je een monoshot met een pulsbreedte> 10msec, zeg dan 15 msec.
Wanneer de mono-uitgang gaat naar nul te wijten aan het falen van de CPU naar reactieprijs het genereren van een reset-puls voor uw CPU.U kunt ook een waakhond met een teller een klok ingang.
In dit geval gebruik van de CPU-poort pin to reset de teller op gezette tijden en moet de teller telt en overflow te allen tijde gebruik maken van de overflow uitgang te resetten van de CPU.En om H_D_R, maakt u gebruik van een extern adres andere dan'000 ', gereserveerd voor RTC om 24C02.

Groeten,

Laktronics
 
Hi H_D_R

Ik denk niet dat je een watchdog om de DS1307 werken.

Check figuur 4
en figuur 5 op de onderkant van de pagina 12 van de DS1307 datasheet.
De eerste byte is het adres van de DS1307 op de I ˛ C bus.
Als je wilt lezen / schrijven van / naar de DS1307 je altijd moeten sturen dat byte eerst.

Op de AT24C02 heb je drie pinnen A0 - A2 je een bepaalde adres.Sluit deze pennen op Vcc / GND, zodat u een ander adres dan dat van de DS1307.

Aangezien de 4 hoogste bits verschillend zijn in DS & AT, kunt u alle drie pennen op GND.
Op die manier krijg je:
adres 1010 000x voor de AT24C02
adres 1101 000x voor de DS1307

Duidelijk?Nr. ...vragen

 
hallo,

Can any one help me te begrijpen deze Paragraaf.Het is van RTC DS1307 Page No.8

Citaat:

are used to prevent errors when the internal registers update. When reading the time and date registers, the user buffers
are synchronized to the internal registers on any I2C START. The time information is read from these
"Bij het lezen of schrijven van de tijd en datum, registers, secundaire (gebruiker) buffers
worden gebruikt ter voorkoming van fouten bij het interne registers update. Bij het lezen van de tijd en datum registers, de gebruiker buffers
worden gesynchroniseerd met de interne registers op een I2C START. De time informatie is te lezen uit deze

secundaire registers, terwijl de klok blijft lopen.
Dit elimineert de noodzaak om opnieuw lees de registers in het geval de interne registers update tijdens een gelezen.
De divider keten wordt gereset wanneer de seconden register wordt geschreven.
Schrijf overdrachten plaatsvinden op de I2C erkennen van de DS1307.
Zodra de tussenstijl keten wordt gereset

rollover problemen te vermijden, wordt de resterende tijd en de datum registers moet binnen een seconde. "
 
Hoi,
Dit betekend alleen dat de tijd die je leest van de RTC is de tijd die aan het begin staat van I2C.Dit wordt gewaarborgd in de chip door een set van de gebruiker registreert die zullen worden bijgewerkt aan de hand van de feitelijke tijd tellen registers aan het begin staat.

Het lezen van een register, zoals het tijdstip tellen register dat veranderingen asynchroon met lezen signaal is anders altijd een probblem.Zie bijvoorbeeld het geval van de tijd registreren die een vlue van 12:59:59.en u zich snel na het lezen van minuten en seconden, een seconde puls is opgetreden bij de ingang en de timer register veranderd 1:00:00 waarde.Nu, als je leest het uur inschrijven, krijg je de totale lezing 1:59:59 dat is verkeerd.Om te voorkomen dat deze voorwaarde, de chip zorgt ervoor dat u alleen-lezen van de gebruiker buffer die niet zullen worden bijgewerkt in het midden van een lezing.
Ook tijdens het instellen van de tijd, je begint instelling seconde vanaf de klok doseertoestel keten voorsprong van 1 seconde pulsuitgang krijgt resetten zodat je een volledige tweede duur te laden andere keer cijfers vóór de volgende update optreedt.Hier bent u eigenlijk het laden van de lopende registers en niet een buffer register.
Groeten,
Laktronics

 
Kijkend naar figuur 1 wordt het blokschema op bladzijde 4 zie je drie blokken aan de rechterkant

bovenste blok: 56 bytes van het interne RAM-adres 08u tot 3Fh
middelste blok: 8 controle registers die worden gebruikt door de DS-adres 00u tot 07u
lagere blok: 7 zogenaamde "user-buffer"

Wanneer je leest van de DS, de gegevens van de 8 controle registers is gekopieerd naar de gebruiker buffer en je leest van die buffer.Kopiëren wordt gestart met de START-commando op de I ˛ C bus.

Wanneer u schrijven naar de DS, uw gegevens gaat eerst naar de gebruiker buffer, wanneer alle gegevens ontvangen is gekopieerd in de 8 controle registers.

Bottom line: maak je geen zorgen over, het
is alle interne zaken behandeld door de DS.

 
hallo,

can any one help me om deze twijfel.
Datahseet Ds1307 Page no: 11

Citaat:

Data-overdracht van een slaaf aan een master-zender-ontvanger.
De eerste byte (de slave-adres) wordt overgebracht door de kapitein.
De slave Vervolgens geeft een beetje toegeven.

Dit wordt gevolgd door de slaaf toezending van een aantal gegevens bytes. De kapitein geeft een beetje erkennen na alle ontvangen bytes, met uitzondering van de laatste byte.Aan het einde van de laatst ontvangen byte, een niet te erkennen wordt geretourneerd.

 
Check deze: http://www.sixca.com/micro/mcs51/rtc_51/
Hoop dat het geholpen

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />
 
mcs51mc schreef:

Check deze: http://www.sixca.com/micro/mcs51/rtc_51/

Hoop dat het geholpen
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />
 
Ik weet dat het C, maar met het vrije Keil C compiler kunt compileren en ontvang de ASM code uit het

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />
 
mcs51mc schreef:

Ik weet dat het C, maar met het vrije Keil C compiler kunt compileren en ontvang de ASM code uit het
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />
 
hallo iedereen,

kan een gelieve mij vertellen hoe kan ik het opslaan van de tijd-waarden in RTC ...???

Ik heb gelezen I2C en gegevensblad van RTC ook.

maar nog steeds beetje verward ..?

can any one help ...???

 
Hoi,
Het spijt me, ik zou hebben geadviseerd u deze eerder
hebt gemaakt, krijg je alles over 8052 op www.8052.com.U moet bezoek hun code afdeling, en ik ben er zeker van dat uw klok tikt moet me daar, kan je aan te melden bij het forum te gaan naar code sectie.
Groeten,
Laktronics

 

Welcome to EDABoard.com

Sponsor

Back
Top