Forum: Mikrocontroller und Digitale Elektronik wie Uhr ohne Timer-Interrupt?


von Anos B (Gast)


Lesenswert?

Ich möchte hier in einen Microcontroller eine Uhr mit 7segment-Anzeigen 
einprogrammieren. Diesmal kein Atmel, sondern ein PIC, weil der PIC von 
jemand anders so vorgegeben wurde.

Da der mit Abstand preiswerteste Smd-PIC keine Interrupts unterstützt, 
müßte ich etwas tricksen, wenn ich ein genaues Zeitsignal im 
Microcontroller von dem eigenen Quarz haben möchte.

Frage jetzt:
Wenn ich vorher durch einen Timer-Interrupt 255 mal in der Sekunde einen 
Zähler hochzählen lasse, und ich im neuen Microcontroller jetzt keine 
Interrupts mehr zur Verfügung habe, was mache ich dann, um in genauen 
Zeitabständen einen Zeitzähler hochzählen zu lassen? (weil der 
Programm-Code ja immer unterschiedlich lang ist) gar nix? geht es dann 
nicht mehr, oder hat jemand so was schonmal gemacht?

Ich suche ein ungefähres beispiel, wie man das einfach hinkriegen kann. 
es kann allgemein sein, ich suche nur nach einem prinzip.

Genauer gesagt ist es ein PIC 16F57, aber das beispiel kann ein 
allgemeines sein, kann auch von einem atmel, etc.. sein.

von Thomas B. (yahp) Benutzerseite


Lesenswert?

'n Mikrocontroller ohne Timer und Interrupts? Das ist ja wie im 
Mittelalter.

Edit: Naja, nen Timer hat die Rumpel doch, dann nutze diesen doch 
einfach.

von Peter D. (peda)


Lesenswert?

Anos B wrote:

> Da der mit Abstand preiswerteste Smd-PIC keine Interrupts unterstützt,

Ist das wirklich ernst gemeint, es soll tatsächlich MCs ohne Interrupts 
geben?

Warum baust Du die Uhr dann nicht gleich mit FFs aus Röhren-Trioden auf.

Also ich würde keine Sekunde darüber nachdenken, wie man nen MC ohne 
Interrupts programmiert. Das ist nur verlorene Lebenszeit, wo man 
sinnvolleres machen könnte.


> Ich suche ein ungefähres beispiel, wie man das einfach hinkriegen kann.
> es kann allgemein sein, ich suche nur nach einem prinzip.

Ich bin mir fast sicher, solche Beispiele gibt es nicht.


> Genauer gesagt ist es ein PIC 16F57, aber das beispiel kann ein
> allgemeines sein, kann auch von einem atmel, etc.. sein.

Es gibt keine AVRs ohne Interrupts.


Peter

von Anos B (Gast)


Lesenswert?

hm.. d.h., ich lese einfach den Timer direkt aus statt über einen 
Interrupt den Wert erhöhen zu lassen. ok..

von Mike (Gast)


Lesenswert?

Ich würde eine externe Echtzeituhr nehmen ;).

von Gast Posti (Gast)


Lesenswert?

Einen Schwingkreis mit einem Quarz, Frequenzteiler und mindestens eines 
der Signale zum µC.
Wobei, wenn man auf Sekundentakt runter geht, wird der µC mit seinem 
Berechnungen wohl fertig sein, bevor die nächste Flanke kommt.

MfG

von Falk B. (falk)


Lesenswert?

@Thomas B. (yahp) Benutzerseite

>'n Mikrocontroller ohne Timer und Interrupts? Das ist ja wie im
>Mittelalter.

Es ist ein PIC . . .

duckundwech

Falk

P.S. Mit dem PIC das machen zu wollen ist schon arg sportlich. Das Ding 
hat tatsächlich KEINE Interrupts, aber wenigstens einen 8 Bit Timer. 
Wenn man das klassisch mit Endlosschleife und Pollen des Timers macht 
bekommt man es hin. Nicht schön, aber geht.

von Nico (Gast)


Lesenswert?

Ich weiss nicht ob die zusätzlichen Schmerzen und Entwicklungskosten es 
wert sind af diesen einen PIC zu setzen. Ich weiss nicht in welchen 
Stückzahlen ihr euch da am ende bewegen wollt und was Du als Stundenlohn 
hast. Aber das sollte man abwägen, bevor man sich auf sowas einlässt.

von Thomas B. (yahp) Benutzerseite


Lesenswert?

> Es ist ein PIC . . .

An diesem Bauteil bestätigen sich die üblichen Vorurteile allerdings mal 
;-)

Reichelt will für so ein Ding 1,45. Dafür kann man auch Controller mit 
Interrupts haben.

von (prx) A. K. (prx)


Lesenswert?

Thomas B. wrote:

> 'n Mikrocontroller ohne Timer und Interrupts? Das ist ja wie im
> Mittelalter.

Mittelalter stimmt irgendwie. Die Architektur der 12bit PICs, zu denen 
auch dieses erlesene Exemplar gehört, entstand Mitte der 70er und hatte 
auch damals schon keine Interrupts. Da hat er sich ein lebendes Fossil 
ausgesucht. Die Cents die er sich darin spart kommen allenfalls in sehr 
grossen Stückzahlen wieder raus.

von Peter D. (peda)


Lesenswert?

Thomas B. wrote:
> Reichelt will für so ein Ding 1,45. Dafür kann man auch Controller mit
> Interrupts haben.

Man, ist der aber teuer.
Der ATtiny2313 kostet da nur 0,95€.


Peter

von Thomas B. (yahp) Benutzerseite


Lesenswert?

> Man, ist der aber teuer.
> Der ATtiny2313 kostet da nur 0,95€.

Eben, für das Geld kann man auch Tiny26 oder Mega8 haben. Aber der OP 
wurde ja offenbar zum PIC gedrängt. Ich kann mir aber nicht vorstellen, 
dass Interrupts bei Microchip unbezahlbar sind ;)

von (prx) A. K. (prx)


Lesenswert?

Nö, aber man muss 2 Bits mehr investieren. In die Breite.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.