Nixie-klocka

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
kristoffer
Inlägg: 95
Blev medlem: 7 maj 2005, 22:16:53
Kontakt:

Inlägg av kristoffer »

karlstedt: Allt är relativt. Särskilt tid. Men det blir betydligt mer exakt än det som tidigare föreslagits som varit i stil med

Kod: Markera allt

while(true) {
  <massa kod>
  delay_ms(500);
}
eftersom man med den koden blundar för den tid som spenderas när processorn kör annan kod än den i delay-loopen.

Tanken med en klockkristall är att den med en kristalls (doh) nogrannhet räknar upp en (16-bitars) räknare, och triggar timerinterruptet vid varje overflow. Det blir iaf bra mycket noggrannare - vem tycker egentligen att en klocka som saktar sig 5 minuter i veckan är en klocka av värde?

/K
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

jo, jag är precis med på ditt resonemang om C-kodens svagheter... och svagheterna i tänket om att göra klockan på detta viset. Men man lär av misstagen ;)
Jag ville egentligen bara veta vad du hade för verklighetsuppfattning om vad "EXAKT" var :)
sorry, onödigt inlägg av mig.
själv skulle jag, som du säger, aldrig göra en klocka utan interrupt.. speciellt inte i C.
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

okej :)

interuppt alltså...
vilken timer ska man använda? det finns två i atmegan, timer/counter 1/2 båda delar samma prescaler...

man kan väl köra interupptet internt? för jag behöver inte ha den som utgång väl? utan det räcker med att den räknar åt mig?

och ska man använda prescaler? isåfall hur mycket ska signalen "delas ner"

klockan tror jag att jag "styr själv" alltså, inte med interuppt, utan genom att sätta porten hög och låg...


tänkte beställa komponenterna på måndag eller nått... då kan man börja experimentera lite mera...

börjat skissa på ett schema nu med :) ska bli spännande å se hur de går med detta :)
kristoffer
Inlägg: 95
Blev medlem: 7 maj 2005, 22:16:53
Kontakt:

Inlägg av kristoffer »

ATmega16/ATmega32 har två pinnar särskilt avsedda för klockkristaller. Dessa är PC6 och PC7, som också går under namnet TOSC1 och TOSC2. Häng en klockkristall, t.ex 74-530-04 från Elfa däremellan. Det står i manualen sedan hur du aktiverar oscillatorn, och en prescaler på 128 ger 1Hz i interruptfrekvens. Om det är vad du vill ha får du avgöra själv.

/Kristoffer
Skriv svar