Forum: Mikrocontroller und Digitale Elektronik Digitaluhr mit wecker


von David Ebert (Gast)


Lesenswert?

Hallo zusammen ich muss für meine abschlussarbeit mit assambler eine 
digitaluhr mir wecker programmieren leider hab ich ein paar probleme mit 
dieser aufgabe 1. mit dem 24 stunden zeitformat ich hab statt 24 stunden 
29 stunden 2. ich weiß leider nicht wie ich den wecker in mein programm 
einbinde bzw. in zu programmieren zur programmierung nehm ich keil u 
vision 2 der verwende microcontroller ist ein dalles ds87c520 der 8051 
familie
http://sund.de/miles dieses teil muss ich zur programmierung nehmen

von Floh (Gast)


Lesenswert?

Programm?

von Volker S. (volkerschulz)


Lesenswert?

Ich kenne den µC nicht, hier aber ein paar Grundlagen:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Uhr

Volker

von spess53 (Gast)


Lesenswert?

Hi

Habe so etwas nur für AVR:

Beitrag "Kalender/Datum/Zeit-Funktionen in Assembler"

MfG Spess

von Lukas K. (carrotindustries)


Lesenswert?

David Ebert schrieb:
> http://sund.de/miles dieses teil muss ich zur programmierung nehmen

Aus welchem Museum wurde das wohl nur entwendet?
Ein moderner µC, wie ein AVR, MSP430 oder was auch immer beinhaltet 
alles von diesem Kuchenblech.

von David Ebert (Gast)


Lesenswert?

erstma danke für die schnellen antworten ich geb euch mal meinen 
quellcode
vielleicht seht ihr da ja meine fehler der wecker ist noch nich dabei:
1
   
2
   org 0000h
3
4
   cts equ P3.5
5
   setb cts
6
  
7
; Initialisierung serielle Schnittstelle-----------------------------------------------------------------
8
  mov scon, #40h
9
  mov pcon, #80h   ;Doppelte Geschwindigkeit
10
  mov th1, #0f4h   ;Nachladewert Timer1
11
  mov tmod, #20h   ;Timer Modus 2 (Reload)
12
  setb tr1   ;Timer Run
13
  clr ti     
14
  setb ren   ;Reception enable
15
  clr ri     ;Receive Interrupt
16
 
17
; Initialisierung Register--------------------------------------------------------------------------------
18
  mov r0, #'0'    ; Stunde
19
  mov r1, #'0'    ; 
20
  mov r2, #'0'    ; Minuten
21
  mov r3, #'0'    ; 
22
  mov r4, #'0'            ; Sekunde
23
  mov r5, #'0'            ;
24
  mov r6, #'0'
25
  mov r7, #'0'
26
        mov 11, #'0'    
27
28
; Hauptprogramm------------------------------------------------------------------------------------------
29
start:  
30
mov dptr, #inver
31
  call sout
32
  mov dptr, #delete
33
        call sout
34
  
35
  mov dptr, #starttaste
36
  call sout
37
  mov dptr, #weckertaste
38
  call sout
39
  mov dptr, #plustaste
40
        call sout
41
  mov dptr, #plustaste1
42
        call sout
43
  mov dptr, #plustaste2
44
        call sout
45
  mov dptr, #plustaste3
46
        call sout
47
  mov dptr, #plustaste4
48
        call sout
49
  mov dptr, #plustaste5
50
        call sout
51
  mov dptr, #minustaste
52
        call sout
53
  mov dptr, #minustaste1
54
        call sout
55
  mov dptr, #minustaste2
56
        call sout
57
  mov dptr, #minustaste3
58
        call sout
59
  mov dptr, #minustaste4
60
        call sout
61
  mov dptr, #minustaste5
62
        call sout
63
        call uhranz
64
startloob:
65
   
66
jnb ri, startloob 
67
       clr ri
68
       mov a, sbuf
69
       
70
       
71
       cjne a, #13, startloob
72
;-----------------------------------------------------------------------------------------------------------------------    
73
ausgabe:
74
  call uhranz  
75
  jnb ri, xyz     ; wenn kein interrpt kriegt -> ausgabe INTERUPT
76
  clr ri
77
  mov a, SBUF
78
  cjne a, #2, schleife1
79
  return1:    
80
  cjne a, #3, schleife2
81
  return2:
82
  cjne a, #4, schleife3
83
  return3:
84
    cjne a, #5, schleife4
85
  return4:
86
    cjne a, #6, schleife5
87
  return5:
88
  cjne a,  #7, schleife6
89
  return6:
90
  cjne a,  #8, schleife7
91
  return7:
92
  cjne a,  #9, abf
93
  return8:
94
  cjne a,  #10, abc
95
  return9:
96
  cjne a,  #11, abd
97
  return10:
98
  cjne a,  #12, abe
99
  return11:
100
  cjne a,  #13, aa
101
  return12:
102
  jmp neueuhrzeit
103
;--------------------------------------------------------------------------------------------
104
schleife1:
105
          jc plus
106
    jmp return1
107
plus:     inc r0
108
          CJNE r0, #33h , ausgabe
109
       mov  r0, #'0'
110
       mov  r1, #'0'
111
       mov  r2, #'0'
112
       mov  r3, #'0'
113
       mov  r4, #'0'
114
       mov  r5, #'0'
115
          jmp ausgabe
116
;--------------------------------------------------------------------------------------------
117
schleife2:
118
          jc plus1
119
    jmp return2
120
plus1:    inc r1
121
    inc 11 
122
          CJNE r1, #34h , ausgabe
123
     
124
    mov  r1, #'0'
125
          jmp ausgabe
126
;---------------------------------------------------------------------------------------------
127
schleife3:
128
          jc plus2
129
    jmp return3
130
plus2:    inc r2
131
          CJNE r2, #36h , ausgabe
132
    mov  r2, #'0'
133
          jmp ausgabe  
134
;--------------------------------------------------------------------------------------------
135
schleife4:
136
          jc plus3
137
    jmp return4
138
plus3:    inc r3
139
    CJNE r3, #3Ah , ausgabe
140
    mov  r3, #'0'
141
          jmp ausgabe
142
143
xyz: jmp neueuhrzeit
144
abf: jmp schleife8
145
;---------------------------------------------------------------------------------------------
146
schleife5:
147
          jc plus4
148
    jmp return5
149
plus4:    inc r4
150
          CJNE r4, #36h , ausgabe 
151
    mov  r4, #'0'
152
          jmp ausgabe
153
abc:  jmp schleife9
154
abd:  jmp schleife10
155
abe:  jmp schleife11
156
;-----------------------------------------------------------------------------------------------
157
schleife6:
158
          jc plus5
159
    jmp return6
160
plus5:    inc r5
161
          CJNE r5, #3Ah , aaa 
162
    mov  r5, #'0'
163
          jmp ausgabe
164
;-----------------------------------------------------------------------------------------------
165
schleife7:
166
          jc minus
167
    jmp return7
168
minus:    dec r0
169
          CJNE r0, #30h , aaa
170
       mov  r0, #'0'
171
       mov  r1, #'0'
172
       mov  r2, #'0'
173
       mov  r3, #'0'
174
       mov  r4, #'0'
175
       mov  r5, #'0'
176
          jmp ausgabe
177
aa: jmp schleife12
178
;---------------------------------------------------------------------------------------------
179
schleife8:
180
          jc minus1
181
    jmp return8
182
minus1:    dec r1
183
          
184
    CJNE r1, #30h , aaa
185
    mov  r1, #'0'
186
          jmp ausgabe
187
188
189
;----------------------------------------------------------------------------------------------
190
schleife9:
191
          jc minus2
192
    jmp return9
193
minus2:   dec  r2
194
          CJNE r2, #30h , aaa 
195
    mov  r2, #'0'
196
          jmp ausgabe
197
198
schleife10:
199
          jc minus3
200
    jmp return10
201
minus3:   dec r3
202
          CJNE r3, #30h , aaa
203
    mov  r3, #'0'
204
          jmp ausgabe
205
schleife11:
206
          jc minus4
207
    jmp return11
208
minus4:   dec r4
209
          CJNE r4, #30h , aaa
210
    mov  r4, #'0'
211
          jmp ausgabe
212
schleife12:
213
          jc minus5
214
    jmp return12
215
minus5:   dec r5
216
          CJNE r5, #30h , aaa
217
    mov  r5, #'0'
218
          jmp ausgabe
219
 
220
;---------------------------------------------------------------------------------------------  
221
aaa: jmp ausgabe
222
neueuhrzeit: call delay
223
             
224
      
225
       inc  r5
226
        CJNE r5, #3Ah , zurueck 
227
       mov  r5, #'0'
228
             
229
       inc  r4
230
       CJNE r4, #36h , zurueck 
231
       mov  r4, #'0'
232
233
       inc  r3
234
       CJNE r3, #3Ah , zurueck 
235
       mov  r3, #'0'
236
237
       inc  r2
238
       CJNE r2, #36h , zurueck 
239
       mov  r2, #'0'
240
241
       inc  r1
242
       CJNE r1, #3h , zurueck 
243
       mov  r1, #'0'
244
245
             
246
       inc  r0
247
       CJNE r0, #33h , zurueck 
248
       mov  r0, #'0'
249
       mov  r1, #'0'
250
       mov  r2, #'0'
251
       mov  r3, #'0'
252
       mov  r4, #'0'
253
       mov  r5, #'0'
254
       jmp ausgabe
255
256
             
257
;-----------------------------------------------------------------------------------------------------------
258
zurueck: jmp ausgabe
259
260
sout:   mov a, #0   
261
  MOVC A, @A+DPTR   ; 1 Byte aus Datenspeicher
262
        ; laden
263
  cjne a, #0ffh, weiter   ; Vergleich Endezeichen (FF)
264
  ret       ; Ende gefunden
265
weiter: jb cts, weiter     ; auf Display warten
266
  mov SBUF, a     ; Zeichen senden
267
waits:   jnb ti, waits     ; Warten, bis gesendet
268
  clr ti   
269
  inc dptr     ; Nächstes Zeichen
270
  jmp sout
271
warten: jnb ti, warten     ; Warten, bis gesendet
272
  clr ti   
273
  inc dptr     ; Nächstes Zeichen
274
        ret
275
276
277
278
; Anzeige----------------------------------------------------------------
279
uhranz:
280
mov dptr, #cursor
281
call sout
282
mov dptr, #aus
283
call sout
284
mov SBUF, r0 ; Stunden
285
call warten
286
mov SBUF, r1
287
call warten
288
mov dptr, #punkt
289
call sout
290
mov SBUF, r2 ; Minuten
291
call warten
292
mov SBUF, r3
293
call warten  
294
mov dptr, #punkt
295
call sout
296
mov SBUF, r4 ; Sekunde
297
call warten
298
mov SBUF, r5
299
call warten
300
ret
301
;-----------------------------------------------------------------------
302
delete:  db 12, 0ffh
303
  db 27, "TR", 0ffh  ; Touch- Ton
304
305
inver:  db 27, "TI", 0ffh  ;Invertieren
306
307
cursor: db 27, "O", 10, 5, 0ffh
308
aus:    db 27, "QC",0,0ffh
309
punkt:  db ":", 0ffh
310
311
plustaste:
312
        db 27, "TH",1 ,1 ,1,2,  "+",0, 0ffh
313
plustaste1:
314
        db 27, "TH",3 ,3 ,2,2,  "+",0, 0ffh
315
plustaste2:
316
        db 27, "TH",4 ,4 ,3,2,  "+",0, 0ffh
317
plustaste3:
318
        db 27, "TH",5 ,5 ,4,2,  "+",0, 0ffh
319
plustaste4:
320
        db 27, "TH",6 ,6 ,5,2,  "+",0, 0ffh
321
plustaste5:
322
        db 27, "TH",8 ,8 ,6,2,  "+",0, 0ffh
323
324
minustaste:
325
  db 27, "TH",25,25,7,2,  "-",0, 0ffh
326
minustaste1:
327
  db 27, "TH",27,27,8,2, "-",0, 0ffh
328
minustaste2:
329
  db 27, "TH",28,28,9,2, "-",0, 0ffh
330
minustaste3:
331
  db 27, "TH",29,29,10,2, "-",0, 0ffh
332
minustaste4:
333
  db 27, "TH",30,30,11,2, "-",0, 0ffh
334
minustaste5:
335
  db 27, "TH",32,32,12,2, "-",0, 0ffh
336
337
338
starttaste: 
339
  db 27, "TH",9,18,13,2,   "Start",0, 0ffh
340
weckertaste:
341
  db 27, "TH",15,24,14,2,  "Wecker",0,0ffh
342
        
343
344
;-----------------------------------------------------------------------
345
delay:  mov r6, #255
346
  x00:   mov r7, #255
347
  x01:  mov 10, #19  
348
  x02:  djnz 10, x02
349
     djnz r7, x01   
350
  djnz r6, x00   
351
        ret         
352
;----------------------------------------------------------------------
353
  Ende:  jmp Ende
354
  end.

von MaWin (Gast)


Lesenswert?

> Aus welchem Museum wurde das wohl nur entwendet?

Was bitteschön ist gegen einem DS87C520 einzuwenden ?

Bloss weil du dir den nicht leisten kannst ?

Das Board ist solide, der Prozessor Industriestandard
und schnell (entspricht einem 100MHz 8052) und flashbar,
und es gibt weit mehr RAM als bei deinen Billig-CPUs.

Allerdings haben sicher schon Generationen vor David
genau dieselbe Aufgabe mit schlechteren Arbeitsmittels
problemlos umsetzen können, also wird der David mal selber
lernen müssen wie das geht, dazu ist die Ausbildung da,
da macht nicht mehr immer Mami das Essen und die Wäsche.

von David Ebert (Gast)


Lesenswert?

Es geht nicht um leisten oder nicht leisten ich muss den verwenden

von Lukas K. (carrotindustries)


Lesenswert?

MaWin schrieb:
> Was bitteschön ist gegen einem DS87C520 einzuwenden ?
Man braucht nen haufen Peripherie (Kuchenblech!) um das zu erreichen, 
was nen MSP430/xmega/kleiner ARM auf ~2cm² kann.
> Bloss weil du dir den nicht leisten kannst ?
Wenn man denn wüsste, was er kostet? Bei Digikey heißt's anrufen.
> Das Board ist solide, der Prozessor Industriestandard
> und schnell (entspricht einem 100MHz 8052)
=33MIPS
>und flashbar,
was daran so besonders? Dass man keine EPROMS mehr löschen und brennen 
zu braucht?
> und es gibt weit mehr RAM als bei deinen Billig-CPUs.
XMEGA kann bis zu 16MB an externem RAM, wenn man denn soviel braucht.

von David E. (Gast)


Lesenswert?

Ey versteht ihr das nicht ich muss dieses teil verwenden.
Ich hab keine ander möglichkeit entweder mit dem teil oder durchgefallen

von Lukas K. (carrotindustries)


Lesenswert?

David E. schrieb:
> Ey versteht ihr das nicht ich muss dieses teil verwenden.
> Ich hab keine ander möglichkeit entweder mit dem teil oder durchgefallen

Von
>vielleicht seht ihr da ja meine fehler der wecker ist noch nich dabei:
und Quellcode hinklatschen kommt nichts.

S. Netiquette

von MaWin (Gast)


Lesenswert?

> Man braucht nen haufen Peripherie (Kuchenblech!) um das zu erreichen,
> was nen MSP430/xmega/kleiner ARM auf ~2cm² kann.

Humbug.
Der 87C520 ist genau so ein Microcontroller wie ein AVR oder XMega,
er hat ein kleines Gehäuse, Pins die nur 5V vertragen.

Wenn man den berufsschulenrobust bekommen will mit 4mm Bananensteckern, 
baut man genau so ein Board wie es der David vor sich liegen hat, da ist 
kein Unterschied.

> Wenn man denn wüsste, was er kostet? Bei Digikey heißt's anrufen.

Du wirst aufjaulen weil du nur Kinderspielzeug kennst:
http://at.rs-online.com/web/p/products/0138089/

> > und flashbar,
> was daran so besonders? Dass man keine EPROMS mehr
> löschen und brennen zu braucht?

Nichts, aber er ist damit genau so aktuell wie AVRs oder sonstige uC, 
keinen Deut schlechter.


> und es gibt weit mehr RAM als bei deinen Billig-CPUs.
> XMEGA kann bis zu 16MB an externem RAM, wenn man denn soviel braucht.

EXTERN, klar, aber dein obiger grosskotziger Beitrag behauptete, das 
alles beinhaltete ein billiger AVR. Nein, eben nicht, der braucht 
dafür auch ein Board.

Du hast einfach keine Ahnung aber ein grosses Maul gehabt, unangebracht, 
da musst du dich nicht wundern, wenn du mit mir kollidierst.


Und wie man 2 Digits auf 2 4 und nicht auf 2 9 vergleicht, wird David 
auch noch rausfinden, das geht beim 8052 nicht anderes als beim AVR.

von Karl H. (kbuchegg)


Lesenswert?

David Ebert schrieb:
> Hallo zusammen ich muss für meine abschlussarbeit mit assambler eine
> digitaluhr mir wecker programmieren leider hab ich ein paar probleme mit
> dieser aufgabe 1. mit dem 24 stunden zeitformat ich hab statt 24 stunden
> 29 stunden

Tja.
Dann wirst du dir wohl hiefür
1
       inc  r1
2
       CJNE r1, #3h , zurueck
3
       mov  r1, #'0'
4
5
6
       inc  r0
7
       CJNE r0, #33h , zurueck

was anderes einfallen lassen müssen.

Bei Sekunden und Minuten ist die Sache leicht. Die Einerstelle zählt 
jeweils von 0 bis 9. Und wenn es über 9 drüber geht wird die 
zehnerstelle um 1 erhöht.

Bei den Stunden ist das aber anders. In der Einerstelle bis 9 zählen 
geht nur, wenn die Zehner 0 oder 1 sind. Ist die Zehnerstelle bereits 
auf 2, dann ist bereits beim Übergang von 4 auf 5 Schluss.
Und diese Logik musst du programmieren.


> 2. ich weiß leider nicht wie ich den wecker in mein programm
> einbinde

So schwer ist das auch wieder nicht.
Wenn nach dem Erhöhen der Zeit die Stunden und Minuten identisch sind 
zur Weckzeit schaltest du eine Tröte ein.

von David E. (Gast)


Lesenswert?

es tut mir leid wenn mein obriger beitrag großkotzig klingt (so ist er 
echt nich gemeint)
Ich jaule auch nich für irgend einen microkontroller auf. Lass ihn 
besser sein ABER ich darf ihn nich verwenden ich möchte nur die uhr 
endlich fertig bekommen.

von Lukas K. (carrotindustries)


Lesenswert?

David E. schrieb:
> es tut mir leid wenn mein obriger beitrag großkotzig klingt (so ist er
> echt nich gemeint)
> Ich jaule auch nich für irgend einen microkontroller auf. Lass ihn
> besser sein ABER ich darf ihn nich verwenden ich möchte nur die uhr
> endlich fertig bekommen.

Das bezog sich wohl auf mich.
Es hat sich aber jemand deines Problems angenommen: 
Beitrag "Re: Digitaluhr mit wecker"

von MaWin (Gast)


Lesenswert?

> es tut mir leid wenn mein obriger beitrag großkotzig

Du bist die ganze Zeit nicht gemeint, es geht um Lukas
"Aus welchem Museum wurde das wohl nur entwendet?"

von Karl H. (kbuchegg)


Lesenswert?

MaWin schrieb:
>> es tut mir leid wenn mein obriger beitrag großkotzig
>
> Du bist die ganze Zeit nicht gemeint, es geht um Lukas
> "Aus welchem Museum wurde das wohl nur entwendet?"

Was ich persönlich witzig fand:
Denn als der Typ hier ankam, der sich seine CPU aus Transistoren 
aufbaut, haben sich alle überschlagen wie toll das nicht wäre.

von David E. (Gast)


Lesenswert?

Ah cool.
könntet ihr mir wenigstens ne liste mit allen befehlen für meinen 
microkontroller geben oder'n lösungsansatz denn ich bin mit meinen 
latein am ende. mehr als das was in dem link steht hab ich net

von Der Weise (Gast)


Lesenswert?

**Popcorn raushol**

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Man findet auf den Webseiten des Herstellers alle Informationen über den 
Microcontroller, auch sämtliche Befehle des Prozessors.

Wenn Du nicht in der Lage bist, all diese Informationen selbst zu 
recherchieren UND zu verstehen, hast Du es ganz klar auch nicht 
verdient, die Prüfung zu bestehen. Chancengleichheit in der Ausbildung 
ist nicht gleichbedeutend damit, dass jeder Depp durchgeschleust werden 
soll.

von Karl H. (kbuchegg)


Lesenswert?

David E. schrieb:
> Ah cool.
> könntet ihr mir wenigstens ne liste mit allen befehlen für meinen
> microkontroller geben oder'n lösungsansatz denn ich bin mit meinen
> latein am ende. mehr als das was in dem link steht hab ich net


Mit den Befehlen, die du bereits verwendet hast, ist zumindest das 24 
Stunden Problem zu lösen. Du musst nur der Versuchung widerstehen, 
gleich alles in deinen Editor reinzuhacken, sondern dir die Zeit nehmen, 
das durchzudenken.

Was ist wenn?

Das kannst du dir dann aufmalen, zb in Form eines Flussdiagramms (aber 
verbrate nicht deine Zeit mit Lineal und Farben und das es schön 
aussieht. Das soll nur eine Skizze sein, mit der du dein 'Verfahren' in 
schriftlicher Form niederschreibst)
1
                 |
2
                 v
3
           Stunden Einer um 1 erhöhen
4
                 |
5
                 |
6
                 v                          Ja
7
        Stunden Zehner  gleich '2' ?    ---------+
8
                 | Nein                          |
9
                 |                               |
10
                 v              Nein             v                  Nein
11
             Einer gleich '9'+1 ? --> zurueck  Einer gleich '4' ?  ---> zurueck
12
                 | Ja                            | Ja
13
                 |                               |
14
                 |<------------------------------+
15
                 |
16
                 v
17
           Stunden Einer auf '0' setzen
18
           Stunden Zehner um 1 erhöhen
19
                 |
20
                 v                       Nein
21
           Stunden Zehner gleich '3' ? -----> zurueck
22
                 |
23
                 v
24
           Stunden Zehner auf '0' setzen
25
                 |
26
                 v
27
            zurueck: ->ausgabe

wenn du dir jetzt ein paar Uhrzeiten ausdenkst und annimmst dass soeben 
die Minuten von 59 auf 00 umgeschlagen haben und daher die Stunden um 1 
hochgezählt werden müssen und du fährst mit deinem Finger dieses 
Diagramm ab und machst genau das was dort steht, dann muss in allen 
Fällen die Erhöhung der Stunden richtig ablaufen. Wenn nicht: dann 
korrigier das im Diagramm und probiers wieder durch. (Daher ist es eine 
ziemlich gute Idee, wenn man solche Diagramme mit Bleistift zeichnet).

Ist bei deinen 'Finger-Langfahrtests' alles in Ordnung und du denkst, 
dass das Verfahren jetzt stimmt, dann setzt du es in Code um. Alle 
Befehle die du dazu brauchst, hast du im restlichen Code schon 
verwendet, daher geh ich davon aus, dass du sie kennst.


Und mehr Hilfe geb ich jetzt nicht mehr. Denn das Behandeln der 
Überträge bei getrennten Einer und Zehnerstellen um von 0 bis n (egal 
welches n) ist selbst für eine normale Hausaufgabe eine lächerlich 
simple Übung. Bei einer Abschlussarbeit, mit der man gelerntes 
dokumentieren soll gilt das dann noch viel mehr.

von David E. (Gast)


Lesenswert?

Ja dann danke an alle ich denk ich werd den rest jetzt hinbekommen

von Peter D. (peda)


Lesenswert?

Es ist einfacher, wenn Du nicht Zehner und Einer getrennt hältst, 
sondern in einem Byte. Dann kann man bequem auf 60 oder 24 vergleichen.
Und erst zur Ausgabe berechnet man die beiden Stellen ("DIV AB"-Befehl).

Die Befehlsreferenz des 8051 mußt Du schon selber googlen. Da der 8051 
sehr populär ist, gibts die oft sogar auf deutsch.


Für die Meckerer:
Es ist doch egal, wie das Entwicklungsboard aufgebaut ist, Hauptsache 
der CPU-Kern ist der gewünschte.
Für die Produktion nimmt man dann natürlich einen Flash-Typ, z.B. 
DS89C450
Dann braucht man nichtmal mehr ein Programmiergerät (eingebauter 
Bootloader über UART).


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.