helpen met real-time klok

S

shaneelal

Guest
Ik weet niet veel over real-time clocks.I 'm te gebruiken in een project samen met een PIC18f452.Het apparaat zal continu gevoel een meting en hebben opgeslagen, de real-time klok moet sturen een interrupt aan de PIC elke 2 seconden.Als de onderbreking optreedt, moet de PIC zendt de meting met behulp van rs232.
Wat is de simplist manier om dit te onderbreken optreden.Ik ben met behulp van mc18 compilier. Ik
ben ook niet zeker weet hoe te zenden als de interrupt optreedt. Elke hulp wordt gewaardeerd.

 
Voor deze toepassing PIC kan genereren 2, tweede interval door zelf met behulp van interne timer, maar indien u gebruik wenst te maken van externe RTC kunt u DS1307/1377 van Maxim.
(Http://pdfserv.maxim-ic.com/en/ds/DS1307.pdf)
Dit apparaat kan het genereren van interrupts per seconde, zodat u moet rekenen op 2 voor 2, tweede onderbreken.
Op onderbreken moet je rekening gegevens van zuivere memeory en stuur het via RS-232 driver ..

 
Hoi,

RTC DS1302 van MAXIM / Dallas is ook goed en Philips I2C PCF8583.

 
Philips PCF8593 is beter.
een andere manier gebruik microcontroller met kristal 32768
u kunt gebruiken PIC16F84A of 89C2051.
Voor meer informatie ga naar:
http://chaokhun.kmitl.ac.th/ ~ kswichit /

 
Kunt u mij vertellen in detail hoe de PIC kunt zelf elke 2 seconden.Andere dingen moeten continue te gaan tot aan de interrupt optreedt.Als de onderbreking optreedt, de pic zal de laatst opgeslagen waarde, die gewenst is te zenden.Ik gebruik timer0 en timer1 voor het uitvoeren van operaties in mijn code.

 
Gebruik de timer / teller register van de PIC en zal er een interrupt om de overloop.

 
hoi,
om een 1 sec onderbreken ..voor ur 18F452 (het bedrijfsresultaat freq is 40Mhz rite?)
Als dat het geval is ..met behulp van timer1 die 16 bits, een overflow zal 6.5ms met een prescalar van 1.deze kunt u een register bij te houden over looping voor Ard 153 keer ..Elke overflow zal cuz een interrupt ..Dus toen hij telt tot 153 keer ..Vervolgens zal het spul u wilt.Als u wilt dat een 2 sec onderbreken, lus voor 2 * 153 keer.

1 / (2 ^ 16 * 100n) = 153

hpe het helptToegevoegd na 2 minuten:eek:h ja,
vergeet dan niet te houden ur interrupt service routine zo kort als mogelijk is ..
bij voorkeur in de ISR alleen heldere ur interrupt vlag n decrement het tellen ..

 
hoi,

U kunt Dallas DS3107 RTC.Het kan worden geconfigureerd voor outputing 1Hz vierkante golf op een van de pinnen.Het werkt op I2C protocol.U kunt dit saure golf 2 een timer of een interrupt pin op PIC.In ISR U kunt voor 2 sec met behulp van eenvoudige variabele.Als twee seconden r ovr dan u kunt beginnen met de seriële overdracht.

Als ur behulp RTC net te krijgen 1Sec onderbreken en heeft geen andere functie, en als Timer1 OSC pinnen van ur PIC18F452 r free.then u verbinding kunt maken 32.678Khz kristal op Timer1 OSC pinnen (dezelfde manier gebruiken we kristallen voor de kapitein OSC., Maar met 20PF GLB).
en het laden timer1 met 0x8000 geeft u onderbreken op elke 1sec.Dat u mei elliminate ur RTC ook.

Configureer TIMER 1 VOOR OSC externe bron.
Met vriendelijke groet.

 
Hi ..Ik heb wat moeite met DS1307 ..Ik bouwde een klok en ik schrijf software voor het lezen van DS1307 over elke seconde ...Ik vond dat de tijd is niet juist wanneer werken ongeveer een dag ..tijd zal langzamer ongeveer 1 minuut ..Ik denk omdat ik lees uit DS1307 elke seconde ..IF I lezen elk uur het werkt beter ..Maar ik moet met elkaar klok elke seconde ..Elke sugest voor algorithym of enige manier om het nauwkeuriger

 
hope u gemaakt ontwerp niet met veel weerstand of hoge waarden, om de macht saving.second punt is voor de timing.
indien haar zo nodig kan een truc zou werken?

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />
 
Citaat:

Hi ..
Ik heb wat moeite met DS1307 ..
Ik bouwde een klok en ik schrijf software voor het lezen van DS1307 over elke seconde ...
Ik vond dat de tijd is niet juist wanneer werken ongeveer een dag ..
tijd zal langzamer ongeveer 1 minuut ..
Ik denk omdat ik lees uit DS1307 elke seconde ..
IF I lezen elk uur het werkt beter ..
Maar ik moet met elkaar klok elke seconde ..
Elke sugest voor algorithym of enige manier om het nauwkeuriger
 
Ik
ben het bouwen van een apparaat dat maatregelen wirespeed.I ben met behulp van de output van een as-encoder als input van peulvruchten voor PIC.I ben met behulp van timer0 tot tijd 100 pulsen.Timer1 zal tellen de pulses.The snelheid wordt dan calculated.I ben om deze snelheid elke 2
seconden wirespeed metingen worden lopende alleen stoppen om de wirespeed.Ik weet niet hoe ik kan gebruiken een andere timer voor het creëren van een interrupt om de 2 seconden en nog steeds houden timming 100 pulsen en het berekenen van de snelheid.

Ik ben met behulp van de M41ST85Y real-time klok. Ik wil gewoon een onderbreken van deze klok elke 2 seconden. Ik ben met veel moeite begrijpen van de C-code om dat te doen task.I ben met behulp van mplab C18-compiler.
Al heb ik tot nu toe is dit

Code:

/ / configure I2C

OpenI2C (MASTER, SLEW_OFF);

SSPADD = 9 / / 400kHz Baud klok (9) @ 16MHz

/ / 100kHz Baud klok (39) @ 16MHz
 
Hoi,

ok, ik
zal proberen enkele Ofer helpen, maar I dont know 18f en I dont know C!

De RTC-chip die u gebruikt lijkt een beetje OTT voor uw gebruik.Maar eigenlijk, als je eenmaal de macht over de RTC, moet beginnen met tellen, en vaak RTC-chips zal puls op een van hun ppins elke seconde cant maar ik zie geen verwijzing naar een dergelijk gedrag op deze bijzonder een - niet dat het
doesnt bestaan.Wat u moet doen is het lezen van de RTC geheugen - net als u het lezen van een van haar geheugen.De onderste 4 bits van het adres waarde 0x01 zijn de seconden.Ik heb nog nooit gebruikt deze chip, vond ik een notitie maar
doesnt ga naar pagina 134!dus ik neem haar een andere dan je hebt, die ik gevonden is http://katalog.elektroda.net/download.php?id=44521.Om te kunnen lezen moet u weten hoe om te lezen I2C, kan ik na een aantal generieke voorbeeldcode in vergadering voor 16 septies serie maar I dont weet wanneer dat zal je helpen.U noemt een "EEByteWrite functie", heeft dit Schrijf I2C of PIC EEPROM?als het I2C, dan ga ik ervanuit dat je ook een lees-functie?
Als ik jou was,
zou ik waarschijnlijk bin de RTC en gewoon gebruik maken van een vertraging in uw programma.Hier is de code die geven een 2 seconde vertraging voor een PIC draait op 4MhzCode:

cblock

d1

d2

d3

endc; 1999996 cycli

movlw 0x11

movwf d1

movlw 0x5D

movwf d2

movlw 0x05

movwf d3

Delay_0

decfsz d1, f

goto $ 2

decfsz d2, f

goto $ 2

decfsz d3, f

goto Delay_0; 4 cycli

goto $ 1

goto $ 1----------------------
 
hoop dat dit helpt
http://www.winpicprog.co.uk/pic_tutorial_i2c_clock_board.htm<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />
 
hai

dit werkt voor ds1337 rtc met zeven segment display pic
16f877
het zal zijn om u
druk op me geholpen knop
Sorry, maar je moet inloggen om dit onderdeel te bekijken koppelingseisen

 

Welcome to EDABoard.com

Sponsor

Back
Top