Forum: Mikrocontroller und Digitale Elektronik 8bit-µC mit NMI?


von Michael (Gast)


Lesenswert?

hallo.

bin auf der suche nach einem 8bitter mit nicht maskierbarem interrupt.
er sollte außerdem >32 IOs haben und 32..64kB flash.
wer hat ideen?

gruß

michael

von Michael (ein anderer) (Gast)


Lesenswert?

Wozu ein NMI?

Nimm einfach einen Mikrocontroller Deiner Wahl, und schalte die
Interrupts eben nie ab; fertig ist der NMI.

Speicherschutz und Aufteilung in Super-Visor-Mode und Normal-Mode
gibt's sowieso nicht, daher gibt's natürlich auch kein NMI, da das
sinnfrei wäre.

von Rufus T. Firefly (Gast)


Lesenswert?

Naja, einen NMI hatten Prozessoren lange bevor es so Dinge wie den
Supervisormode oder irgendwelchen Speicherschutz gab. Das war bei den
alten 8-Bit-Prozessoren aus dem Protozoikum* recht normal.




*) Motorola 6800, 6502, Z80 und jeweilige Nachfolger

von peter dannegger (Gast)


Lesenswert?

Gegenfrage: wozu braucht man einen NMI ?


Wenn Du z.B. ein 8051-Derivat nimmst, weise einfach einem externen
Interrupt die Priorität 3 zu und allen anderen die Priorität 0..2 und
schon kann dieser Interrupt sämtliche anderen immer unterbrechen.

Natürlich darf dann im Hauptprogramm nirgends ein globales Disable
stehen.

Aber das ist auch kein Problem, nimm einfach einen unbenutzen Interrupt
und weise ihm die Priorität 2 zu.
Will nun das Main Sachen unter Interruptsperre ausführen (z.B. 1-wire)
setzt es einfach das Interruptflag dieses Interrupts und übergibt ihm
die unter Sperre auszuführende Routine.
Damit sind alle anderen Interrupts der Priorität 0..2 gesperrt, aber
der simulierte NMI (Priorität 3) weiterhin erlaubt.


Der AT89C51CC03 hat 64kB Flash und 37 IOs.
Der AT89C51RD2 hat 64kB Flash und 50 IOs.


Peter

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.