Hallo!
Im Rahmen meines Informatikstudiums werde ich demn=E4chst 8051- Controller zu programmieren lernen, zumindest ansatzweise. Fr=FCher habe ich mal auf einem 6510 (Commodore C64) Assembler programmiert und einen Z80 habe ich auch mal in Maschinensprache w=E4hrend meiner Schulzeit programmiert (man googlele mal nach "LC80").
Jetzt frage ich mich, welche Vor- oder Nachteile bzw. Unterschiede die einzelnen Prozessoren intern haben, welche werden wof=FCr eingsetzt? Mir geht es dabei um die Programmierung (Assembler, Maschinensprache), nicht um die externe Anbindung von Peripherie oder Hardware (IO, etc.). Kurzum: Gibt es irgendwo eine kompakte =DCbersicht mit den Unterschieden von Z80 und 8051 (und vielleicht auch noch 6502/6510)?
Hier in de.sci.electronics schrieb mal jemand, dass man f=FCr Lernzwecke besser einen 8051 nutzt, weil der im Vergleich zu einem Z80 nicht so viel externe Peripherie ben=F6tigt, aber wer einen angeblich einen vollst=E4ndigen Z80 (mit gesamter Peripherie) sein eigen nennt wird jeden 8051 wegschmei=DFen. Warum?
Was spricht eigentlich gegen Simulatoren f=FCr Z80 und 8051, um die Programmierung zu lernen?
Bei einigen Controllern mit 16-Bit-Adressbus wurde Bankswitching eingef=FChrt, um mehr als 64 kByte adressieren zu k=F6nnen. Mir ist sehr wohl klar was Bankswitching ist, nur verstehe ich nicht den Sinn weshalb ich einem Programm pl=F6tzlich den Programmspeicher (RAM) wegschalte um mehr Platz f=FCr was anderes zu haben. Wo ist mein Denkfehler? Oder wird einfach nur ein Teil des gesamten Speichers statt des ganzen Speichers umgeblendet?
Gibt es au=DFer dem Aufwand der externen Hardware-Anbindung (eine CPU kann ja allein gar nichts) noch andere relevante Unterschiede zwischen Microprozessoren und Microcontrollern?
Gru=DF Torsten