Forum: Mikrocontroller und Digitale Elektronik ATmega88 soll mit PC kommunizieren.


von Silver69 (Gast)


Lesenswert?

Hallo!

Wie der Titel schon sagt: Der Mega88 soll mit dem PC über RS232 
kommunizieren.

Ich muss mal eine Grundlegende Frage stellen, sonst komm ich hier nie 
weiter:

Also:

Angeschlossen ist das ganze so:

Mega88 - Pin2 (PD0(RXD)) => MAX202 Pin12 (R1OUT)
Mega88 - Pin3 (Pd1(TXD)) => MAX202 Pin9  (T1IN)

Am Mega88 ist auch noch ein Quarz (1,843200 MHz) angeschlossen, und zwar 
am Pin9 (XTAL1)

Wenn ich jetzt im Datenblatt vom Mega88 lese:

a) 17. Serial Peripheral Interface – SPI
b) 18. USART0
c) 19. USART in SPI Mode
d) 20. 2-wire Serial Interface

Das verwirrt mich ein wenig... Welche der 4 ist die für mich richtige 
Methode? Ich habe zwar eine Vermutung, da ich den Publikumsjoker aber 
nicht verunsichern will, sage ich mal gar nichts. :P

von (prx) A. K. (prx)


Lesenswert?

Silver69 wrote:

> Am Mega88 ist auch noch ein Quarz (1,843200 MHz) angeschlossen, und zwar
> am Pin9 (XTAL1)

Nun hat ein Quarz aber 2 Beine. Wo ist das zweite?

Was su suchst steht in 18.

von ARM-Fan (Gast)


Lesenswert?

USART0

von Silver69 (Gast)


Lesenswert?

Danke schon einmal für die schnellen Antworten!

Hmm.... laut Reichelt hat der Quarz 4 Anschlüsse, aber einer davon ist 
nicht beschaltet...

Anschlüsse:
· 1 nicht beschaltet
· 7 Masse
· 8 Ausgang
·14 Speisespannung

von gast (Gast)


Lesenswert?

> Hmm.... laut Reichelt hat der Quarz 4 Anschlüsse, aber einer davon ist
> nicht beschaltet...

verwechselst du da etwa den Quarz, mit nem Quarzoszillator?

von Hmm... (Gast)


Lesenswert?

> Hmm.... laut Reichelt hat der Quarz 4 Anschlüsse, aber einer davon ist
> nicht beschaltet...
>
> Anschlüsse:
> · 1 nicht beschaltet
> · 7 Masse
> · 8 Ausgang
> ·14 Speisespannung

Sicher das es ein Quarz und kein Oszilator ist? Verrat doch mal die 
genaue Bauteilbezeichnung.

> Angeschlossen ist das ganze so:
>
> Mega88 - Pin2 (PD0(RXD)) => MAX202 Pin12 (R1OUT)
> Mega88 - Pin3 (Pd1(TXD)) => MAX202 Pin9  (T1IN)

Klingt soweit Ok. R1IN kommt dann an TX vom PC und T1OUT geht an RX vom 
PC.

> Am Mega88 ist auch noch ein Quarz (1,843200 MHz) angeschlossen, und zwar
> am Pin9 (XTAL1)

So wird eine externe Taktquelle angeschlossen. Ein Quarz kommt an XTAL1 
und XTAL2. Zusätzlich braucht es noch die Lastkapazitäten. siehe 
Tutorial hier:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Quarz_statt_Quarzoszillator

> Wenn ich jetzt im Datenblatt vom Mega88 lese:
>
> a) 17. Serial Peripheral Interface – SPI
> b) 18. USART0
> c) 19. USART in SPI Mode
> d) 20. 2-wire Serial Interface
>
> Das verwirrt mich ein wenig... Welche der 4 ist die für mich richtige
> Methode?

b.) USART0

Irgendwo im Datenblatt steht sicher auch, welches Peripheriemodul an 
welchen Portpins mündet.


> Ich habe zwar eine Vermutung, da ich den Publikumsjoker aber
> nicht verunsichern will, sage ich mal gar nichts. :P

Ansonsten bleibt ja noch der 50:50 Joker ;)

von spess53 (Gast)


Lesenswert?

Hi

>> Anschlüsse:
>> · 1 nicht beschaltet
>> · 7 Masse
>> · 8 Ausgang
>> ·14 Speisespannung

>Sicher das es ein Quarz und kein Oszilator ist? Verrat doch mal die
>genaue Bauteilbezeichnung.

Das ist ein Oszillator!!! Und dann ist auch XTAL1 richtig.

MfG Spess

von Silver69 (Gast)


Lesenswert?

Ja, richtig, es ist ein Oszillator. Bei Reichelt:
OSZI 1,843200 :: Quarzoszillator, 1,843200 MHz.

Bis vor 10 Minuten wusste ich gar nicht, dass da ein Unterschied 
besteht.
Aber wie ich erfreut lese, kann ich auch diesen Quarzoszillator 
benutzen?

Morgen sollten die restlichen Teile kommen, dann kann ich endlich die 
Schaltung aufbauen und testen ob es funktioniert. Da bin ich schonmal 
gespannt.

von Silver69 (Gast)


Lesenswert?

Hallo!

So, die Schaltung ist nun endlich aufgebaut und funktioniert nicht.

Deshalb habe ich noch ein paar Fragen:

Ich möchte ja diesen Quarzoszillator als externen Tackt benutzen. Hierzu 
habe ich im Programm (Diese Send-Bespiel, hier aus dem Tutorial) die 
Tacktfrequenz geändert in:

.equ F_CPU = 1843200

Ist das richtig?
Muss ich noch etwas einstellen, damit der externe Tackt benutzt wird?

Wenn ich im Hyper-Therminal eine Taste drücke, wird die dann automatisch 
an die Schnittstelle übertragen? Schon lange her, dass ich dieses 
Progamm das letzte mal benutzt habe.

von B e r n d W. (smiley46)


Lesenswert?

Erstmal ein Gesundes Neues Jahr an alle!

Im Hyperterminal und im Programm die selbe Baudrate eingestellt?
Wie hast du das Programm übertragen/programmiert?
Hat der ATmega88 einen Blockkondensator?
Und einen 10k Pullup am Reset?

Ich würde erst mal eine LED blinken lassen, wenn das Programm richtig 
startet. Dann weisst du wenigstens, ob deine Toolchain richtig 
funktioniert.

Gruss, Bernd

von Hmm... (Gast)


Lesenswert?

> Erstmal ein Gesundes Neues Jahr an alle!

Ich schließ mich mal an, wünsche allen hier ein gesundes neues Jahr.

> Ich möchte ja diesen Quarzoszillator als externen Tackt benutzen. Hierzu
> habe ich im Programm (Diese Send-Bespiel, hier aus dem Tutorial) die
> Tacktfrequenz geändert in:
>
> .equ F_CPU = 1843200
>
> Ist das richtig?

Ja, sofern du einen 1.8432MHz Takt verwendest.

> Muss ich noch etwas einstellen, damit der externe Tackt benutzt wird?

Ein neuer Atmega88 läuft mit dem internen 8MHz-RC-Oszilator und der 
DIV8-Fuse aktiviert, d.h. der Controller läuft mit ETWA 1MHz Takt.

> Wenn ich im Hyper-Therminal eine Taste drücke, wird die dann automatisch
> an die Schnittstelle übertragen? Schon lange her, dass ich dieses
> Progamm das letzte mal benutzt habe.

Ja, Hyperterminal sendet jede Taste sofort raus. Wenn Hardware-Handshake 
aktiv ist, reagiert das Programm allerdings oft etwas seltsam. Am besten 
du suchst mal nach HTerm oder benutzt Putty. Mit HyperTerminal bin ich 
nie richtig warm gewurden.

von Silver69 (Gast)


Lesenswert?

Wünsche auch allen ein frohes, neues Jahr... Glück auf!
Und vielen Dank an alle, es funktioniert jetzt. ES sendet und empfängt 
;-)

Musste die "CHKOUT" Fuse setzten, dann hat es funktioniert....

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.