Hallo! Ich bin neu hier und brauche dringend Hilfe. Ich muss für mein Studium ziemlich bald ein Projekt abgeben, habe jedoch keine Ahnung, wie ich überhaupt beginne. Es wird mit MPLAB-IDE im Assembler programmiert, Demoboard mit PICKit3 und Prozessor 16F886. Unser Professor hat uns ein Grundgerüst zur Verfügung gestellt und folgende Aufgabe muss ich jetzt selbst programmieren: ## Projekt µController: Schreiben sie ein Programm, welches die Helligkeit der roten Led mittels Poti einstellen kann. Der AD-Wert des Poti wird ausgelesen und modifiziert am Display ausgegeben. z.B AD=0 --> Anzeige „-00-„ AD=255 --> Anzeige „-99-„ (Anzeige der Helligkeit in Prozent) Der AD-Wert des Poti wird auch zur Ansteuerung der roten Led verwendet, die Helligkeit lässt sich am besten mit einer einfachen PWM (Pulsweitenmodulation) realisieren. Hinweis: Da die rote Led nicht am PWM-Pin des PICs angeschlossen ist, kann nicht die Standard PWM des Controllers genommen werden. Die PWM Realisierung muss daher mittels Software (richtiges ein/ausschalten) realisiert werden. Es wäre wirklich toll, wenn mir jemand helfen könnte. Nicht falsch verstehen, ich brauch niemanden, der mir das Programm schreibt, sondern einfach nur Hilfe. Liebe Grüße Lisa
Lisa Zwiletitsch schrieb: > Es wird mit MPLAB-IDE im Assembler programmiert Muß in deinem Prjekt in Assembler programmiert werden?
Gast
#3913768
Schau dich hier mal um: http://pic-projekte.de/ http://sprut.de/
Peter Xuang schrieb: > Lisa Zwiletitsch schrieb: >> Es wird mit MPLAB-IDE im Assembler programmiert > > Muß in deinem Prjekt in Assembler programmiert werden? Ja, es muss in Assembler programmiert werden.
Gast
#3914197
hallo, natürlich wird dir hier geholfen. Was konkret ist denn dein Problem?
Hallo Lisa, Wie ist dein aktueller Stand? Benötigst du Unterstützung beim Schreiben des Programms, oder hängts bereits bei der Inbetriebnahme der Toolchain?
Hallo Lisa, Indem Euer Prof die Nutzung des CCP/PWM-Moduls nicht zulaesst, bleibt Dir nur uebrig PWM per Software zu verwirklichen. Eine gute Einfuehrung hierfuer ist die microchip Druckschrift AN654 "PWM, a Software Solution for the PIC16CXXX" Darin sind diverse Codebeispiele sowie auch einige Flussdiagramme enthalten. Allerdings ist das Ganze in englischer Sprache. Google einfach nach "AN654" oder besorge Dir das PDF-File direkt bei [http://www.microchip.com]. Gruss Ottmar
Manuel W. schrieb: > Hallo Lisa, > > Wie ist dein aktueller Stand? > Benötigst du Unterstützung beim Schreiben des Programms, oder hängts > bereits bei der Inbetriebnahme der Toolchain? Ich benötige nur unterstützung beim schreiben.
Lisa Zwiletitsch schrieb: > Manuel W. schrieb: >> Hallo Lisa, >> >> Wie ist dein aktueller Stand? >> Benötigst du Unterstützung beim Schreiben des Programms, oder hängts >> bereits bei der Inbetriebnahme der Toolchain? > > Ich benötige nur Unterstützung beim schreiben. Okay. Und was genau ist das Problem an dem du hängst? Ich denke es fehlen noch einige Infos um dir helfen zu können.
Man könnte das Programm in 4 Bestandteile zerlegen. 1. AD Wandlung 2. Soft-PWM 3. Von 8bit in Prozent (in C eine Zeile, in ASM schon umständlicher) 4. Display ansteuern Die Frage ist: Wo brauchst du Hilfe? Und ist das Problem bei der Software - Realisierung oder beim Verständnis.
Manuel W. schrieb: > Lisa Zwiletitsch schrieb: >> Manuel W. schrieb: >>> Hallo Lisa, >>> >>> Wie ist dein aktueller Stand? >>> Benötigst du Unterstützung beim Schreiben des Programms, oder hängts >>> bereits bei der Inbetriebnahme der Toolchain? >> >> Ich benötige nur Unterstützung beim schreiben. > > Okay. Und was genau ist das Problem an dem du hängst? Ich denke es > fehlen noch einige Infos um dir helfen zu können. Ich habe schon mal ein Programm mit AD-Wandlung geschrieben, jedoch kann man mittels Poti nur die Frequenz verstellen, mit der die rote und die grüne LED abwechselnd blinken sollen. Wie kann ich das auf die Helligkeit umschreiben und dann habe ich noch keine Idee, wie das mit der Ausgabe der Prozentzahlen funktionieren könnte.
Michael Skropski schrieb: > Man könnte das Programm in 4 Bestandteile zerlegen. > 1. AD Wandlung > 2. Soft-PWM > 3. Von 8bit in Prozent (in C eine Zeile, in ASM schon umständlicher) > 4. Display ansteuern > > Die Frage ist: Wo brauchst du Hilfe? Und ist das Problem bei der > Software - Realisierung oder beim Verständnis. Das Problem liegt schon beim Verständnis, da ich nicht weiß, wie ich diese Punkte im Programm realisieren kann. Ich habe jedoch schon mal ein Programm geschrieben, bei dem mittels AD-Wandlung die abwechselnde Blinkfrequenz von roter und grüner LED eingestellt werden kann. Wie kann ich das auf die Helligkeit umlegen? Bei der PWM und der Prozentausgabe habe ich keine Idee, wie ich das realisieren könnte.
nicht"Gast" schrieb: > hallo, > > natürlich wird dir hier geholfen. Was konkret ist denn dein Problem? Ich weiß nicht, wie ich die PWM und die Ausgabe realisieren könnte.
Gast
#3916828
also wenn du per poti die frequenz der led´s ändern kannst, heißt das eigentlich duty cycle. bei pwm ist normalerweise die frequenz fest und du änderst nur den duty cycle. um dir jetzt allerdings helligkeitswerte in form einer gedimmten led auszugeben versuchst, musst du tatsächlich die frequenz der pwm erhöhen. irgendwo in den khz bereich... wenn du dann mit dem duty cycle rumspielst, wirst du sehen wie sich die helligkeit der led verändert.
Lisa Zwiletitsch schrieb: > Ich weiß nicht, wie ich die PWM und die Ausgabe realisieren könnte. Die PWM sollte einfach zu realisieren sein. Einfach mit einem Timer einen IR auslösen, darin zählen auf den Periodenendwert (z.B. 255) Bei Null LED einschalten Den Wert vom AD Wandler als Duty Cycle verwenden. (Mit Zähler vergleichen und gegebenenfalls die LED ausschalten) Gibt es für die Displayausgabe eine Bibliothek ?
Den PWM macht man mit einem timer, den man jeweils anders laedt. T1 + T2 ergeben die Repetitionsfrequenz, waehrend T1, die Einschaltzeit ist. Also definieren der timer frequenz auf zB 1ms. Ergibt N counts. Nun ist dann T1_counts : = T1 * N /(T1+T2) und T2_counts := N - T1_counts. Im Timer interrupt bewegt man dann den Port-Pin, und laedt den timer neu.
Michael Skropski schrieb: > 3. Von 8bit in Prozent (in C eine Zeile, in ASM schon umständlicher) Umständlicher als in C auf jeden Fall aber nicht unbedingt schwierig - das MSB entspricht der Hälfte von 100% - das jeweils nächste der Hälfte des vorherigen ... Es gibt vielleicht weniger langweilige Lösungen, aber Umsetzten in Assembler Code sollte so absolut kein Problem darstellen.
Volker SchK schrieb: > Michael Skropski schrieb: >> 3. Von 8bit in Prozent (in C eine Zeile, in ASM schon umständlicher) > > Umständlicher als in C auf jeden Fall aber nicht unbedingt schwierig > - das MSB entspricht der Hälfte von 100% > - das jeweils nächste der Hälfte des vorherigen ... Ja, aber ohne weiteres addieren, je nach dem ob ein bit gesetzt ist, ist auch umständlich. Bei 50% und 25% macht es ja noch nichts, aber bei 12,5% muss man schon "Komma"Zahlen nehmen, was in ASM nicht direkt machbar ist (LSB wäre 0.390625%). Zumindest nicht, dass ichs wüsste. Und dann kommt noch ein Runden der Zahl und Trennung der einzelnen Ziffern für die Anzeige. Da lobe ich mir einen * und / Operator und ein printf(). Das ganze gerechne und Datentypen ist für mich ein großer Vorteil einer Hochsprache. Pinwackeln, Register beschreiben, das ist in ASM ja auch kein Ding. Aber manches.. Ich weiß noch, einmal sollte ich in der Ausbildung was in ASM realisieren, u.a. eine Berechnung. Da habe ich einen C Compiler genommen, die Berechnung da realisiert und hab mir neben der Hex noch die ASM ausgeben lassen. Ich konnte es dann auch nachvollziehen, aber wenn ich es von vornherein selbst hätte lösen sollen, hätte es deutlich länger gedauert. Dafür ist eine Hochsprache ja da, also nehme ich sie dafür auch.
Michael Skropski schrieb: > Volker SchK schrieb: >> Michael Skropski schrieb: >>> 3. Von 8bit in Prozent (in C eine Zeile, in ASM schon umständlicher) >> >> Umständlicher als in C auf jeden Fall aber nicht unbedingt schwierig >> - das MSB entspricht der Hälfte von 100% >> - das jeweils nächste der Hälfte des vorherigen ... > > Ja, aber ohne weiteres addieren, je nach dem ob ein bit gesetzt ist, ist > auch umständlich. Bei 50% und 25% macht es ja noch nichts, aber bei > 12,5% muss man schon "Komma"Zahlen nehmen, was in ASM nicht direkt > machbar ist (LSB wäre 0.390625%). Zumindest nicht, dass ichs wüsste. Das ist doch theoretischer Unfug 50,25,12,6,3,2,1,0 und fertig (gibt genau 99 ;-) Das Ganze ist eh ein bisschen fragwürdig, da das Auge keine lineare Wahrnehmung der Helligkeitsänderungen hat. Bei den kleinen Prozentzahlen wird man das viel stärker empfinden. Wenn man die % Anzeige an das Auge "anpassen" wollte, dann könnte man sich so einfach seine Wertigkeiten anpassen.
Michael Skropski schrieb: > Ich weiß noch, einmal sollte ich in der Ausbildung was in ASM > realisieren, u.a. eine Berechnung. Da habe ich einen C Compiler > genommen, die Berechnung da realisiert und hab mir neben der Hex noch > die ASM ausgeben lassen. Ich konnte es dann auch nachvollziehen, aber > wenn ich es von vornherein selbst hätte lösen sollen, hätte es deutlich > länger gedauert. Dafür ist eine Hochsprache ja da, also nehme ich sie > dafür auch. Manchmal hab ich das Gefühl, Gleitkommazahlen werden nur benutzt weil eine Hochsprache das so einfach erscheinen lässt. Wirklich notwendig ist es doch in einer 8bit Umgebung eher selten.
Volker SchK schrieb: > Das ist doch theoretischer Unfug > 50,25,12,6,3,2,1,0 und fertig (gibt genau 99 ;-) Naja. Wenn man 12 und 6 addiert, kommt 18 raus, wenn man 12,5 und 6,25 addiert, kommt 18.75, also gerundet 19 raus. Volker SchK schrieb: > Das Ganze ist eh ein bisschen fragwürdig, da das Auge keine lineare > Wahrnehmung der Helligkeitsänderungen hat. Bei den kleinen Prozentzahlen > wird man das viel stärker empfinden. Das ist richtig, vielleicht will der Lehrer darauf hinaus. Wer weiß. Volker SchK schrieb: > Manchmal hab ich das Gefühl, Gleitkommazahlen werden nur benutzt weil > eine Hochsprache das so einfach erscheinen lässt. > Wirklich notwendig ist es doch in einer 8bit Umgebung eher selten. Würde ich nicht sagen. 8bitter werden ja da genutzt, wo es nicht auf Rechenleistung ankommt. Also Labornetzteile, Waagen, Messschieber, Abstandsmesser... Alles da, wo genau gemessen wird (z.B. externer ADC) und intern dann mit einer (Gleit) kommazahl gearbeitet und ggf auch angezeigt wird. Ich arbeite fast ausschließlich mit PIC18, also 8bitter und habe schon oft float/double genutzt. Wäre manchmal vielleicht auch ohne gegangen, aber das würde dann das Programm umständlicher machen. Und nur, damit man sagen kann: "ich habs ohne hinbekommen" ? Vorausgesetzt, man ist nicht am Leistungslimit und muss Ressourcen sparen, wo es nur geht.
Michael Skropski schrieb: > Naja. Wenn man 12 und 6 addiert, kommt 18 raus, wenn man 12,5 und 6,25 > addiert, kommt 18.75, also gerundet 19 raus. Klar ist das nicht so genau wie eine Gleitkomma Berechnung (13,6,3,1,1,0 wäre vielleicht auch besser) aber brauch ich das wirklich ? Michael Skropski schrieb: > Würde ich nicht sagen. 8bitter werden ja da genutzt, wo es nicht auf > Rechenleistung ankommt. Also Labornetzteile, Waagen, Messschieber, > Abstandsmesser... Alles da, wo genau gemessen wird (z.B. externer ADC) > und intern dann mit einer (Gleit) kommazahl gearbeitet und ggf auch > angezeigt wird. Da wo es notwendig ist, sollte man es natürlich machen, aber dann vielleicht nicht unbedingt in ASM. Oft hilft es ja auch schon viel, wenn man bei der Maßeinheit in der gerechnet werden soll eine Stufe runter geht (z.B von Gramm auf 1/10, 1/100, Milligramm ... ) Den Dezimalpunkt in der Anzeige wird man dann schon noch hinkriegen.
Hallo Lisa, ich versuche mal Dir nachfolgend konkret Hilfestellung zu geben. Mit den nachstehenden Lösungsansätzen müsstes Du eigentlich zurecht kommen. Wenn nicht - frage bitte konkret nach. mfG Ottmar Zunächst das PWM-Prinzip mittels Interrupt-Service-Routine (ISR):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
Ottmar K. schrieb: > Hallo Lisa, > > ich versuche mal Dir nachfolgend konkret Hilfestellung zu geben ... Und ich hab gedacht wir hätten schon viel zu viel geholfen und sollten abwarten ob konkrete Fragen von Lisa kommen, die ja auch selber was tun wollte ;-) Wirklich "ORG" ? Hoffentlich benutzt der Prof. in seinem "Grundgerüst" schon "CODE" (so wie die "relocatable" templates welche mit MPASM kommen)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Volker SchK schrieb: > Wirklich "ORG" ? > Hoffentlich benutzt der Prof. in seinem "Grundgerüst" schon "CODE" Na ja, wenn es da nicht mehr zu kritisieren gibt... Es duerfte ja jemanden mit ein bisschen Ahnung von MPASM-Assembler ueberhaupt nicht schwerfallen, absoluten code in relocatable umzusetzen! Von relocatable code war ja bisher nicht die Rede... mfG Ottmar
Ok sorry. (das mit dem "ORG" und am besten noch Variablen über EQU scheint so einen Reflex bei mir auszulösen ;-) Ich habe die Auffassung, absoluten Code sollte man einem Anfänger gar nicht mehr zeigen. Zugegeben an meiner Hochschule gibt es sowas auch noch. "Aus didaktischen Gründen" :-(
Gast
#3920443
Absoluten Code hat gewisse Vorteile, aber es stimmt, wenn man sowieso nur ARDUINO MEGA und STM32 verwenden wird, bzw gleich RPI weil man mit kleineren nicht zurechtkommt, wie es heute ist, dann stimmt der Gedankengang. Speziell bei Pic ist relativer code problematisch, da man lcall verwenden muss, aber bei Lcall sind skipc, usw praktisch nicht verwendbar, da lcall ein macro aus 2-3 Befehlen ist.
chris schrieb: > Absoluten Code hat gewisse Vorteile... Echt, welche ? Mir fällt jetzt spontan nichts ein, was ich relocatable nicht auch machen könnte. ABER, ich verwende nur noch sehr selten Assembler, also bin ich da vielleicht nicht so sensibel ...
Ottmar K. schrieb: > Hallo Lisa, > > ich versuche mal Dir nachfolgend konkret Hilfestellung zu geben. > Mit den nachstehenden Lösungsansätzen müsstes Du eigentlich zurecht > kommen. Wenn nicht - frage bitte konkret nach. > > mfG Ottmar > > Zunächst das PWM-Prinzip mittels Interrupt-Service-Routine (ISR): > ORG 0x004 ;Interrupt-Vector > TMR0-Overflow-Interrupt > z.B. Zyklus 100µs, wird erreicht mit fosc=8MHz, Prescaler TMR0 1:2 > ergibt mit korrektem TMR0-Preset einen overflow nach 100cyclen > (2.000.000Hz 2 100 = 10.000 entspricht 0,0001s = 100µs > verwendete Register: OPTION_REG (clock source, Prescaler) > INTCON (GIE, T0IE, T0IF) > WREG + STATUS Register retten > ISR: > clrf INTCON,T0IF ;Interruptflag zurücksetzen > Preset TMR0 für overflow nach 100 TMR0-counts > ; > incf cntCycle,f ;bei jedem Interrpt +1 > ; > movlw .100 ;Reset des Zykluszählers beim wert=100 > xorwf cntCycle,w > btfsc STATUS,Z > clrf cntCycle > ; > ;PWM-Pin auf H setzen wenn cntPulsewidth >= cntCycle > ;PWM-Pin auf L setzen wenn cntPulsewidth < cntCycle > ; | PulseWidth | > ; |-ADC-Ergebnis/41-| > ; | z.b.50 | > ; |_________________| > ; | |____________| > ; 0 50 100 cntCycle > ; > ;PWM-OUTPUT > ;PWM-Pin = H wenn PulseWidth >= cntCycle > ; = L " " < cntCycle > movf cntCycle,w ;Zyklus innerhalb der Pulsbreite? > bcf STATUS,C ; (wird durch Subtraktion ermittelt) > subwf PulseWidth,w > btfsc STATUS,C ;C=1 Set PWM-Pin = H wenn C=1 > bsf PWM_OUT ; cntPulseWidth > cntCycle > btfss STATUS,C ;C=0 Set PWM-Pin = L Wenn C=0 > bcf PWM_OUT > ; > WREG + STATUS wieder herstellen > RETFIE > ;--------------------------------------------------------- > ; > -INIT > ADC-PORT initialsieren, analog-Input und PWM-Output-Pin festlegen > Register: PORTA, ANSEL, TRISA > Interner Oscillator max. 8MHz (entfällt bei Quarzoszillator) > PIC-CONFIG _INTRC_OSC_NOCLKOUT > Register: OSCCON > ADC-Modul > Register: ADCON0, ADCON1 > TMR0-Overflow-Interrupt > Register: INTCON,GIE, -,T0IE, -,T0IF > ;---------------------------------------------------------- > > -MAIN > CALL ADC ;Schleiferspannung des Poti in Binaerwert > CALL DIV16_8 ;(16Bit : 8Bit Ergebnis 8Bit) > movf f_divlo,w ;nomierten ADC-Wert kopieren > movf PulseWidth ;ISR-Vergleichsvariable fuer Pulsbreite > CALL Out_7Segment ;Duty Cycle 0-99 in LED-Anzeige ausgeben > GOTO MAIN > ;---------------------------------------------------------- > > ADC - siehe Datenblatt des 16F886 S. 101 und Codebeispiel S. 106 > movf ADRESH,w ;ADC-Ergebnis in Übergabevariable für > movwf f_divHi > movf ADRESL,w > movwf f_divlo > RETURN > ;---------------------------------------------------------- > ADC-Ergebnis = 0 - 4095 normiert auf 0 - 100 durch Division des ADC- > Ergebnisses durch 41 (4095/100 = 41 aufgerundet). > ; > DIV16_8 - siehe www.piclist.com/techref/microchip/math/div/16by8lz.htm > ;Divident: f_divhi:f_divlo, Ergebnis in f_divlo > movlw .41 ;Divident im WREG übergeben > CALL DIV16_8 > ; > movf f_divlo,w ;Quotient in Pulsbreitenzähler kopieren > movwf PulseWidth > RETURN > > Out_7Segment > vgl.: www.sprut.de/electronic/pic/programm/led.htm > RETURN > ; 7-Segment-Tabelle > Segmente > addwf PCL, f > retlw B'00011000' ; 0 > retlw B'11011110' ; 1 > retlw B'00110010' ; 2 > retlw B'01010010' ; 3 > retlw B'11010100' ; 4 > retlw B'01010001' ; 5 > retlw B'00010001' ; 6 > retlw B'11011010' ; 7 > retlw B'00010000' ; 8 > retlw B'01010000' ; 9 > -END Zuerst mal danke für die Hilfe!! Theoretisch habe ich die Vorgehensweise verstanden, aber nachfolgend noch ein paar Fragen: 1. Wo realisiere ich die PWM im Programm? Vor der Mainroutine oder danach? 2. Das Programm, das ich als "Vorlage" verwende, sieht derzeit folgendermaßen aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
168 | |
169 | |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |
214 | |
215 | |
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 | |
226 | |
227 | |
228 | |
229 | |
230 | |
231 | |
232 | |
233 | |
234 | |
235 | |
236 | |
237 | |
238 | |
239 | |
240 | |
241 | |
242 | |
243 | |
244 | |
245 | |
246 | |
247 | |
248 | |
249 | |
250 | |
251 | |
252 | |
253 | |
254 | |
255 | |
256 | |
257 | |
258 | |
259 | |
260 | |
261 | |
262 | |
263 | |
264 | |
265 | |
266 | |
267 | |
268 | |
269 | |
270 | |
271 | |
272 | |
273 | |
274 | |
275 | |
276 | |
277 | |
278 | |
279 | |
280 | |
Kann ich diesen grundsätzlich so weiterverwenden? LG Lisa
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.