Hallo es geht um die Anzahl der Anschlüsse wie es im Betreff schon geschrieben ist. Ich erkläre mal welche Anschlüsse ich für genau was verwende. Ich glaube mir fehlt ein einziger Output-Anschluss... Damit Ihr es bisschen leichter habt, habe ich im Anhang auch die Übersicht für Atmega8. PD0 & PD1 = Bluetooth-Modul. (AUSGANG & EINGANG) PD2 - PD6 = Anzeige / Display (AUSGANG) PB1 & PB2 = Anzeige / Display (AUSGANG) PC0 - PC4 = Anzeige / Display (AUSGANG) PD7 = Sensor (EINGANG) PB0,PB3&PC5 = Taster (EINGANG) (PB3 ist ja der MOSI-Anschluss, darf ich die PINS für die Programmierung durch USB als I/O PINS nutzen? Außer RESET PIN Versteht sich, also SCK, MISO & MOSI?) Jeder Taster schaltet beim Betätigen ein Schalter (Sprich ich brauche für PB0, PB3 und PC5 jeweils einen Ausgang). Wird ein Taster beim angeschalteten Zustand seines Schalters, mehrere Sekunden gedruckt, wird der Schalter wieder ausgeschaltet. Vielleicht habt Ihr Ideen , die Taster&Schalter Bereich ohne Einsatz am uC zu realisieren. Ich freue mich auf eure schnelle (wie immer :D) & hilfreiche Antworten Liebe Grüße :)
:
Bearbeitet durch User
Sercan S. schrieb: > PD2 - PD6 = Anzeige / Display (AUSGANG) > PB1 & PB2 = Anzeige / Display (AUSGANG) > PC0 - PC4 = Anzeige / Display (AUSGANG Welches Display hast Du denn angeschlossen?
Sercan S. schrieb: > (PB3 ist ja der MOSI-Anschluss, darf ich die PINS für die Programmierung > durch USB als I/O PINS nutzen? Außer RESET PIN Versteht sich, also SCK, > MISO & MOSI?) Ja, hat aber mit USB nichts zu tun, sondern mit den ISP Signalen die vom Programmer kommen. > Jeder Taster schaltet beim Betätigen ein Schalter (Sprich ich brauche > für PB0, PB3 und PC5 jeweils einen Ausgang). Wird ein Taster beim > angeschalteten Zustand seines Schalters, mehrere Sekunden gedruckt, wird > der Schalter wieder ausgeschaltet. Vielleicht habt Ihr Ideen , die > Taster&Schalter Bereich ohne Einsatz am uC zu realisieren. ??? Schaltplan! oder bessere Beschreibung.
Sercan S. schrieb: > (PB3 ist ja der MOSI-Anschluss, darf ich die PINS für die Programmierung > durch USB als I/O PINS nutzen? ISP statt USB meinst Du? Na freilich. Du mußt eben sehen, daß Du dort am Besten Taster (als Schließer) dran machst. Die dürfen natürlich nicht während des Programmierens betätigt werden. Wenn Du diese Anschlüssen als Ausgang vorgesehen hast, dann gib Obacht, daß sie während des Flash-Vorganges durch das Programmiergerät (unbeabsichtigt) geschaltet werden. Du mußt dann sicherstellen, daß keine Motoren, Zugmagneten oder solche Sachen dadurch in Bewegung gesetzt werden. MfG Paul
:
Bearbeitet durch User
Solange du mit dem internen RC-Oszillator des Mega8 zurechtkommst, sind auch PB6 und PB7 als I/O verfügbar.
Generation Internet - Frage absetzen und nach 1 bis 2 Tagen schauen, welche Antworten kamen? :-)
>Welches Display hast Du denn angeschlossen? @Dieter F. (jim_quakenbush) Eine 5-Stellige 7-Segmentanzeige >??? Schaltplan! oder bessere Beschreibung. @Wegner (Gast) Ich habe 3 Knöpfe / Taster : Taster 1 schaltet -> Relais1 Taster 2 schaltet -> Relais2 Taster 3 schaltet -> Relais3 Wird Taster 1 länger betätigt z.B. 3 Sekunden, wird Relais1 (meinetwegen auch ein Transistor) ausgeschaltet. Wird Taster 2 länger betätigt , wird Relais2 ausgeschaltet. Wird Taster 3 länger betätigt, wird Relais3 ausgeschaltet. >ISP statt USB meinst Du? @Paul Baumann (paul_baumann) Genau, habe mich verschrieben =) Matthias S. schrieb: > Solange du mit dem internen RC-Oszillator des Mega8 zurechtkommst, > sind > auch PB6 und PB7 als I/O verfügbar. Also ich benutze, derweil die volle 8Mhz was der Mega8 auch intern schwingt, aber habe irgendwo gelesen zu haben, dass die XTAL1 & XTAL2 PINS nicht als I/O benutzt werden können? Muss ich dafür an die Fuse-Bits ran ?
Sercan S. schrieb: > Eine 5-Stellige 7-Segmentanzeige 74HC595 Beitrag "7-Segment Anzeige" (Spannend, das Du da schon dabei warst ...)
> 74HC595 > > Beitrag "7-Segment Anzeige" > > (Spannend, das Du da schon dabei warst ...) Tut mir leid, aber ich habe mich da auf einfachem multiplexing entschieden bevor ich mich an die Schieberegister ranwage, da ich ja wenig Erfahrung habe :) Da ich die einzelnen Segmente dort direkt mit den Strom von den jeweiligen PINS der uC angespeist habe, habe ich mich danach mit Transistoren als Schalter beschäftigt (Grund war die verschiedene Helligkeit bei bspw. Ziffer 1 oder 8 usw.) Wenn ich durch die Schieberegister so viel I/O's spare, dass ich die ISP-PINS nicht nutzen brauche, dann würde ich in den nächsten Tagen Tutorials dafür raussuchen und ausprobieren? ? Insgesamt bräuchte ich ja beim Multiplexen ohne Schieberegister 7+5 = 12 I/O's . Wie viele I/O-Pin swürde ich durch den Einsatz von Schieberegister 'einsparen'?
:
Bearbeitet durch User
Sercan S. schrieb: > Wie viele I/O-Pin swürde ich durch den Einsatz von > Schieberegister 'einsparen'? 9
Sercan S. schrieb: > Wenn ich durch die Schieberegister so viel I/O's spare, dass ich die > ISP-PINS nicht nutzen brauche, dann würde ich in den nächsten Tagen > Tutorials dafür raussuchen und ausprobieren? ? Schon mit einem einzigen 8-Bit Schieberegister kann man 6 IO-Pins einsparen. Das lässt sich auch leicht ausrechnen. Das 8-Bit Schieberegister besitzt, wie die Bezeichnung es vermuten lässt, beispielsweise 8 Ausgänge. Zum Ansteuern braucht man eine Datenleitung und eine Taktleitung, also zwei. Die Differenz sind 6 eingesparte IOs.
> Muss ich dafür an die Fuse-Bits ran ?
Nein, eher umgekehrt. Du musst Fuse-Bits ändern, wenn du sie NICHT als
I/O Pins verwenden willst.
Sercan S. schrieb: > aber habe irgendwo gelesen zu haben, dass die XTAL1 & XTAL2 > PINS nicht als I/O benutzt werden können? Kannste mal sehen, was für ein Bockmist im Internet steht. Die einzige zuverlässige Quelle ist das Datenblatt, und das sagt eindeutig, das PB6 und PB7 normale I/Os sind, solange man nicht einer der externen Clock Modi benutzt oder Timer 2 per ASSR Register auf TOSC, also auf den asynchronen (Uhrenquarz) Modus geschaltet ist. Für deine normale Anwendung ohne ext. Clock oder Uhrenquarz sind PB6 und PB7 also frei verfügbar. Stefan U. schrieb: > Du musst Fuse-Bits ändern, wenn du sie NICHT als > I/O Pins verwenden willst. Geh bloss nicht an PC6 ran. Wenn du den Resetpin umfused als I/O, sperrst du dich dauerhaft aus. Die einzige Fuse, die für dich interessant ist, ist CKDIV8 - und die hast du bereits richtig gesetzt.
:
Bearbeitet durch User
Ich wurde eine 74HC573 nehmen. Der hat 8 Ein- und 8 Ausgänge du legst also deine Ausgänge an dessen Eingänge legst die Daten an klingelst an den Steuerleitungen dann wird das Signal übernommen falls gewünscht ausgegeben, die Eingänge kann man dann wieder hochohmig schalten und die ATMega Ausgänge anderweitig benutzen oder sogar als Eingänge umschalten.
Thomas O. schrieb: > Ich wurde eine 74HC573 nehmen. Mit 11 Portpins (8 X Daten und 3 X Latchpuls) und 3 Stück 74HC573 habe ich mal den Mega8 auf 24 Ausgänge erweitert.
>Schon mit einem einzigen 8-Bit Schieberegister kann man 6 IO-Pins >einsparen. @Wolfgang (Gast) Das hört sich ja Interessant an, da ich ja nun weiß, dass ich die XTAL PINS ohne Probleme als I/O PINS Verwenden kann, nehme ich erst einmal diese PINs. Aber werde mit den 74HC595 bisschen rumexperimentieren, damit falls ich in diesem Projekt mal, doch mehr Aus/Eingänge brauche mit Schieberegister arbeiten kann. Habt Ihr evtl. ein Tutorial, welches Ihr mir empfehlen könnt? Ansonsten suche ich mir selbst eins. Matthias S. schrieb: > Thomas O. schrieb: >> Ich wurde eine 74HC573 nehmen. > > Mit 11 Portpins (8 X Daten und 3 X Latchpuls) und 3 Stück 74HC573 habe > ich mal den Mega8 auf 24 Ausgänge erweitert. Ich verstehe, das nicht so ganz... Mega8 hat doch von werk aus "23" I/O-PINS?
Sercan S. schrieb: >>Schon mit einem einzigen 8-Bit Schieberegister kann man 6 IO-Pins >>einsparen. ...und kann auch noch den Dezimalpunkt ansteuern...
Sercan S. schrieb: >> Mit 11 Portpins (8 X Daten und 3 X Latchpuls) und 3 Stück 74HC573 habe >> ich mal den Mega8 auf 24 Ausgänge erweitert. > > Ich verstehe, das nicht so ganz... Mega8 hat doch von werk aus "23" > I/O-PINS? Eben - nur 23. Es ging um ein Bedienpanel eines 4-Kanal Multitrackers mit massenweise Displays, LEDs und Buttons, bei dem ich den Ablaufprozessor zermanscht hatte. Ausserdem musste das kleine Kerlchen auch noch ein Laufwerk steuern und ne serielle Schnittstelle haben. So hatte ich also 24 Ausgänge auf den Latches (16 für die Matrix und 8 fürs Laufwerk) und dann noch 12 Pins am Controller frei für Laufwerks-Eingänge, Panelbuttons, UART und Interrupt Krams vom Wheelsensor.
Ich habe direkt hier im Forum ein Tutorial (https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister) darüber gefunden. Dort steht geschrieben, dass der SER Eingang mit den 8 Bits nacheinander angespeist werden müssen und mit einem 0-1-0 Puls nach jedem Bit an SCK wird ein einzelner Bit bestätigt. Verstehe ich dies so richtig: Nehmen wir mal an ich würde die Zahl 34567 auf der 7-Segment Anzeigen lassen, müsste ich ja A = 1, B = 1, C = 1, D = 1, E = 0, F = 0, G = 1 . Da ich nun den höchsten Bit als erstes angeben muss, muss ich wie folgt vorgehen: ZIFFER 1 = Ansteuern SCL = 0 (Daten in Schieberegister löschen) SCL = 1 ( SER = 1, SCK= 0-1-0 (G=1) SER = 0, SCK= 0-1-0 (F=0) SCK= 0-1-0 (E=0) SER = 1, SCK= 0-1-0 (D=1) SCK= 0-1-0 (C=1) SCK= 0-1-0 (B=1) SCK= 0-1-0 (A=1) RCK = 0-1-0 ZIFFER 2 = Ansteuern SCL = 0 (Daten auf Register löschen) SCL = 1 (Daten) ......... und so weiter Dann brauche ich ja 5 PINS zur Ansteuerung der einzelnen Ziffern (wegen Multiplexing) und die 4 PINS für den Register liege ich bei 9 PINS. Dann würde ich ja aber nur 3 PINS sparen und nicht 6 oder? :hmm:
:
Bearbeitet durch User
Sercan S. schrieb: > und mit einem 0-1-0 Puls nach > jedem Bit an SCK wird ein einzelner Bit bestätigt. Eher mit einem 0-1 Übergang, einer sogen. steigenden Flanke. Ein 1-0 Übergang (fallende Flanke) wird vom Schieberegister ignoriert. > Dann brauche ich ja 5 PINS zur Ansteuerung der einzelnen Ziffern Die Schieberegister können sich alle den Dateneingang teilen, es braucht nur jedes seine eigene Taktleitung. Übrigens nicht die 'Latches' von denen Thomas O. und ich sprachen, verwechseln mit Schieberegistern, das sind verschiedene Ansteuerungen.
:
Bearbeitet durch User
Matthias S. schrieb: > Die Schieberegister können sich alle den Dateneingang teilen, es braucht > nur jedes seine eigene Taktleitung. > Übrigens nicht die 'Latches' von denen Thomas O. und ich sprachen, > verwechseln mit Schieberegistern, das sind verschiedene Ansteuerungen. Ich glaube wir meinen doch das gleiche? Dateneingang = Einzelne Segmente Taktleitung = An/Aus Pin am Segment Dann kämen wir ja denn noch auf 4 Schieberegister für die Daten + 5 Taktleitungen auf = 9 PINS. Dann sind es ja im Gegensatz bei nicht Benutzung von Schieberegister (7 Segmente + 5 Taktleitung) 12-9 = 3 eingesparte PINS? Ich war vorhin auch bei Conrad in der Filiale hatten Sie die 74HC595 nicht mehr vorrätig. Der Verkäufer meinte auch, dass die auslaufen und in der Zentrale nur noch 100 Stk. vorrätig sind. Kann es sein, dass Texas Instruments die 74HC595 nicht mehr produziert?? Dieter F. schrieb: > Generation Internet - Frage absetzen und nach 1 bis 2 Tagen > schauen, > welche Antworten kamen? :-) Ich ignoriere dich nicht mal.
:
Bearbeitet durch User
Ich kann mir kaum vorstellen, das die 74HC595 auslaufen. Alleine der Großhändler Mouse hat davon über 100.000 Stück vorrätig. Vielleicht meinte er, dass Conrad sie nicht mehr anbieten wird. Du kannst alternativ 74HCT595 verwenden, sofern die Versorgungsspannung ungefähr 5V ist.
Sercan S. schrieb: > Dann kämen wir ja denn noch auf 4 Schieberegister für die Daten + 5 > Taktleitungen auf = 9 PINS. Roll mal in dem o.a. Artikel über Schieberegister weiter runter bis zu 'Kaskadierung'. Du kannst nahezu beliebig viele SR hintereinander schalten und brauchst trotzdem immer nur 4 Pins am Controller (inkl. RESET). Das dauert dann alles ein wenig länger und die Hauptaufgabe hat dann die Software, aber Pins sinds immer nur 4.
:
Bearbeitet durch User
Matthias S. schrieb: > Du kannst nahezu beliebig viele SR hintereinander > schalten und brauchst trotzdem immer nur 4 Pins am Controller (inkl. > RESET). Und weil Niemand RESET braucht, genügen immer drei Pins.
Du könntest auch einen Displaytreiber (z.B. MAX7219) verwenden, dann mußt dich auch um das Multiplexen nicht kümmern.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.