Sida 2 av 3
Postat: 19 oktober 2007, 20:52:28
av Icecap
Tyvärr är de inte speciellt exakta heller...
Postat: 19 oktober 2007, 21:12:14
av blueint
Kanske denna är en möjlighet (se bilden på NIST mini klocka):
http://en.wikipedia.org/wiki/Atom_clock
Eller någon GPS modul.
Trodde förresten att 32 kHz kristallerna var exakta eftersom syftet med dom är att driva en klocka..
Postat: 19 oktober 2007, 21:12:33
av squiz3r
Icecap: Jaha, jag trodde att om man hade den på prescale 1:1 så räknade den alla vad det nu heter, så man bara skulle dela den på fyra om man körde med prescale 1:4.
Då blir det till att räkna om.
Mvh
Postat: 19 oktober 2007, 21:15:50
av squiz3r
blueint: Varför GPS-modul?

Postat: 19 oktober 2007, 21:18:33
av Icecap
Inbakad i GPS-datan finns en exakt tidsangivelse också...
Postat: 19 oktober 2007, 21:21:18
av squiz3r
Känns som lite onödigt

Då är det ju lättare (och billigare) med radio klocka eller vad det nu heter (från sändaren i tyskland(?)) för den är ju också rätt exakt
Mvh
Postat: 19 oktober 2007, 21:25:58
av squiz3r
Får se, om jag har tänkt rätt denna gången. En 4,194304MHz kristall:
4 194 304 / 65536 = 64 / 4 = 16
Vilket betyder att om jag kör prescale på 1:1 så kommer det blir 16 interrupt per sekund. Men om jag då sätter prescale för timer1 på 1:8 så kommer jag bara få 2 interrupt per sekund. Vilket betyder att varranan gång ska sekund variabeln öka.
Nu har jag tänkt rätt hoppas jag?
Mvh.
Postat: 19 oktober 2007, 21:28:10
av Icecap
Verkar helt rätt.
Och radio-klockan från Tyskland är just DCF77 som jag skrev tidigare...
Postat: 19 oktober 2007, 21:30:18
av squiz3r
Icecap: Jepp, det var så namnet var!

Hade en tillfällig minnesförlust trots att jag precis läst det
Då blir det till att skaffa en sån kristall!
Mvh.
Postat: 19 oktober 2007, 22:37:30
av squiz3r
hmm.. Jag har kollat lite i denna tråden:
låång url... Och här (på sidan 2) fattar jag det som att han har en 32,768KHz kristall som han räknar upp timer1 med och när han kör prescale på 1:1 så blir det interrupt varannan sekund. Och det skulle ju betyda att timern räknar alla och inte bara var fjärde "slag" från kristallen som du sa Icecap? Eller har jag missuppfattat något??
(32 768Hz / 65536 = 0,5 interrupt per sekund = ett interrupt varrannan sekund).
Tacksamm för all hjälp och alla förklaringar!

Mvh.
Postat: 19 oktober 2007, 22:51:04
av thepirateboy
Kan inte PIC men som det ser ut i databladet så är input till Timern FOSC/4 eller om extern klocka används 1/1 (Figur 6-2 i databladet).
Postat: 20 oktober 2007, 03:33:09
av Marta
Varför göra det enkla svårt?
Räknaren i min kod fungerar så att istället för att bara ställa den till ett heltal så finns det i det här fallet tre bytes till "nedanför" heltalsdelen som ju räknas ned som vanligt. När denna kommer ner så istället för att bara stoppa in ett 1-bytes heltalsvärde så adderar man in ett 4-bytes värde i den. När de tre decimalbytes genererar en carry så kommer heltalsdelen att ökas med 1. Däremd kommer räknaren att dela med ett tal som varierar. Medelvärdet blir exakt. Med t.ex. 9.5..... Hz så ser man inte på sekundsiffran ifall den delar med 9 eller med 10.
För att räkna ut talen för decimalbytes så tar man bort heltalsdelen på önskad divisor och multiplicerar med 256. Upprepa för det antal decimalbytes som används.
Det fina som ännu ingen har kommenterat är att man kan ställa klockan i mycket små steg utan att dribbla med en trimkonding.
Som instrument används en vanlig klocka som går exakt, t.ex. text-TV. Mäter man över en månad för slutjusteringen och kan mäta med 1 sekunds noggrannhet så någ man antagligen den noggrannet som kristallen medger.
Postat: 20 oktober 2007, 06:23:49
av persika
I Martas exempel ovan är det flera instruktioner jag inte känner igen, vad betyder dom ?
DSZ, RTS, LOD, ISZ....
Postat: 20 oktober 2007, 06:47:41
av Marta
DSZ = Decrement Skip if Zero
RTS = ReTurn from Subroutine
LOD = LOaD
ISZ = Increment Skip if Zero
Det är inte standard PIC-assembler, utan min egen assemblator som bygger på koderna för 6502. Den kan hantera 65(C)02, 8086/88, V20 och PIC16/18.
Postat: 20 oktober 2007, 07:01:32
av persika
En egen assemblator.. intressant, är det inte svårt att få den att funka för olika processorer ? Intruktionerna är så olika...
För länge sen, "på stenåldern", gjorde jag en assembler för Z80