Von Atmega zu Atmega mit UART

Gast #2938309
Lesenswert?

Hallo liebes Tüftlerteam,

Ich will bei einer Steuerung auf einem Lcd im Standbymodus eine Uhr auf 
dem Lcd anzeigen lassen. Da der Hauptchip (Atmega8) durch die Steuerung 
schon so voll ist will ich nicht noch die Uhrsteuerung in ihn 
reinpacken. Ich hatte mir gedacht ein anderer Atmel Chip mit HW UART 
könnte die Uhr übernehmen und die Daten über den UART an den Hauptchip 
sendet und dieser zeigt die Uhr dann im Standby anzeigt.

Würde das gehen?

MfG Hannes
#2938332
Lesenswert?

Hannes schrieb:
> Ich hatte mir gedacht ein anderer Atmel Chip mit HW UART
> könnte die Uhr übernehmen und die Daten über den UART an den Hauptchip
> sendet und dieser zeigt die Uhr dann im Standby anzeigt.

> Würde das gehen?
Sicher.

Aber meinst du wirklich, daß du damit etwas sparst?
Ich nehme an, einen Timer hast du sowieso. Dann packst du den 5-7-Zeiler 
"Uhr" damit rein. Das wird garantiert nicht länger als der Empfang und 
Aufbereitung über UART.

mfg.
Gast #2938337
Lesenswert?

Naja wenn mir einer sagen kann ob man mit einem Atmega16 2Stk 16*2 Lcd 
ansteuernkann (gleichzeitig) dann würd ich das machen aber ich glaub das 
geht nicht. Wollte insgesamt ne Motorsteuerung bauen mit 2 Kanälen und 
im Standby soll die Zeit angezeigt werden nur ich will die Zeitsteuerung 
nicht noch extra mit in einen Chip hauen.
#2938344
Lesenswert?

Hannes schrieb:
> Naja wenn mir einer sagen kann ob man mit einem Atmega16 2Stk 16*2 Lcd
> ansteuernkann (gleichzeitig)

Gibt es einen Grund, warum das nicht gehen soll?
(ausser, das du die Pins nicht mehr hast und ansonsten auf eine 
SChieberegister-Lösung angehen müsstest).

> dann würd ich das machen aber ich glaub das
> geht nicht. Wollte insgesamt ne Motorsteuerung bauen mit 2 Kanälen und
> im Standby soll die Zeit angezeigt werden

und was macht das 2.te LCD?

> nur ich will die Zeitsteuerung
> nicht noch extra mit in einen Chip hauen.

Eine Uhr ist trivial.
#2938351
Lesenswert?

Dein Hauptfehler:
Du denkst, die Dinge werden einfacher, wenn du mehr µC einsetzt.
Du könntest nicht falscher liegen! Die Dinge werden komplizierter, je 
mehr µC zusammenarbeiten müssen. Und das beginnt bereits bei 2 µC.
Sowas macht man nur, wenn die Not extrem groß ist. Und dann auch nur 
unter Protest.
#2938352
Lesenswert?

Hannes schrieb:
> Timer1 geht schon für mür die PWM weg
Aber zwei hast du dann ja noch.
Ich will dir das nicht ausreden mit dem zweiten Controller. Aber solange 
sich das vermeiden lässt, solltest du das auch vermeiden. Da kann man 
sich viel Stress mit einhandeln. Und ob du nun einen Timer mit ISR oder 
eine UART-ISR hast, die das Hauptprogramm irgendwie veranlassen etwas 
auf das Display zu schreiben, ist Jacke wie Hose.

mfg.
Gast #2938363
Lesenswert?

Ok Danke schoneinmal

Also geplant war eigendlich auch insgesamt ein Atmega16 oder 32. Nur ich 
weiß nicht wie ich 2 LCDs gleichzeitig ansteuern kann deswegen wollte 
ich die beiten Kanäle einzeln aufbauen aber wenn das geht ist ja gut. 
Kann mir denn einer ein Beispiel oder ähnlich senden wo sowas 
erklärt/gezeigt wird?
(Ich benutze Bascom)

Danke schonmal

Hannes
#2938368
Lesenswert?

Hannes schrieb:
> Ok Danke schoneinmal
>
> Also geplant war eigendlich auch insgesamt ein Atmega16 oder 32. Nur ich
> weiß nicht wie ich 2 LCDs gleichzeitig

"gleichzeitig" ist ein grßes Wort.

Mit einem Zeitversatz von ein paar Zehntel Millisekunden ist sicherlich 
immer noch ausreichend.
Für den Benutzer IST DAS GLEICHZEITIG. Für deinen µC ist das: erst das 
eine, dann eine Runde Karten spielen, kleines Nickerchen, dann das 
andere.

(Wir reden doch von Text-LCD. Oder?)


> (Ich benutze Bascom)
Nix gegen BASCOM. Aber wenn ich in vernünftiger Zeit von München nach 
Frankfurt fahren will, nehm ich auch nicht das Mountainbike - so toll es 
auch ist.
Gast #2938379
Lesenswert?

Ach das heist ich kann 2  16*2 LCd als 16*4 definieren. oder wie ? Nur 
wie schließe ich das jetzt an? Ich kann doch nicht einfach die 
Datenleitung von den LCDs zusammen klemm (Db0 von Lcd1 an Db0 Lcd2, 
usw...). Wie macht man das?
#2938382
Lesenswert?

Hannes schrieb:
> Ach das heist ich kann 2  16*2 LCd als 16*4 definieren. oder wie ? Nur
> wie schließe ich das jetzt an? Ich kann doch nicht einfach die
> Datenleitung von den LCDs zusammen klemm (Db0 von Lcd1 an Db0 Lcd2,
> usw...).

Natürlich kann man.
Das LCD, dessen E-Leitung getoggelt wird, das reagiert.

> Wie macht man das?
Tja. das dürfte jetzt in BASCOM mit seiner vorgefertigten 1-LCD Lösung 
etwas knifflig werden. Das liegt aber nicht am µC, es liegt nicht am LCD 
sondern es liegt daran, dass man mit BASCOM da dann einfach nicht mehr 
die Kontrolle darüber hat. (Meines Wissens. Aber das heißt nicht viel. 
Ich benutze BASCOM nicht. Mit jeder anderen Programmiersprache ist das 
nämlich ein Kinderspiel. Sofern man die Sprache beherrscht, 
selbstverständlich)
Gast #2938387
Lesenswert?

Nagut ok ich progge jetzt seit ich 12 bin mit Basic also seit 3 Jahren 
(C64) und fange grade erst mit C an deswegen. Kann mir zur eben schon 
gestellten Frage ein Bascomprofi helfen oder einer der auch mit Bascom 
zu tun hat?

MfG Hannes
#2938388
Lesenswert?

Karl Heinz Buchegger schrieb:
> Hannes schrieb:
>> Ach das heist ich kann 2  16*2 LCd als 16*4 definieren. oder wie ? Nur
>> wie schließe ich das jetzt an? Ich kann doch nicht einfach die
>> Datenleitung von den LCDs zusammen klemm (Db0 von Lcd1 an Db0 Lcd2,
>> usw...).
>
> Natürlich kann man.
> Das LCD, dessen E-Leitung getoggelt wird, das reagiert.
>
>> Wie macht man das?
> Tja. das dürfte jetzt in BASCOM mit seiner vorgefertigten 1-LCD Lösung
> etwas knifflig werden. Das liegt aber nicht am µC, es liegt nicht am LCD
> sondern es liegt daran, dass man mit BASCOM da dann einfach nicht mehr
> die Kontrolle darüber hat. (Meines Wissens. Aber das heißt nicht viel.
> Ich benutze BASCOM nicht. Mit jeder anderen Programmiersprache ist das
> nämlich ein Kinderspiel. Sofern man die Sprache beherrscht,
> selbstverständlich)


Das behandelt den 2 Stück 16*2 Fall.
Ein 16*4 LCD ist meines Wissens auch in BASCOM kein Problem.
#2938398
Lesenswert?

Hannes schrieb:

> gestellten Frage ein Bascomprofi helfen oder einer der auch mit Bascom
> zu tun hat?

Schau halt mal in die Hilfe zu BASCOM
(Hast du auch auf deinem Rechner. In BASCOM einfach mal F1 drücken)

http://avrhelp.mcselec.com/

Unter 'Language Reference' den Abschnitt "CONFIG LCD"
1
LCDtype
2
The type of LCD display used. This can be :
3
 
4
40x4,16x1, 16x2, 16x4, 16x4, 20x2, 20x4, 16x1a or 20x4A.
5
Default 16x2 is assumed.

Wie kommt es eigentlich, dass immer die Nicht-BASCOM-Programmierer den 
BASCOM Programmierern die entsprechenden Abschnitte in der Hilfe 
raussuchen müssen?
Gast #2938411
Lesenswert?

Hannes schrieb:
> Nein Nein Nein, ich möchte wissen WIE ICH DIE LCDS JETZT MITEINANDER
> VERBINDE BZW ZUSAMMEN AN DEN µC ANSCHLIESSE wenn ich Config Lcd = 16*4
> nehme ??!!??

Das geht nicht.
Ließ dir durch wie ein LCD angesteuert wird. Dann wirst du die Lösung 
für dein Problem finden.
Gast #2938412
Lesenswert?

Mensch ... Ich will Doch nur 2 Stück 16*2 Lcds an einen Atmega16 
anschliessen und diese Gleichzeitig betreiben! Nur wie Shcließe ich die 
LCDs jetzt an sodass ich beide gleichzeitig mit Einem Atmega 16 
betreiben kann?
Gast #2938415
Lesenswert?

Hannes schrieb:
> Mensch ... Ich will Doch nur 2 Stück 16*2 Lcds an einen Atmega16
> anschliessen und diese Gleichzeitig betreiben! Nur wie Shcließe ich die
> LCDs jetzt an sodass ich beide gleichzeitig mit Einem Atmega 16
> betreiben kann?

Ist oben doch schon erklärt. Lern lesen.
#2938805
Lesenswert?

Leutz ich muss sagen, wenn ich mir so manchen Tread ansehe, hier ist zum
Teil ein recht unfreundliches Klima.

Ich weis das es nervt zum 793. mal das gleiche zu erklären.

Mir geht das manchmal auch so, man sucht sich nen Wolf, wird aber nicht
fündig, weil man nicht die richtigen Suchbegriffe formuliert.
Und dann fragt man halt.
Sicher kann und soll niemand eine fertige Lösung präsentieren, denken 
muss man selber, auch wenns zeitweise weh tut.

Aber ein Link, oder ein Hinweis wonach man suchen soll, ist oft 
hilfreich.

Ich hab von Bascom keine Ahnung, werde ich auch nie bekommen.
Ich bleibe lieber beim C und für zeitkritische Dinge wenns sein muss
auch mal Assembler. Somit kann ich zum Problem leider nichts beitragen.

Und mal ganz am Rande:
Seit froh das die Kids sich mit dem Kram beschäftigen und nicht kiffend 
und saufend auf der Straße rumhängen.
Ich find man muss das Interesse fördern, sonst verliert man schnell den
Spaß an der Sache.
Das wäre schade und geht sicher nicht mit Sprüchen wie "Lies erstmal".

Auch wenn das hier nicht zum Thema gehört, mir brannte es unter den
Nägeln dies mal kund zutun.

Also nix für ungut, aber vieleicht einfach mal drüber nachdenken.
Jeder hat mal klein angefangen!


In dem Sinne....immer ein Bit übrighalten!

Hans
Gast #2938949
Lesenswert?

So könnte es gehen (umständlich, aber BASCOM geschuldet):

A) Zwei 16x2 LCD können nicht so zusammen geschaltet werden, dass der 
Controller ein 16x4 LCD sieht.

B) Zwei 16x2 LCD können nur so zusammen betrieben werden, wenn mit 
Ausnahme der E(nable)-EingÄnge alle anderen Leitungen der LCDs parallel 
geschaltet werden.

C) Diese beiden E-Pins werden über einen 2-zu-1-Multiplexer an den 
Controller angeschlossen.

D) BASCOM kann jetzt normal auf ein 16x2 LCD zugreifen. Wenn es auf das 
andere LCD zugreifen will, muß vorher der Multiplexer das andere E-Pin 
an den Controller schalten.

Umständlich, aber mit "Hausmitteln" machbar.


Blackbird
#2938997
Lesenswert?

Blackbird schrieb:

> Umständlich, aber mit "Hausmitteln" machbar.

Und genau das macht die im RN-Link erwähnte LCD-Library.
Sie arbeitet mit 2 E-Leitungen.


> Das wäre schade und geht sicher nicht mit Sprüchen wie "Lies erstmal".

Sorry. Kommt immer drauf an.
Wenn die Antwort (zum Teil) in der Online-Hilfe steht und man im Grunde 
nur bei der Anweisung nachsehen muss, in der ein LCD konfiguriert wird, 
dann ist "Lies erstmal" angebracht.
Wir sind doch hier nicht im Kindergarten. Das Arbeiten mit der Hilfe 
(und die ist bei BASCOM nicht schlecht) gehört zur Arbeit eines 
Programmierers mit dazu. Wenns um irgendein esoterisches Statement geht, 
sag ich ja noch nichts. Aber ein LCD zu konfigurieren ist doch Standard 
in BASCOM. Dann sieht man halt mal in der Hilfe nach, welche 
Möglichkeiten es da gibt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren