58
Mikrocontroller (Fach) / alle (Lektion)
alle
Diese Lektion wurde von Troxor27 erstellt.
Diese Lektion ist leider nicht zum lernen freigegeben.
Anzeige
- Welche „Verarbeitungsbreiten“ sind bei heutigen Mikroprozessoren (z.B. im PC-Bereich) gängig 32 bit bzw. 64 bit
- Im Zusammenhang mit Computern wird auch gerne das „Mooresche Gesetz“ (Moore's Law) erwähnt. Was besagt bzw. prophezeit es ? Innerhalb von 18 Monaten steigt die Anzahl der Transistoren auf einem Chip gleicher Größe um 50 %
- Ein heutiger Mikroprozessor verfüge über 5 Millionen Transistorfunktionen. Mit wieviel Transistorfunktionen – nach Moore's Law – ist in einem Jahr zu rechnen ? 7,5 Millionen (?)
- Was sind die Unterschiede zwischen Mikroprozessor und Mikrocontroller ? Erörtern Sie ausführlich! Mikroprozessor ist die CPU eines Mikrocomputers, dazu gehören Ein Ausgänge, RAM, ROM, A D Wandler, Timer, serielle Schnittstelle Mikroprozessor: Flexibilität, hohe rechenleistungMikrokontroller: geringe kosten, geringe größe geringer Stromverbrauch
- Mit welcher Marktausrichtung werden Mikroprozessoren entwickelt ? Nennen Sie Geräte, in den ein Mikroprozessor verwendet wird und begründen Sie Ihre Antwort! Flexibilität, hohe RechenleistungPC, Server
- Mit welcher Marktausrichtung werden Mikrocontroller entwickelt ? Nennen Sie einige Geräte, in denen ein Mikrocontroller verwendet wird und begründen Sie Ihre Antwort! Kostengünstig, klein, stromsparendOszilloskop, Raumfahrt, Medizinische Geräte, Smarthome, Paketverfolgung, Autoelektronik, embedded Systems, Smartwotsch, Guhgel Glasses, Smartfone
- Nennen Sie Geräte (mind. 10), in denen Mikrocontroller zum Einsatz kommen. Warum verwendet man in diesen Geräten Mikrocontroller und keine Mikroprozessoren ? Oszilloskop, Raumfahrt, Medizinische Geräte, Smarthome, Paketverfolgung, Autoelektronik, embedded Systems, Smartwatch, Google Glasses, Smartphone ....
- Was war Ihr erstes Gerät, in dem sich (wahrscheinlich) ein Mikrocontroller befunden hat ? Begründen Sie Ihre Antwort / Vermutung ausführlich! Wecker, Babyphone, Grußkarte mit Sound
- Welche typischen Funktionseinheiten vereint ein Mikrocontroller ? Erklären Sie Funktion und Aufgabe der einzelnen Einheiten! Mikroprozessor, RAM, ROM, Input, Output, Oszillator, Timer, DAC, ADC
- Wofür steht die Abkürzung CPU ? Welche Aufgabe hat eine CPU ? Wofür steht die Abkürzung ROM ? Erklären Sie die Eigenschaften von einem ROM! Wofür steht die Abkürzung RAM ? Erklären Sie die Eigenschaften von einem RAM! CPU: Central Processing unit, arithmetische Rechnung ROM: Read only memory, nur während der Laufzeit lesbar RAM: Random Access Memory: Kann während der Laufzeit beschrieben werden, löscht sich bei Spannungsabfall
- Anzeige
- Wofür können Timer bzw. Counter bei einem Mikrocontroller verwendet werden ? Geben Sie mindestens ein Beispiel an! Interrupts, Zeitfunktionen, Verzögerungen, Zählfunktion
- Wozu dienen digitale I O Ports bei einem Mikrocontroller ? Geben Sie ein Beispiel an! - Einbinden von Peripherie, Kommunikation mit Speichernzum Beispiel:- Meldeleuchte, Sensor
- Die Auswahl des richtigen Mikrocontrollers für eine Anwendung kann komplex sein. Hierbei sind sowohl technische wie auch wirtschaftliche Aspekte zu berücksichtigen. Nennen und erörtern Sie die wichtigsten technischen und wirtschaftlichen Auswahlkriterien für einen Mikrocontroller! Leistungsaufnahme, Verfügbarkeit, Preis, Bauformen, Stromverbrauch, Bitbreite, Speicher, Programmiersprachen, Taktzahl
- Wieso kann die Leistungsaufnahme eines Mikrocontrollers ein ganz entscheidendes Auswahlkriterium sein ? Beschreiben Sie eine Anwendung! Möglichkeit, kleinere Akkus zu produzieren für mobile Geräte
- Eine seit über 30 Jahren bestehende Mikrocontroller-Familie ist die von INTEL entwickelte 8051-Reihe. Was kann ein Entwickler heute erwarten, wenn er einen solchen Mikrocontroller verwendet? Es sind gute Evaluäschion Boards, viel vorhandenes Wissen und genügend Händler verfügbar, die diese Art von Controllern liefern. Der 8051 wird stetig weiterentwickelt und ist heute sogar dazu in der Lage per USB zu kommunizieren.
- Die Firma Silicon Labs entwickelte auf Basis der MCS-51 die modernere CIP-51 Familie. – Nennen die den Hauptvorteil der neueren CIP-51 Reihe. Durch eine zusätzliche Pipeline können der A L U Operanden optimiert zugeführt werden. (ALU: arithmetisch logic apparant)
- Wofür steht die Abkürzung MIPS ? Wozu wird „MIPS“ verwendet ? - Million Instructions Per Second- Eine Maßeinheit für die Leistungsfähigkeit einer CPU
- Würde ein Programm, welches ursprünglich für die MCS-51 Familie geschrieben wurde, ohne weitere Bearbeitung auch auf einem Controller der CIP-51 Reihe funktionieren ? Was müsste ggf. beachten bzw. angepasst werden ? (?)
- Die 8051-Controller unterstützen 16-Bit Adressen. Wieviel Speicher (in kBytes) lässt sich damit adressieren ? Wie berechnet sich die Speichergröße, wenn die Anzahl der Adressleitungen gegeben ist ? Geben Sie ein Beispiel für den Fall, ein Mikrocontroller habe 14 Adressleitungen. 16Bit = 2 hoch16Bit Speicher = 64 kiloByte. Um die Speichergröße anhand der Leitungen zu berechnen, wird folgende Formel genutzt: 2 hoch die Anzahl der Adressleitungen. Bei 14 Adressleitungen sind dies etwa 16kiloByte.
- Wieviele Adressleitungen werden benötigt, um 1 MByte Speicher zu adressieren ? 20 leitungen, denn,2 hoch 20 = 1MegaByte
- Der C8051F020/21 besitzt 64 kBytes internen Flash-Speicher. – Wozu wird der Flash-Speicher verwendet Flash Speicher = Programmspeicher
- In einem C-Programm finden Sie die Zeile const unsigned char code LUT[3] = { 1, 2, 3 }; In welchen Speicherbereich werden die Werte 1, 2 und 3 abgespeichert ? (?)
- Ist die nachfolgende Deklaration sinnvoll ? Begründen Sie Ihre Antwort! int code summe; (?)
- Benötigen Sie in jedem Fall einen externen Speicher, um den C8051F020/21 Mikrocontroller zu betreiben ? Begründen Sie Ihre Antwort! Nein, da der 8051 einen internen Flash Speicher besitzt.
- Sie möchten das Ihr Autoradio die Sendereinstellungen, auch bei abgeklemmter Batterie, nicht „vergisst“. – Welche Art von Speicher sollten Sie verwenden ? Flash Memory
- Welche „Werkzeuge“ (Hard- und Software) benötigen Sie, um Programme für Mikrocontroller zu entwickeln ? Eine Entwicklungsumgebung, einen C-Compiler, einen Linker (meist im Compiler enthalten) und nach Möglichkeit einen Debugger bzw. ein Evaluäschion Board.
- Was wird innerhalb der ToolStick-Umgebung im „Disassembler-Fenster“ angezeigt ? Im Dissassembler wird der aktuelle Befehl in Assembler angezeigt.
- Beschreiben Sie, wie ein übersetztes Programm auf den Mikrocontroller übertragen wird. Connect Button -> Download button
- Sie können Mikrocontroller in Assembler oder in einer Hochsprache, z.B. in C entwickeln. Nennen Sie Vor- und Nachteile einer Assembler- bzw. C-Entwicklung. C ist wesentlich angenehmer und einfacher zu programmieren. Programme in C können nachvollziehbar aufgebaut werden. Assembler hingegen artet meist in sehr lange und unübersichtliche Quelltexte aus. Der Vorteil von Assembler liegt in der Maschinennahen Programmierung, was erlaubt, sehr genau und Zeitkorrekt zu programmieren.
- Hat die Programmierung in Assembler heute überhaupt noch eine Bedeutung ? Nennen Sie zwei Beispiele, in denen heute und auch in Zukunft noch Assembler-Wissen nötig ist. Um Zeitrelevante Programme zu verfassen Einige Microkontroller können nur im Assembler programmiert werden
- Anzeige
- Sie möchten eine ganz bestimmte Befehlssequenz in Ihrem Programm erzeugen. – Verwenden Sie hierzu einen Assembler oder einen Compiler ? Begründen Sie Ihre Antwort ausführlich! Da es sich um eine ganz bestimmte Sequenz handelt, wird man in Assembler programmieren wollen. Deshalb benötigt man zum übersetzen auch einen Assembler.
- Im Praktikum wurden bei der Programmentwicklung die beiden Include-Dateien compiler_defs.h und C8051F020_defs.h eingebunden. Weshalb wurde dies gemacht ? Wofür sind die beiden Dateien wichtig ? compiler_defs.h enthält vom compiler abhängige Funktionen und Macros. Der c8051f020_defs.h enthält Deklarationen für das Short Function Register.
- Warum enthält ein typisches Mikrocontroller-Programm eine Endlosschleife ? Ein Mikrocontrollerprogramm ist in der Regel dazu gedacht, eine bestimmte Funktion innerhalb einer elektronischen Schaltung zu erfüllen. Der Controller soll also genauso lang laufen wie die Schaltung. Dazu wird das Programm in eine Endlosschleife gelegt. Dann hört das Programm erst auf zu laufen, wenn der Controller von der Betriebsspannung getrennt wird.
- Sie möchten Ihr Mikrocontroller-Programm für die Fehlersuche an einer bestimmten Stelle im Programm anhalten. – Welche Möglichkeit(en) bieten sich dazu an Durch setzen eines Breakpoints (rechte Maustaste in der entsprechenden Zeile) kann das Programm an einer bestimmten Stelle gestoppt werden.
- Wie können Sie bei dem C8051F020/21-Mikrocontroller Peripherie-Komponenten (z.B. die I/O-Ports) ansprechen ? Den entsprechenden Code zu Konfiguration, kann das sogenannte „Wissard Tool" erzeugen. Weiterhin kann mit #define SW1 0x01 zum Beispiel der erste Switch SW1 genannt werden, um ihn später mit Befehlen wie NOT(P5&SW1) auszulesen.
- Wofür steht der Datentyp „sfr“ ? Wozu wird er verwendet ? SFR hat 8 Bits bzw. ein Byte und kann Werte von 0 bis 255 speichern. Er wird von der c8051f020_defs.h verwendet, um Adressen des SFR direkt sinnvolle Namen zu geben. So muss sich der Programmierer beispielsweise nur WDTCN anstatt 0xFF merken. Deklariert wie folgt: SFR WDTCN = 0xFF;
- Wie wird in einem C-Programm der Port 0 (P0, Adresse 80hex) deklariert SFR P0 = 0x80;
- Warum und in welchen Fällen ist es praktisch, Zahlenwerte in hexadezimaler schreibweise zu verwenden hex ist kürzer und übersichtlicher als Binär, da mit hex 4 Binärzahlen auf eine Stelle gekürzt werden können.
- Was bewirkt der C-Befehl P0 = 0xB3; ? Man muss P0 jetzt nicht mehr über 0x3B ansprechen, sondern über P0
- Schreiben Sie den hexadezimalen Wert AAhex in dezimaler und binärer Darstellung auf! (?)
- Welchen Wert hat die Variable E nach Ausführung der C-Programmzeile unsigned short E = 0x1234 + 0x4321 ? (?)
- An Port P5 des C8051F020 seien 8 LEDs verschaltet, die nach dem Einschreiben einer logischen 1 im entsprechenden Port-Bin leuchten. – Ergänzen Sie die nötige Befehls-Sequenz, wenn sie ein „Lauflicht“ programmieren möchten P5 = 0x01; P5 = 0x02; P5 = 0x04; P5 = 0x08 P5 = 0x10; P5 = 0x20; P5 = 0x40; P5 = 0x0;
- Welche Speicherzelle (dezimal) adressiert man mit der Adresse FFFFhex ? 65536
- Bei einigen SFRs kann jedes Bit auch einzeln angesprochen werden, z.B. bei Port P0. Welchen Vorteil bietet diese Bit-Adressierung ? kleinerer Speicherplatzverbrauch ( 1 bit )
- Port P0 ist bit-adressierbar; Port P5 aber nicht. – Bei beiden Ports soll der obere Port-Pin (Bit 7) auf log. 1 gesetzt werden. Die restlichen sieben PortPins dürfen dabei aber nicht verändert werden! Programmieren Sie beide Fälle in C. bit adressierbar:P0^7=1; nicht bit adressierbar:P5 = P5 + 64 ,
- Neben den aus C bekannten Datentypen erlaubt der C-Compiler von der Firma Keil auch noch die Verwendung weitere Datentypen. Welche sind das und wofür werden sie benötigt ? Geben Sie Beispiele an! bit, Sbit, SFR, SFR 16. Sbit müssen im Gegensatz zu bit Variablen global deklariert werden.
- Der externe Datenspeicher beim C8051F020/21 kann bis zu 64 kBytes groß sein. Wann ist es dennoch sinnvoll, den viel kleineren internen Speicher zu verwenden ? Der Zugriff auf den internen Speicher ist sehr schnell, dafür aber stark begrenzt (auf 256bytes).
- Sie möchten eine Schleife mit einer Index-Variable programmieren, die möglichst schnell durchlaufen wird. Welchen Datenspeicher (intern oder extern) und welche Adressierungsart sollten Sie dafür verwenden, wenn Sie einen Mikrocontroller der 8051-Familie einsetzen ? Begründen Sie Ihre Antwort! Direkte Adressierung, Interner Speicher. Die direkte Adressierung ist besonders schnell, weil innerhalb des Maschinencodes die Speicheradresse mit nur einem Byte direkt angegeben wird. Der interne Speicher ist ebenfalls schneller als der externe.
- Der Keil C-Compiler für den C8051F020/21 erlaubt es auch, Variablen in den Programmspeicher (Flash-Speicher) zu legen. In welchen Fällen kann das sinnvoll sein ? Geben Sie ein Beispiel dazu an! (?)
- In C besteht die Möglichkeit, eine Variable mit dem Schlüsselwort const als Konstante zu deklarieren. In welchen Fällen kann das sinnvoll sein ? Geben Sie ein Beispiel dazu an Mit Hilfe von code kann auf den Programmspeicher zugegriffen werden. Mit dem Aufruf LUT [1] kann dann schnell auf eine Zahl zugegriffen werden.