Created by karl_herber
over 8 years ago
|
||
101. Was berechnet der Modulo-Operator (%)?
102. Berechnen Sie mit dem Modulo-Operator (%):
12 % 10 =
24 % 10 =
24 % 25 =
103. Sie möchten ein Programm schreiben, um eine 8-Bit Dezimalzahl als zweistellige HEX-Zahl auszugeben. Ergänzen Sie dazu die fehlenden Stellen im nachfolgenden C-Programm:
unsigned char dez = 123;
unsigned char hex[2];
hex[0]=
hex[1]=
104. Was ist das Ergebnis der oberen Aufgabe für dez = 123?
hex[0] = hex[1] =
105. Mit welchem Operator können Sie in C das Einerkomplement bilden? Geben Sie ein Beispiel dazu an!
106. Beschreiben Sie den Unterschied zwischen dem logischen UND (&&) und dem binären UND (&)! Geben Sie jeweils ein Beispiel an!
107. An Port P5 des C8051F020 sind 4 LEDs mit Widerständen gegen Masse verschaltet. Siehe nachfolgenden Schaltplan.
(a) Programmieren Sie eine C-Programmzeile, um LED D3 einzuschalten, ohne den Zustand der anderen drei LEDs zu verändern!
(b) Programmieren Sie eine C-Programmzeile, um LED D1 auszuschalten, ohne den Zustand der anderen drei LEDs zu verändern!
Hinweis: Port P5 ist nicht bit-adressierbar!
108. Was bewirkt diese C-Programmzeile: X ^= 0x04; ?
109. Was bewirkt diese C-Programmzeile: Y |= 0x0F; ?
110. Was bewirkt diese C-Programmzeile: Z &= 0x81; ?
111. Welchen Wert hat die vorzeichenlose 8-Bit Variable a = 0x08; nach der folgenden C-Operation a <<= 2; ?
112. Erklären Sie diesen C-Befehl: n = (n < 20)? n+2 : 0;
113. Welche Optimierungsmöglichkeiten sind Ihnen bekannt, um ein C-Programm für den Mikrocontroller C8051F020/21 möglichst effektiv (d.h. niedriger Speicherverbrauch und schnelle Ausführung) zu implementieren?
114. Nennen Sie die acht möglichen Adressierungsarten des C8051F020!
115. Was bewirkt der Assembler-Befehl INC A?
116. Was bewirkt der Assembler-Befehl MOV R0,#30h?
117. Die Maschinen-Befehle des C8051F020/21 können in fünf Gruppen eingeteilt werden. Nennen Sie diese Gruppen und geben Sie möglichst jeweils einen entsprechenden Assembler-Befehl dazu an.
118. Die Maschinen-Befehle des C8051F020/21 können in fünf Gruppen eingeteilt werden. Ordnen Sie den nachfolgenden Assembler-Kommandos die richtige Befehlsgruppe zu!
SJMP PRINT
SETB P0.2
ADD A,R7
MOV R2,#5Fh
ANL A,#08h
119. Mikroprozessoren und Mikrocontroller besitzt einen sogenannten Stack-Speicher. Beschreiben Sie die Eigenschaften von einem Stack-Speicher!
120. Mit welchem Assembler-Befehl kann der Inhalt des Akkumulators auf den Stack abgelegt werden?
121. Mit welchem Assembler-Befehl kann ein Wert vom Stack zurück in den Akku transferiert werden?
122. Arbeitet ein Stack nach dem FIFO (first-in, first-out) oder LIFO (first-in, last-out) Prinzip? Begründen Sie Ihre Antwort!
123. Warum benötigt ein Mikrocontroller wie der C8051F02x einen Systemtakt?
124. Beschreiben Sie, wie der Systemtakt beim C8051F02x erzeugt werden kann!
125. Der Systemtakt kann beim C8051F020/21 auch intern generiert werden, ist dann aber wenig genau. Nennen Sie jeweils eine typische Anwendung, bei der ein ungenauer interner Takt ausreichend ist und einen Anwendungsfall, bei dem eine hohe Taktgenauigkeit unbedingt erforderlich ist!
126. Der Systemtakt kann beim C8051F020/21 zwischen verschiedenen Frequenzen umgeschaltet werden.
(a) Welcher Vorteil spricht für einen Betrieb bei niedrigen Frequenzen?
(b) Welcher Vorteil ergibt sich bei höheren Frequenzen?
127. Der Systemtakt beim C8051F02x kann auch von einer CMOS-kompatiblen externen Taktquelle geliefert werden. In welchen Fällen ist dies von Vorteil?
128. Was ist ein Watchdog-Timer und wofür wird er verwendet? Geben Sie eine Beispielanwendung an, bei der ein Watchdog sinnvoll eingesetzt werden kann!
129. Was passiert, wenn ein aktiver Watchdog-Timer nicht rechtzeitig wieder zurückgesetzt wird?
130. Sie möchten in Ihrer Anwendung den Watchdog-Timer nicht verwenden. Worauf müssen Sie dann achten?
131. Wozu dient der Reset-Pin bei einem Mikrocontroller? Zu welchem Zeitpunkt wird der Reset bei einem Mikrocontroller in der Regel verwendet?
132. Wozu wird der Reset bei einem Mikrocontroller überhaupt benötigt? Angenommen der Reset-Eingang sei low-active (/RST), könnte man den Reset dann nicht auch direkt auf die Betriebsspannung VCC verdrahten?
133. Welche I/O-Port-Betriebsarten unterstützt der C8051F020/21? Erklären Sie jeweils, wie die entsprechenden Betriebsart funktioniert.
134. Bei welcher Port-Betriebsart des C8051F02x dürfen sie Ausgänge auch zusammenschalten (open-drain oder push-pull)? Begründen Sie Ihre Antwort.
135. Sie möchten eine LED im open-drain Mode direkt von einem Port-Pin des C8051F020/21 ansteuern. Wie verschalten Sie die LED?
136. Wozu dient die Port-Funktion weak-pull-up beim C8051F2020/21?
137. Was ist eine bidirektionale Datenverbindung? Geben Sie ein Beispiel für eine praktische Anwendung.
138. Die Port-Pins des C8051F020/21 können zur Ein- und Ausgabe verwendet werden. Umkreisen Sie in der nachfolgenden Port-Schaltung die beiden Feldeffekt- Transistoren (FETs), die bei der Betriebsart push-pull für die Ausgabe von Bedeutung sind!
139. Markieren Sie in der nachfolgenden Port-Schaltung des C8051F020/21 den Feldeffekt-Transistor, die bei der Betriebsart open-drain zum Einsatz kommt.
140. Sie möchten an den Mikrocontroller C8051F020/21, der mit einer Betriebsspannung von VCC = 3.3 Volt betrieben wird, ein Micro-Relais anschließen, das eine Betätigungsspannung von 12 V erfordert. – Ist das überhaupt (ohne zusätzlichen Treiber) möglich? Falls ja, erörtern Sie Ihre Schaltungsidee und geben Sie an, in welchem Mode Sie den I/O-Port des C8051F02x betreiben möchten!
141. Welche Aufgabe hat der Crossbar-Switch beim C8051F020/21?
142. Sie möchten eine Spannung im Bereich von 0 – 5 Volt mit einem 8-Bit Analog-Digital-Umsetzer (ADC) erfassen. Wie groß sind die Spannungsstufen Uq aufgrund der ADC-Auflösung?
143. Sie möchten mit dem ADC des C8051F020/21 eine Temperatur erfassen. Bei ersten Versuchen stellen Sie fest, dass Ihr Temperaturwert schwankt. Was könnte die Ursache dafür sein? Diskutieren Sie verschiedenen Fehlermöglichkeiten.
144. Der Prozess einer analog/digital-Umsetzung kann in drei Abschnitte aufteilen. Ersetzen Sie die Fragezeichen in abgebildeten Skizze durch die einzelnen Prozess-Schritte. Welche Referenzsignale benötigt ein ADC zusätzlich?
145. Den beiden ADCs auf dem C8051F02x sind jeweils ein analoger Eingangsmultiplexer und ein programmierbarer Verstärker (Gain Amplifier) vorgeschaltet. Erklären Sie, wofür diese beiden Schaltungsgruppen verwendet werden!
146. Jede A/D-Umsetzung benötigt eine gewisse Konvertierungszeit. Wie können Sie im Ihrem Mikrocontroller-Programm sicherstellen, dass die Umsetzung abgeschlossen ist?
147. Erklären Sie, was man unter dem Begriff „Zeitmultiplexing“ versteht!
148. Sie haben an ihrem Mikrocontroller noch zwei 8-Bit breite I/O-Ports frei und möchten diese zur Ansteuerung einer mehrstelligen 7-Segment-LED-Anzeige ohne Dezimalpunkt verwenden. – Wieviele Ziffern könnten Sie mit dem Zeitmulitplex-Verfahren ansteuern? Wäre es auch (theoretisch) möglich, bis zu 512 Ziffern anzusprechen? Begründen Sie Ihre Antwort!
149. Sie möchten mit dem C8051F020/21 und dem internen 12-Bit ADC eine Temperatur möglichst genau messen. Hierzu verdrahten Sie einen Temperatur-Sensor (TS) an den ADC-Eingang. Leider liefert der TS aber keinen linearen Verlauf zwischen Temperatur [°C] und der Temperatur-Spannung [V]. Aus dem Datenblatt des TS ist der Zusammenhang zwischen Temperatur und Spannung aber ersichtlich. – Welche beiden Implementierungsmöglichkeiten ergeben sich, die Temperaturmessung zu linearisieren?