Micro Fragen 101 - 149

Description

Flashcards on Micro Fragen 101 - 149, created by karl_herber on 27/06/2016.
karl_herber
Flashcards by karl_herber, updated more than 1 year ago
karl_herber
Created by karl_herber almost 8 years ago
36
1

Resource summary

Question Answer
101. Was berechnet der Modulo-Operator (%)? Den Rest einer Division.
102. Berechnen Sie mit dem Modulo-Operator (%): 12 % 10 = 24 % 10 = 24 % 25 = 12 % 10=2 24 % 10=4 24 % 25=24
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]= hex[0]= dez %16; hex[1]= (dez/16) % 16;
104. Was ist das Ergebnis der oberen Aufgabe für dez = 123? hex[0] = hex[1] = hex[0]= 7 ; hex[1]=B;
105. Mit welchem Operator können Sie in C das Einerkomplement bilden? Geben Sie ein Beispiel dazu an! mit „~“ – Operator. Bsp.: ~1111=0000
106. Beschreiben Sie den Unterschied zwischen dem logischen UND (&&) und dem binären UND (&)! Geben Sie jeweils ein Beispiel an! Das logische UND vergleicht zwei Ausdrücke, welche jeweils nur 0 oder 1 sein können. Das lineare UND verknüpft Variablen bitweise. &&: &: a=1; a=1010; b=1; b=1100; a&&b=1; a&b=1000;
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! a. P5|=0x40; b. P5&=~0x10;
108. Was bewirkt diese C-Programmzeile: X ^= 0x04; ? kurzschreibweise für x=x^0x04. Exklusiv ODER (bitweise)
109. Was bewirkt diese C-Programmzeile: Y |= 0x0F; ? kurzschreibweise für y=y|0x0F. ODER Verknüpfung (bitweise)
110. Was bewirkt diese C-Programmzeile: Z &= 0x81; ? kurzschreibweise für z=z&0x81. UND Verknüpfung (bitweise)
111. Welchen Wert hat die vorzeichenlose 8-Bit Variable a = 0x08; nach der folgenden C-Operation a <<= 2; ? Linksshift um 2 » Multiplikation mit 16²: 2048hex
112. Erklären Sie diesen C-Befehl: n = (n < 20)? n+2 : 0; Wenn n < 20 wird n um 2 erhöht, ansonsten wird n auf 0 gesetzt.
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? (1) Immer den kleinsten Speichertyp verwenden. Bei der Auswertung von TRUE oder FALSE erreicht der bit-Datentyp schon aus! (2) Wenn möglich unsigned verwenden, da bei signed-Berechnungen mehr Programmcode abgearbeitet werden muss. (3) Lokale Variablen anstatt globale Variablen verwenden (z.B. Laufvariablen für Zählschleifen). (4) Häufig verwendete Variablen sollten im data-Bereich abgelegt werden. (5) Felder (Arrays, Vektoren) in den idata-, pdata-oder in den xdata-Bereich legen. (6) Größere Felder und Strukturen in den xdata-Bereich platzieren.
114. Nennen Sie die acht möglichen Adressierungsarten des C8051F020! Register MOV A,B Direct MOV 30H, A Indirekt ADD A, @R0 Immidiate Konstant ADD A, #80H Relative SJMP AHEAD Absolute AJMP BACK Lang LJMP FAR_AHEAD indexed MOVC A,@+PC
115. Was bewirkt der Assembler-Befehl INC A? Erhöht den Inhalt von A um 1
116. Was bewirkt der Assembler-Befehl MOV R0,#30h? Übertragen des Wertes 30hex in R0
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. Arithmetische Operatoren. Bsp: ADD A,R0 Logische Operatoren. Bsp: ANL A,#02h Operation zur Datenübertragung. Bsp: MOV R3,#AAh Operation für bitvariablen. Bsp: SETB P0.4 Programmverzweigung. Bsp: SJMP LP1
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 „SJMP PRINT“ Programmverzweigung „SETB“ Bitoperation „ADD A,R7“ arithmetische Operation „MOV R2,#5Fh“ Transferbefehl „ANL A,#08h“ logische Operatoren
119. Mikroprozessoren und Mikrocontroller besitzt einen sogenannten Stack-Speicher. Beschreiben Sie die Eigenschaften von einem Stack-Speicher! Ein Stack-Speicher wird auch Stapelspeicher genannt. Die Daten werden nacheinander abgelegt, wobei ein Stack-Pionter auf das erste Element zeigt.
120. Mit welchem Assembler-Befehl kann der Inhalt des Akkumulators auf den Stack abgelegt werden? mit PUSH Befehl
121. Mit welchem Assembler-Befehl kann ein Wert vom Stack zurück in den Akku transferiert werden? mit POP Befehl
122. Arbeitet ein Stack nach dem FIFO (first-in, first-out) oder LIFO (first-in, last-out) Prinzip? Begründen Sie Ihre Antwort! Er arbeitet nach dem FIFO – Prinzip, da der Stack-Pointer immer auf das zuletzt abgelegte Element zeigt, welches somit auch das Erste ist, welches wieder angesprochen wird.
123. Warum benötigt ein Mikrocontroller wie der C8051F02x einen Systemtakt? Er dient dazu die Abläufe zu synchronisieren (z.B. setzen eines FF).
124. Beschreiben Sie, wie der Systemtakt beim C8051F02x erzeugt werden kann! Es kann der interne oder externe Taktgenerator verwendet werden. Für höhere Genauigkeit kann auch eine externe Taktquelle, z.B. ein Quarz-Oszillator, verwendet werden.
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! Ein ungenauer Takt ist z.B. für eine Rollladensteuerung ausreichend. Bei Zeitmessungen z.B. bei einer Eieruhr muss ein genauer Takt verwendet werden, da er bestimmt wann das Timer-flag gesetzt wird.
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? a. P ~ Systemtakt → geringerer Energieverbrauch b. Bei höheren Frequenzen steigt die Rechenleistung → höhere Geschwindigkeit
127. Der Systemtakt beim C8051F02x kann auch von einer CMOS-kompatiblen externen Taktquelle geliefert werden. In welchen Fällen ist dies von Vorteil? Wenn mehrere Mikrocontroller mit einem gemeinsamen Takt arbeiten sollen. So werden z.B. bei der Kommunikation untereinander Fehler vermieden.
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! Ein Watchdog-Timer prüft ob der Controller noch arbeitet oder sich z.B. durch ein Programmierfehler aufgehangen hat. Dies ist z.B. in sicherheitskritischen Bereichen sinnvoll. So kann z.B. ein Totalausfall vermieden werden. Z.B.: Notabschaltung eines Motors
129. Was passiert, wenn ein aktiver Watchdog-Timer nicht rechtzeitig wieder zurückgesetzt wird? Der Mikrocontroller führt einen Reset aus.
130. Sie möchten in Ihrer Anwendung den Watchdog-Timer nicht verwenden. Worauf müssen Sie dann achten? Es muss darauf geachtet werden, dass der Mikrocontroller nicht in einen undefinierten Zustand kommen kann, da er diesen unter Umständen nicht wieder verlassen kann. Dies Anwendung ist für sicherheitskritische Anwendungen nicht zu empfehlen.
131. Wozu dient der Reset-Pin bei einem Mikrocontroller? Zu welchem Zeitpunkt wird der Reset bei einem Mikrocontroller in der Regel verwendet? der Reset Pin wird meist verwendet um nach Einschalten der Spannungsversorgung für eine bestimmte Zeit einen Reset auszulösen, um somit einen definierten Zustand herzustellen.
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? der Reset wird benötigt, um beim Einschalten der Spannugnsversorgung definierte Anfangszustände zu erzeugen. Würde der Reset Eingang direkt auf Vcc verdrahtet werden, wäre dies nicht möglich.
133. Welche I/O-Port-Betriebsarten unterstützt der C8051F020/21? Erklären Sie jeweils, wie die entsprechenden Betriebsart funktioniert. open-drain: wird eine logische 0 auf den Ausgang geschaltet, so wird der Port Pin auf GND gezogen. Bei einer 1 wird der Ausgang hochohmig. Push-pull: Das Einschreiben einer logischen 0 zieht den Port-Pin auf GND, bei einer 1 auf VDD.
134. Bei welcher Port-Betriebsart des C8051F02x dürfen sie Ausgänge auch zusammenschalten (open-drain oder push-pull)? Begründen Sie Ihre Antwort. dies ist bei open-drain möglich, würde push-pull verwendet, würde es zu einem Kurzschluss kommen, wenn ein Ausgang eine 1 und ein anderer eine 0.
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? Einerseits um den Eingang sicher auf 1 zu ziehen, wenn z.B. ein Taster angeschlossen ist. Ist dieser ein Schließer und nicht betätigt, käme es sonst zu einem undefiniertem Signal. Andererseits ist es so möglich einen Port sowohl als Eingang als auch als Ausgang zu nutzen. Ist der open drain Transistor deaktiviert, wird der Eingang durch den weak-pull-up auf 1 gezogen und kann dann zum einlesen von z.B. Tastern in der oben beschriebenen Weise verwendet werden. Wird der Transistor aktiviert ist es durch den hohen widerstand des weak-pull-up möglich z.B. eine LED zu betreiben, ohne dass viel Strom über den Widerstand abfließt
137. Was ist eine bidirektionale Datenverbindung? Geben Sie ein Beispiel für eine praktische Anwendung. Eine bidirektionale Datenverbindung liegt dann vor, wenn z.B. ein Port sowohl Daten einlesen als auch ausgeben kann. Bsp: ein Port dient zum einlesen eines Tasters und zum anderen zum Ansteuern einer LED.
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! Es ist möglich, wenn der Port als open-drain konfiguriert ist. Es wird allerdings eine 12V Spannungsquelle benötigt, die auf einer gemeinsamen Masse mit dem Mikrocontroller liegt.
141. Welche Aufgabe hat der Crossbar-Switch beim C8051F020/21? der Crossbar-Switch ermöglicht es nur, die benötigten Peripherieeinheiten mit Ports zu verbinden. Dies ermöglicht es Ports zu sparen, da so keine unbenutzten Einheiten mit Ports verbunden sind.
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? 5V/(2^8-1)=5/255 V
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. Eine Möglichkeit wäre durch Magnetfelder induzierte Spannungen, die zu einer Spannungsschwankung am Eingang führen. Eine andere, dass das Signal nahe einer Stufengrenze ist. Eine minimale Änderung (Luftzug etc.) führt dann zu einem Stufensprung.
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! Der analoge Eingangsmultiplexer dient dazu, mehrere Ports mit einem ADC verarbeiten zu können. Es lässt sich auswählen, welcher Port gerade eingelesen wird. Der programmierbare Verstärker dient zur Steigerung der Empfindlichkeit der Messung, bei kleinen Eingangsgrößen.
146. Jede A/D-Umsetzung benötigt eine gewisse Konvertierungszeit. Wie können Sie im Ihrem Mikrocontroller-Programm sicherstellen, dass die Umsetzung abgeschlossen ist? Durch das ADOBUSY-Flag. Dies ist 1 während die Wandlung läuft und wird nach Abschluss auf 0 gesetzt.
147. Erklären Sie, was man unter dem Begriff „Zeitmultiplexing“ versteht! Ein Ausgang ist an mehrere Bauteile gleichzeitig verdrahtet. Welches Bauteil gerade von dem Ausgang angesteuert wird, wird durch einen weiteren Ausgang festgelegt. Bsw. bei einer mehrstelligen 7Segment-Anzeige. Die Codierung um die jeweilige Zahl anzuzeigen liegt an allen 7 Segmenten gleichzeitig an. Es wird aber periodisch nur die betreffende Stelle über einen separaten Ausgang angesteuert.
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! 7Bit werden benötigt um die jeweilige Ziffernkodierung an die 7 Segment-Anzeige zu legen. Die restlichen 16-7=9bit stehen zum Aktivschalten der Segmente zur Verfügung. Somit lassen sich 9 Stellen im Zeitmultiplexverfahren ansprechen. Ja, dies wäre möglich, wenn die 9 bit auf jede Stelle geführt würden und für jede Stelle entsprechend UND-verknüpft würden. Z.B.: Stelle 1 = 0000 0000 0 Stelle 2 = 0000 0000 1 Stelle 3 = 0000 0001 0
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? Wenn im Datenblatt eine Funktionsvorschrift gegeben ist, könnte diese in eine Taylorreihe entwickelt werden, welche nach dem ersten Glied abgebrochen wird. Wenn keine Funktionsvorschrift gegeben ist, kann diese aus einer Messreihe ermittelt werden.
Show full summary Hide full summary

Similar

Cold War (1945-1975)
sagar.joban
Macbeth Scene Summaries
Ebony1023
AQA GCSE Biology Unit 2.3
Matthew T
An Inspector Calls: Characters
bexjrutherford
A2 Ethics - Virtue Ethics
Heloise Tudor
GCSE AQA Physics - Unit 1
James Jolliffe
untitled 2
lola_smily
Poetry revision quiz
Sarah Holmes
Using GoConqr to study Economics
Sarah Egan
The Gastrointestinal System- Physiology- PMU
Med Student
Core 1.10 Polymers (Plastics)
T Andrews