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.
'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.
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
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
@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.
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.
> 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.
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.
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
> 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 ;)