ELEKTRO FORUM

Elektroforum
It is currently December 3, 2008, 9:52 pm

All times are UTC





Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: 8051 / Interrupts
PostPosted: 2004-09-01 08:57:28
Online
Registered User

Joined: 2004-09-01 08:57:28
Liebe Kollegen,

zu den Interrupts des 8051 hätte ich da mal eine (vielleicht blöde)
Frage:

Anscheinend hat der 6 Interrupts, zwei externe, vier interne (drei
Zähler/Timer, einmal Serielle Schnittstelle).

Wenn ich nun die zwei externen benutze, mir hierfür selbst in der ISR
eine Zählroutine schreibe (also keinen Zähler verbrauche), gehe ich
dann recht in der Annahme, dass ich noch die drei Timer frei hab?

Generell quasi: wieso macht man das nicht immer so? Wieso koppelt man
manchmal externe Interrupts an Timer und verschenkt diese?


Danke und Grüße

Tilo

-
http://wwwiaim.ira.uka.de


Top
 Profile
 
 Post subject: 8051 / Interrupts
PostPosted: 2004-09-01 19:58:47
Online
Registered User

Joined: 2004-09-01 19:58:47
Tilo Gockel schrieb:

> zu den Interrupts des 8051 hätte ich da mal eine (vielleicht
blöde)
> Frage:
>
> Anscheinend hat der 6 Interrupts, zwei externe, vier interne (drei
> Zähler/Timer, einmal Serielle Schnittstelle).
>
> Wenn ich nun die zwei externen benutze, mir hierfür selbst in der ISR
> eine Zählroutine schreibe (also keinen Zähler verbrauche), gehe
ich
> dann recht in der Annahme, dass ich noch die drei Timer frei hab?
>
> Generell quasi: wieso macht man das nicht immer so? Wieso koppelt man
> manchmal externe Interrupts an Timer und verschenkt diese?

Weil das Rechenzeit kostet und somit auch die Zählgeschwindigkeit
stärker begrenzt ist als wenn Du einen autarken Counter benutzt
der erst bei erreichen bestimmter Zustände bzw. zum Auslesen
Rechenleistung benötigt.

Die Interruptroutinen sollten immer möglichst kurz sein sonst kommst Du
bald nicht mehr hinterher die Interrupts auch abzuarbeiten. Dann kann
der Stack überlaufen und Dein Programm abstürzen.

Gerald


Top
 Profile
 
 Post subject: 8051 / Interrupts
PostPosted: 2004-09-01 18:07:14
Online
Registered User

Joined: 2004-09-01 18:07:14
In article <3589ed0e.0409010757.30c2ea5c@posting.google.com>,
tilo.gockel@web.de (Tilo Gockel) writes:
>
> Anscheinend hat der 6 Interrupts, zwei externe, vier interne (drei
> Zähler/Timer, einmal Serielle Schnittstelle).
>
> Wenn ich nun die zwei externen benutze, mir hierfür selbst in der ISR
> eine Zählroutine schreibe (also keinen Zähler verbrauche), gehe
ich
> dann recht in der Annahme, dass ich noch die drei Timer frei hab?

Das stimmt. Allerdings verlierst du deine externen Interrupts und Rechenzeit.
Zusätzlich fängst du dir jitter auf der ensprechenden Interruptebene
ein
und brauchst eine externe Taktquelle.

> Generell quasi: wieso macht man das nicht immer so? Wieso koppelt man
> manchmal externe Interrupts an Timer und verschenkt diese?

Wer macht denn sowas. Jeder Timer hat seinen eigenen Interrupt.
Manchmal mißbraucht man vieleicht einen Timereingang um einen
zusätzlichen
externen Interrupt zu bekommen, aber andersrun eigendlich kaum.


--
MFG Gernot


Top
 Profile
 
 Post subject: 8051 / Interrupts
PostPosted: 2004-09-01 21:45:58
Online
Registered User

Joined: 2004-09-01 21:45:58
Tilo Gockel schrieb:

> [Interrupts]

> Wenn ich nun die zwei externen benutze, mir hierfür selbst in der ISR
> eine Zählroutine schreibe (also keinen Zähler verbrauche), gehe
ich
> dann recht in der Annahme, dass ich noch die drei Timer frei hab?

Zwei (echte) beim Ur51er

> Generell quasi: wieso macht man das nicht immer so? Wieso koppelt man
> manchmal externe Interrupts an Timer und verschenkt diese?

Weil die Timer als Zähler schneller sind als Softwareschleifen? Weil man
den Timer zufällig eh für nichts anderes braucht? Weil der Prozessor
besseres zu tun hat als interruptgetriggert (= großer Overhaed wegen
Register retten) eine blöde Zählschleife zu in- oder decrementieren
und
abzufragen? Weil die Ext. Interruptpins bereits belegt sind? Weil das
Routing der Leiterplatte einfacher ist?

Such dir was aus, die reale Welt ist nicht schwarzweiß ;-)


Gruß

Uwe


Top
 Profile
 
Post new topic Reply to topic  [ 4 posts ] 

Who is online

Users browsing this forum: Julien Thomas <julien.thomas@kielnet.net>,sailcamREMOVE@gmx.de (Andreas Schmidt),Georg Sauthoff <g sauthoff@web.de>,vandenprinsgeenkwade@hotmail.com (J Kranenborg),Marc Fehrenbacher <quiclic127.invalid@gmx.de>,"Michael A. Terrell" <mike.terrell@earthlink.net>, 4 guests, chrzanów agd liczarka kredyt konsolidacyjny East Midlands Airport Parking imprezy integracyjne roll up smieszne gametec ubezpieczenie samochodu


New posts New posts    No new posts No new posts    Announce Announcement
New posts [ Popular ] New posts [ Popular ]    No new posts [ Popular ] No new posts [ Popular ]    Sticky Sticky
New posts [ Locked ] New posts [ Locked ]    No new posts [ Locked ] No new posts [ Locked ]    Moved topic Moved topic
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group