Hey Ich bin Moritz und bin neu hier im Forum. Ich wurde oft bei Fragen auf diese Seite verwiesen, sodass ich beschlossen habe mich hier anzumelden :) Ich habe seit einem Jahr einen kleinen Computer in Planung. Als Herzstück dient ein ATmega8-16PU, der "Display" besteht aus 2 Doppel-Siebensegmentanzeigen, und als Eingabemöglichkeit hat man ein Tastenfeld mit den Tasten 0-9, 4 Sondertasten und eine Eingabetaste. Ich habe mir über einige Details viele Gedanken gemacht. So ist beispielsweise alles Modular mit Steckkarten aufgebaut. Auf dem "Mainboard" befindet sich das Netzteil mit einem 7805er und einem großzügig dimensioniertem Kühlkörpe, dann noch jeweils ein 470µF Elko und ein 100nF Kondensator vor dem Eingang des Spannungsreglers und ein 220µF Elko und ein 100nF Kondensator am Ausgang. Zudem hat das ganze natürlich einen Gleichrichter um vor Verpolung zu schützen ;) Die Steckplätze bestehen aus 2 nebeneinander gelöteten 2*13 poligen Stiftleisten und das 5 mal! Schützt zwar nicht vorm falschen Einsetzen der Karten aber wenn man etwas aufpasst geht das schon ;D Viele werden sicher denken das über ein Jahr Planung dafür ziemlich viel ist, aber es ist mein erstes EIGENES größeres Projekt :D Zu der "Steuereinheit" gibt es eigentlich nicht so viel zu sagen. Ein ATmega8 (arbeitet bei mit mit 1 MHz internem Takt), welchen man über ein SPI-kabel (http://www.dieelektronikerseite.de/uC%20Ecke/Lections/SPI-Kabel%20-%202%20Welten%20treffen%20aufeinander.htm) programmieren kann. 4 Eingänge für die Tastatureinheit, 16 Ausgänge für die Displayeinheit und 2 Extraports. Momentan ist der ATmega8 noch ein "unbeschriebenes Blatt"... Die Tastatureinheit habe ich noch nicht getestet. Der 74HCT4067 soll EIGENTLICH die Tastensignale in ein digitales Signal umwandeln.. Bei der Displayeinheit (Grafikkarte ;) ) habe ich noch Probleme. Als Grafikchips habe ich mich für 4 MOS4056 entschieden. Mein Problem besteht momentan dadrin, dass die Siebensegmentanzeigen komplett aufleuchten egal was ich mache. Könnte das daran liegen das ich "Strobe" und "Display freq. in" nicht angeschlossen habe? Naja vielleicht weiß jemand von euch ja was :) Und vielleicht interessiert es ja sogar jemanden xD Gruß Moritz
pins sollte man immer alle belegen, sonst kann es unter anderem passieren das die ganze anzeige leuchtet ^^
ja schon klar aber wie? Ich habe lange gesucht wofür die sein sollen und aus dem Datenblatt wurde ich auch nicht schlauer... Ich habe irgendwo gelesen das der "Display freq. in" Pin für Kristallanzeigen ist und die ne Frequenz brauchen oder sowas ?!? Ich habe aber ganz normale LED anzeigen wieso brauchen die ne Frequenz?? Und was dieser "Strobe" sein soll weiß ich leider auch nicht :(
Moritz Wenzel schrieb: > Ich habe aber ganz normale LED anzeigen wieso brauchen die ne Frequenz?? Über eine sog. PWM könnte man die Helligkeit regeln. http://de.wikipedia.org/wiki/Pulsweitenmodulation Moritz Wenzel schrieb: > Und was dieser "Strobe" sein soll weiß ich leider auch nicht :( Das könnte man im Datenblatt nachlesen :) :( -> :)
Zeig doch mal deine Schaltpläne. IMHO hast du dir da eine Menge Arbeit gemacht. Ob sinnvoll oder nicht, darüber kann man jetzt diskutieren. Was willst du mit dem 4056? Das ist doch ein 7-Seg Treiber für LCD! und nicht für banale LED Anzeigen. Persönlich würde ich da nicht lange fackeln. 7-Seg LED über Schieberegister angeschlossen, ev. noch Leistungstreiber dazwischen, wenn ich nicht mit wenig Strom fahren will um die 595 zu schonen. Langt völlig und ist im Gegenteil viel universeller, weil ich jedes Segment einzeln ansteuern kann und so auch Dinge mit dem 7-Seg machen kann, die ich mit so einem Treiber nicht machen kann. > Momentan ist der ATmega8 noch ein > "unbeschriebenes Blatt"... Ich interpretiere das so, dass du den Mega8 noch kein einziges Mal programmiert hast. Das halte ich nicht für schlau, überhaupt wenn es dein erstes Projekt ist. Du baust und baust und baust und weißt eigentlich nichtz so recht wies geht. Ein Probeaufbau auf einem Steckbrett hätte dir viel mehr Einsichten gebracht als da jetzt 1 Jahr lang zu planen. Wie willst du vernünftig planen, wenn du keine praktische Erfahrung hast.
Also ich fand eben dies hier: { Betrieb: Liegt ein High am Strobe-Eingangan, so werden die Daten an den BCD-Eingängen zu den 7-Segment-Ausgängen gewandelt. Ein Low am Strobe-Eingang speichert die anliegenden Daten und die ausgewählten Segmente verbleiben in ihrem Zustand. Um ein gemeinsames DF-Ausgangssignal zu liefern, muß der 4056 zusammen mit einem 4054 verwendet werden. Der CMOS 4056 entspricht bis auf den zusätzlichen Zwischenspeicher dem 4055. } jetzt muss ich also high (5V) am Strobe eingang anlegen da ich nix zwischenspeichern will und den DF in kann ich so lassen oooder? :D
Hi Verstehe es doch mal. Der 4056 ist für Flüssigkristall-Anzeigen. Du hast LED-Anzeigen. Das sind völlig verschieden Technologien. Deine Anzeigen kannst du mit dem 4056 nicht ansteuern. MfG Spess
oh sorry habe das andere nicht gelesen gehabt davor... hmmm dann muss ich das mit den schieberegistern machen?! Das mit dem "unbeschriebenen Blatt" war so gemeint das er noch in seinem originalzustand ist und ich DIESEN ATmega noch nicht programmiert habe.. Das soll nicht heißen das ich das noch nie gemacht habe ;) ICh habe dieses Projekt zum lernen begonnen, nicht um irgendwie schon alles zu können sondern um zu lernen wie sowas funktioniert und wie man sowas macht und die Teile besser kennen zu lernen... Wenn ich schon alles könnte und wüsste dann müsste ich das nicht machen! Das es sich nicht im geringsten rechnet ist mir auch klar, alleine die Teile waren alle schon so teuer das ich mir davon was anderes hätte kaufen können, was wesentlich mehr kann. Aber es geht mir auch nicht ums Geld sondern einfach darum das mir das spaß macht und ich dabei etwas lerne! MfG Moritz
Die Schaltpläne folgen auch noch dauert kurz muss die erstmal zusammensuchen ;)
Ich suche die ganze Zeit den Computer und auch die Grafikchips etc...
hmmm..., ist schon eine schöne sache was du machst. so etwas habe ich auch vor, irgendwie mal einen computer im miniformat zu bauen auf der untersten avr-stufe. interessant hier im forum ist auch das avr-basic auf einen avr644p. da kannst du mal schauen wie ein interpreter funktioniert. das programm ist sehr übersichtlich geschrieben. es passt zu deiner idee, wenn die weiter gereift ist. also , viel spass und berichte hier öfter mal...
Also !!GANZ WICHTIG!! Display kann so NICHT gebaut werden, da die Treiber Bausteine FALSCH sind! Aber das waren meine entgültigen entwürfe (Controllercard und Mainboard sind neuer) Das mit dem Schieberegister verstehe ich nicht tut mir leid! Also ich verstehe das prinzip davon schon aber nicht diese seltsame Beschaltung davon: http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXxrty.pdf Gibt es keine Bausteine die ähnlich wie dieser MOS4056/55 sind nur halt für LED anzeigen?
@roboter: Cool werde ich mir mal anschauen.. Ja kann ich machen also erstmal muss das ding laufen ;) Und ob das mit der Tastatureinheit so funktioniert muss ich auchnoch mal sehen... Ich bin da ja etwas pessimistisch seit meiner Displayeinheit...
Zum Schieberegister findest du was im AVR-Tutorial: AVR-Tutorial: Schieberegister Die Lösung ist sicher die flexiblerer, da du nicht auf Zahlen beschränkt bist, sondern mit deiner "Grafikkarte" beliebige Muster ausgeben kannst. Wenn du das nicht brauchst kannst du dir mal den 4511 Chip anschauen.
Moritz Wenzel schrieb: > Gibt es keine Bausteine die ähnlich wie dieser MOS4056/55 sind nur halt > für LED anzeigen? CD4511?
Moritz Wenzel schrieb: > Ich bin da ja etwas pessimistisch seit meiner Displayeinheit... Wohl leider zurecht. Über die Pins ABCD selektiert man welcher X Pin mit dem Y Pin verbunden wird.
der einfachste treiber ist ein klassiker, der gute alte 4511 :) hab davon geschätze 100 hier rumliegen :D der ist einfach zu beschalten und man findet viel dazu bei google. der lässt sich sogar einfach auf einer lochraster aufbauen. man müsst halt nur wissen ob deine anzeigen eine common anode oder kathode haben...
Was sollen eigentlich die Dioden im Display-, Keyboard- und Controller-Board bewirken? Du solltest keinen Eingang eines CMOS ICs einfach offen lassen (wie z.B. der !EN Eingang des 4067). Denn die Eingänge sind so empfindlich das sie alle möglichen Störungen aus der Umgebung empfangen und du somit undefinierte Wechsel zwischen 0 und 1 bekommst.
Achim schrieb: > Denn die Eingänge sind so empfindlich das sie > alle möglichen Störungen aus der Umgebung empfangen und du somit > undefinierte Wechsel zwischen 0 und 1 bekommst. Nicht nur das, sie könnten auch auf ungefähr der halben Betriebsspannung rumhängen und dann ziehen die Bausteine deutlich erhöhten Strom.
Also ich habe mir mal das Datenblatt von dem 4511 angeguckt.. Ich will ja nicht sagen das ich den doof finde aber eigentlich ja doch :-/ Der kann ja NUR die Zahlen 0-9 anzeigen O.o Ich hatte mir ja wenigstens erhofft das der wie der andere noch ein wenig mehr kann (L,A,P,H,-)... Diese Anzeigen habe ich: http://www.pollin.de/shop/dt/NjU0OTc4OTk-/Bauelemente/Aktive_Bauelemente/Displays/LED_Anzeige_BVN_7572SR4.html Und die besitzen eine gemeinsame Kathode. Jetzt mal sone ganz blöde Frage: Bei Reichelt gibt es einmal einen 74HC4511 und einen 47HCT4511 der eine kostet 20 cent mehr. Wo ist da jetzt der Unterschied? Zur Tastatureinheit nochmal: Ich bin etwas verunsichert im Datenblatt steht "16-Channel Analog Multiplexer/Demultiplexer" und es gibt einmal den I/O und den EN pin. Der EN ist laut Datenblatt dazu da alle Kanäle "aus-"zuschalten. Kann ich jetzt in einen der 16 Channels ein Signal (5V) geben und bekomme jeweils ein Digitales Ausgangssignal (4bit) Ach ja damit der EN anschluss nicht ungewollt aktiviert wird schalte ich ihn auf Masse oder?
Ich empfehle auch einen 74HC595 pro Digit, kostet insgesamt nur 3 IO-Pins, egal ob 1 oder 100 Digits. Für die 16 Tasten mach ne 4*4 Matrix und nimm 8 IO-Pins. Für beides findest Du auch fertige Codebeispiele. Peter
Wieso denn nur 3 pins? In dem Tutorial steht man braucht 4 pins.. Das mit der 4*4 Matrix musst du mir nochmal erklären. Soll ich jetzt Besipielsweise einen Taster an 2 Pins anschließen und das mit den anderen auch machen, sodass jeder Taster immer verschiedene Pins nutzt oder wie? Das wäre auch ne gute idee :D Aber erstmal will ich wissen wie das jetzt mit meinem 4067 ist ich will ja nicht alles wegwerfen müssen nur weil ich zu blöd war das "kleingedruckte" zu lesen ;)
Auf der eben von mir verlinkten Seite aus dem Tutorial findest du im Abschnitt "Ansteuerung per Software" warum man auch mit 3 Pins auskommen kann. Zu deinem 4067: Das ist ein Analogschalter, der je nach Eingangssignal auf den Pins A-D einen der X.. Pins mit dem Y Pin verbindet. Da dies Analog geschieht gibt es an der Stelle keinen festen Ein- oder Ausgang. Es wird nicht dekodiert welcher der Taster gedrückt ist. Wenn du den Baustein nutzen wolltest müsstest du auf die key Anschlüsse die Nummer der abzufragenden Taste legen und würdest deren Zustand dann auf dem Y Anschluss ablesen können. Das ist so nicht wirklich sinnvoll.
Wegen der 4x4 Matrix kannst du mal bei Google nach "tastenmatrix" suchen. Die ersten paar Ergebnisse sollten die helfen. Du hast meine Frage nach den Dioden noch nicht beantwortet.
oke dann ist das schonmal geklärt.. Wie sieht es mit meiner Controllerkarte und dem SPI interface aus.. Ist da soweit alles in ordnung? Ich habe den ATmega8 schon mal mit Ponyprog ausgelesen. Das ging ganz gut nur als ich was schreiben wollte bekam ich die fehlermeldung das er den "Atmega8" nicht erreichen konnte... Hmm Ich werde mir dann bei nächster gelegenheit 5* den 74HC595 bei reichelt bestellen.. Brauche ich sonst noch was, was ich iwie vergessen habe?
Ach ja das mit der Diode: Also man hat mir als kleines Kind immer beigebracht vor LEDs und empfindliche Bauteile eine Diode zu bauen xD Sollte mal irgendwo etwas falsch herum sein passiert auf diese weise nichts so hat jede "Karte" ihren eigenen zusätzlichen schutz...
Hallo Moritz, es gibt viele Eigenbau CPU Projekte. Wenn du lust hast dann schaue dir doch mal "mycpu" (einfach unter google eingeben, erster Link) an. Dein Projekt geht aber eher in Richtung Stecksystem als in Richtung "Computer" Eigenbau. Vielleicht hilft dir das Stichwort "E-Blocks" weiter. http://de.wikipedia.org/wiki/E-blocks Das könnte dein Vorhaben eher treffen und vielleicht findest du auch dort noch nützliche Tips und Ideen. Gruß, Yve
Bei deinem ISP Interface fehlt zumindest die GND Verbindung. Wenn du ernsthaft was mit AVRs machen willst solltest du dir aber besser einen vernünftigen Programmer, wie z.B. den AVR ISP mkII zulegen. Diese ganz einfach gestrickten Bastellösungen mögen funktionieren, zuverlässig sind sie aber nicht. Die Zeit die dabei drauf geht kannst du besser für andere Dinge nutzten. Dioden zum Schutz vor Verpolung machen am Eingang sicher Sinn, aber an jeder Karte würde ich sie nicht anbringen. Wenn du eine Karte falsch herrum einsteckst werden eh noch mehr Pins an der falschen Stelle angeschlossen, ob die Dioden dann helfen ist fraglich. Außerdem hast du sie sowohl auf der positiven als auch auf der negativen Seite der Versorgungsspannung eingebaut, was später auch zu Problemen führen kann, da du z.B. verschiedene GND Potentiale bekommst. Wenn du etwas gegen das verkehrte Einsetzten einer Karte tun willst solltest du besser einen Stecker nehmen der das mechanisch verhindert.
Ja danke sehr das Projekt MyCPU ist wirklich interessant und auch beeindruckend! Allerdings liegt der Reiz für mich ja darin etwas selbst zu entwerfen ;) Was genau ich da baue und unter welche Kattegorie es fällt ist mir egal, für mich ist es ein kleiner primitiver Computer ;D Über das ISP Interface habe ich auch schon verschiedene Meinungen gehört (kann einen ganz schön verunsichern als "Anfänger") Die Dioden habe ich eigentlich auch nur pro einzelner Karte einmal.. Bei dem Bildschirm halt auch noch 2 Stück (keine 4! Ist noch so im Plan drin) Also wie lang darf mein ISP/SPI?!? Kabel denn sein? Ich fürchte glatt das meine 2,5 Meter etwas zu lang sind :-s Was ich nur nicht verstehe ist, wieso ist das so unzuverlässig? Ich meine, entweder es kommt ein Signal an oder halt nicht ?!? Dieses PonyProg finde ich eh etwas doof, da ich ja eigentlich ein Linuxer bin und man da außerdem recht wenig Einstellmöglichkeiten hat ;) Ich habe in einem anderen Beitrag einen anderen Plan für das ISP Interface mit anderen Wiederständen und beschaltungen gesehen. Wieso? O.o
Der Parallelport wurde nun mal eigentlich nicht für solche Sachen gemacht. Probleme kann es dann z.B. durch das Timing oder die Leitungslängen geben. Wenn eins von beiden an der Grenze zwischen funktionieren und nicht funktionieren ist können schon kleine Änderungen dazuführen das es eben nicht mehr funktioniert. Außerdem kann man durch falsche Verkablung auch mal schnell den Parallelport beschädigen. Muss du aber selber wissen, es gibt sicher auch genug Leute denen diese Lösung gefällt, mit persönlich tut sie es nicht. Unter Linux gibt es avrdude. Das kann die verschiedensten Programmer ansprechen, evtl. auch den den du hast.
hm oke nene wenn du sagst das das nicht so das optimale ist glaub ich dir das mal ;D Aber wie ist das mit dem umprogrammieren? Ich will den chip nicht immer raus nehmen müssen :-/ Ansonsten kann man nicht auch einen programmer bauen? Ich habe ja dank diesem Stecksystem die Möglichkeit die Pins vom ATmega nachträglich noch anzusteuern... Ich wollte mir eh irgendwann mal bei Pollin das hier kaufen: http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html Außerdem, ist es schlimm das ich den Internen Takt benutze? Ich habe mir ja bereits folgenden Artikel durchgelesen: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Erg.C3.A4nzende_Hinweise_zur_Taktversorgung_.28kann_.C3.BCbersprungen_werden.29 Ich finde 1MHz eigentlich ausreichend und hatte nicht vor das gute Stück bei Extremen Bedingungen(Temperaturen) zu betreiben ;) Alternativ wenn sich irgendjemand daran stört, ein 8MHz Quarz und zwei 15pF Kondensatoren sind schnell bestellt ;)
Du brauchst dann einen ISP Steckverbinder. Ist auf der gleichen Seite beschrieben, die du wegen dem Takt verlinkt hast. Natürlich gibt es auch genügend AVR Programmer zum selber bauen. Viele beinhalten aber schon einen AVR und somit hast du ein Henne-Ei-Problem ;) Kenne mich in dem Bereich nicht so gut aus, aber ich glaub USBasp soll nicht schlecht sein. Solange du nichts mit deinem AVR machst, was ein genaues Timing benötigt (wie z.B. RS232) kannst du den internen Takt gut nutzen. Wenn du allerdings eh was bestellst würde ich nicht an dem Quarz sparen, man weiß ja nie ob man den nicht doch noch mal braucht.
Also ich werde im nachhinein noch so eine karte bauen, da ich ja sowieso nochmal bei reichelt bestellen wollte kann ich mir die paar teile ja auch noch kaufen.. den 74HC595 brauch ich ja noch und außerdem brauch ich noch ein paar andere dinge dann passt das ja ganz gut... Ich habe mir überlegt statt dieser 4x4 Matrix was anderes zu machen: 4 pins werden benutzt und da werden die taster logisch angeschlossen Beispielsweise: Taste1 = PB0 Taste2 = PB1 Taste3 = PB0, PB1 Taste4 = PB2 Taste5 = PB0, PB2 usw. Wie wäre das? Den Quarz und die Kondensatoren bestelle ich auch noch! Jetzt wo ich eh meinen halben Plan umändern muss kann ich die kleinigkeit auch noch mit einbauen... Gibt es da irgendwelche bevorzugten Frequenzen? ich hätte sonst einfach 8 oder 4 MHz genommen.. und dann Kondensatoren habe ich auch schon verschiedenes gesehen.. gibt es da irgendwelche Formeln zum ausrechnen oder standartwerte? Ich hätte beim 8MHz nen paar 15 pF Kondensator genommen und beim 4MHz Quarz 2 22pF Kondensatoren genommen?!?
Moritz, die CD4056 funktionieren auch mit LED, und zwar hervorragend. Sie sind zwar laut Dokumentation für LCD gedacht, gehen aber einwandfrei auch dafür. Du brauchst bei 5V Vcc nichtmal Strombegrenzungswiderstände. Die Strobes von den 4056 solltest Du an eine Leitung vom Atmega anschließen, sonst ändern sich die Anzeigen je nach Portzustand und Du kannst den Port dann nur für das Display benutzen. Ich habe vor 20 Jahren einen Receiver gebaut, mit insgesamt 21 von diesen CD4056 an ebensovielen 7-Segmentanzeigen (Frequenz, Lautstärke, Source etc.). Die ham das klaglos über Jahrzehnte verkraftet, flackerten nicht, zeigten keine unterschiedliche Segmentintensität bei "8" oder "1" und wurden auch nicht warm etc.. Die 595 sind zwar sinnvoller, aber mit den 4056 geht es auch.
Wenn auch andere Zeichen, ausser 0..9 darstellen möchte, sollte man auf den einsatz von decodern verzichten. Um Ports/Pins zu sparen, benutzt man multiplexing, was in http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige beschrieben ist. MfG Turbotoni
Deine Idee mit den Tastern müsste funktionieren, hat aber 2 Nachteile: - Du brauchst Taster mit 2 Schließern - Du kannst nicht unterscheiden ob Taste 1 und 2 zusammen oder Taste 3 gedrückt ist. Ähnliche Probleme gibt es bei der Tastenmatrix auch, aber erst bei min. 3 gleichzeitig gedrückten Tasten. Bei den Kondensatoren bist du mit 22pF gut bedient. Ist in den meisten Fällen nicht so kritisch. Wenn du schon dabei bist Kondensatoren einzubauen solltest du auch Entkopplungskondensatoren an jeden IC setzen. 100nF Keramik parallel zu jedem Paar von Versorgungsspannungspins ist da ein Standardwert. Ein Elko mit ein paar µF auf jedem Board kann auch nicht schaden.
Hallo Moritz Warum müssen es unbedingt 7Segment LEDs sein? http://www.pollin.de/shop/dt/MTczOTc4OTk-/Bauelemente/Aktive_Bauelemente/Displays/LCD_Modul_TC1604A_01.html Mit einer LCD hast Du viel mehr möglichkeiten, brauchen auch weniger Strom und würden als "PC" Ersatz bestimmt besser aussehen.
Okey jetzt bin ich etwas erleichtert und gleichzeitig verwirrt.. Wenn die Möglichkeit bestehen würde meine 4056ger zu nutzen dann wäre ich sehr Glücklich, denn die haben wenigstens noch ein paar "Sonderzeichen" ;) Wenn ich die Strobe pins an einen pin vom atmega anschließe muss ja noch was anderes passieren, aber was? /Die Strobes von den 4056 solltest Du an eine Leitung vom Atmega anschließen, sonst ändern sich die Anzeigen je nach Portzustand und Du kannst den Port dann nur für das Display benutzen./ Ich verstehe nicht wie das gemeint ist, dass ich den port dann nur für den display benutzen kann... Aber was ist mit dem "Display Freq in" soll der auf Vcc oder auf Masse gelegt werden oder wie? Das mit den Tasten ist mir schon klar, aber die Taster die ich genommen habe gehen eigentlich so verhältnismäßig schwer das es FAST ausgeschlossen ist das man "ausversehen" 2 Tasten gleichzeitig drückt ;) http://www.pollin.de/shop/t/OTU4OTA5OTk-/Bauelemente/Mechanische_Baulemente/Schalter_Taster/Drucktaster_schalter_Serie_PBS_11x_PBS_12x.html Außerdem hat das den Vorteil das ich 5 statt 4 Pins vom Controller nehmen KÖNNTE und theoretisch schon 31 Tasten hätte ;D Ach ja das mit den Kondensatoren habe ich sogar gemacht, zwar auf der "Grafikkarte" noch nicht, aber auf der Controllercard und der Keyboardcard die ich ja jetzt umändern kann... Das mit dem LCD ist noch ne Nummer zu hoch für mich, denke ich. Ich habe mir gerade mal das EINseitige "Datenblatt" von der Anzeige angeguckt und bin immernoch so schlau wie vorher... Außerdem denke ich ist das wesentlich schwerer später zu programmieren als meine relativ simpel gestrickte 7-Segment Konstruktion ;)
Sehe Dir das mal an. http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD Gib in der Suche mal "LCD" ein, es gibt so viele Beispiele. Es lohnt sich wirklich nicht für Dein Projekt mit 7Segment anzufangen. Es gibt ganz sicher schon Code den Du erstmal nur in Dein Projekt reinkopieren kannst, bis Du soweit durch die ganze Programmierung durchsiehst.
Hmmm eigentlich wollte ich bei meinen Siebensegmentanzeigen bleiben.. Gerade jetzt wo ich das mit den Schieberegistern erfahren habe :) Auf diese Weise kann ich auch nachträglich noch mehrere Anzeigen anschließen ohne Pins zu verschwenden und bei 30 cent für ein Registebaustein und 45 cent pro Doppelanzeige kann man sich das ja mal gönnen ;) ich denke ich bleibe bei meinen Siebensegmentanzeigen und ich werde dem nächst noch ein paar mehr davon bestellen müssen fürchte ich xD Ich werde heute nochmal meine Schaltpläne umkrempeln und neu machen... Zum Glück darf ich mein Mainboard und meine Controllereinheit (bis auf den Quarz) so lassen... :) Dann muss ich aber noch die Fusebits wegen der Taktfrequenz ändern oder? Und wie ist das jetzt mit dem Quarz? Gibt es da irgendwelche Favouriten in Sachen Frequenzen?
Moritz Wenzel schrieb: > Dann muss ich aber noch die Fusebits wegen der Taktfrequenz ändern oder? > Und wie ist das jetzt mit dem Quarz? Gibt es da irgendwelche Favouriten > in Sachen Frequenzen? Ja, siehe Baudratenquarz. :)
Ahh ok gut... Aber ich denke ich nehme dann mal nen 8 MHz Quarz und denn halt 2 22pF Kondensatoren ;) Was hat das mit den Quarzoszilatoren auf sich ist das irgendwie "besser"? Weil in dem Atmega tutorial steht da nicht so viel drüber...
Hallo Moritz, habe Deinen Schaltplan nicht angeschaut etc. Die CD4056 haben den Strobe-Eingang, um in einem internen Latch die momentan anliegenden Eingangsdaten (4Bit) zu speichern. Du legst die 4 Bit auf den Prozessorport, machst einen kurzen Puls auf die Strobe Leitung, und danach hält der 4056 die 7-Segmente, während Du die 4 Bit vom Port wieder ändern kannst. Benutzt Du das Strobe nicht, folgt die 7Segment-Anzeige exakt den Portzuständen, d.h. die 4 Bit sind nur für eine, einzige 7-Segmentanzeige verfügbar, wenn Du eine statische Anzeige haben möchtest (Normalfall). Bei 4 Anzeigen brauchst Du schon 16 Bit, also 16 Leitungen bzw. 2 komplette Ports. Ist Ressourcenverschwendung. Besser ist es, die 4 Bit vom Prozessorport an alle 4056er anzuschließen. Alle 4056er bekommen also die gleichen Eingangsdaten. Sie werden aber nur dann vom jeweiligen 4056er übernommen (d.h. zur 7Segmentanzeige weitergeleitet), wenn Du in strobst (einen Puls auf die Strobe-Leitung gibst). Beispiel: Bei 4 7Segmentanzeigen brauchst Du dann 4 Leitungen für die Eingangsdaten, und 4 Strobe-Leitungen. Macht also insgesamt nur noch 8 Leitungen gegenüber 16, die Du beim Nicht-Stroben brauchst. Noch besser geht es, wenn Du die Strobeleitungen durch einen Adressdecoder (74HC138 oder 74HC238) generierst. Die 4 Bit Eingangsdaten werden wie vorher an die 4056er angeschlossen. 3 weitere Bit von dem Port schließt Du an den Adressdecoder an. Und zwar 2 davon an die Eingänge A und B des Decoders, den dritten an einen Freigabeeingang. Die restlichen Eingänge des '138 mußt Du auf Masse oder Plus legen, damit sie nicht floaten. Die 2 Eingänge A und B am HC bestimmen jetzt, welchen 4056 Du adressieren willst, mit dem 3.Bit am Freigabeeingang machst Du den Puls. Auf diese Art kannst Du z.B. 8 Anzeigen ansteuern, wenn Du dem '138 auch noch ein Bit vom Prozessorport für den Eingang C spendierst. - 4 Bit Eingangsdaten für die 4056 - 3 Bit Eingangsdaten für den '138 - 1 Bit Strobe für '138, dessen 8 Ausgänge dann wiederum das Strobe für die 8 4056er liefern. D.h., Du kannst mit 8 Leitungen (also einem einzigen Port), 8 7Segmentanzeigen steuern. Polaritäten beim 4056 weiß ich nicht mehr, Display Freq muß entweder auf Plus oder Masse, ja. Du brauchst da kein PWM-Signal oder so. Schau ins Datenblatt oder probiers einfach mal. Zusammen mit dem '138/'238 klingt das schwierig, zählt aber noch immer zum klassischen, einfachen Aufbau und man lernt was dabei.
Hab mitlerweile meine Displaykarte schon für die 74HC595 umgelötet. Hänge mal 3 Bilder und den Schaltplan an...
Pfft. Dann isses jetzt halt lahm und seriell ;) Passt scho. Für Pin10 am 595 willst Du wirklich eine Portleitung verschwenden? Hätte man auch einfach an + legen können, wenn man faul ist.
Wenn schon Fotos dann bitte scharfe, ansonsten ist das sinnlos vergeudeter Speicherplatz + Traffic.
haha ja lahm und seriell :D Najaa aber jetzt kann man sich nochmal theoretisch noch nen gröööööößeren Display (5*10 Anzeigen) bauen und extern dranklemmen ohne alles über Board zu werfen und neu anzufangen ;D Das mit den Bildern tut mir ja leid ich hab auch schon versucht ruhig zu sein aber mehr gibt meine minderwertige CMOS Handykamera nicht her tut mir ja leid, wenn du magst kannst du mir ja ne anständige finanzieren ;)
was haltet ihr hiervon für die tastatur? ich bin nicht sicher ob das so geht... gruß Moritz
Moritz Wenzel schrieb: > was haltet ihr hiervon für die tastatur? ziemlich viele Dioden dafür, dass man noch nicht mal 2 gleichzeitig gedrückte Tasten erkennen kann
ja ohne dioden habe ich das problem das ich mir die eingänge alle kurschließen würde und das garnicht gehen würde... auf diese weise verhindere ich doch EIGENTLICH diesen "Kurzschlusseffekt" oder? Das ich keine 2 tasten gleichzeitig drücken sollte/darf ist jetzt mein kleinstes problem ;) Sonst bräuchte ich ja 4 polige taster!!?? Würde das denn gehen?
Wenn Du schon 595er für Output einsetzt, wäre es konsequent, auch 165er für Input zu nehmen. Pro 165er kannst Du 8 Tasten einlesen, ganz ohne Dioden. Schau ihn Dir mal an.
Was ist der Vorteil der 7 segment anzeigen verglichen mit einem 2x16 LCD ? Abgesehen davon, dass man beim 7-segment viel mehr Strom runterlassen kann ?
Kann ich gerne machen, aber erstmal würde ich jetzt gerne wissen ob das geht was ich da oben gepostet habe! Das mit den 165ern hab ich mir auch schon überlegt aber trotzdem möchte ich erst einmal wissen ob das mit den dioden nicht auch geht ;) Das ich mit den 7-Segmentanzeigen eine theoretisch unendliche Matrix bauen kann.. Bei der LCD anzeige bin ich auf die 32(2*16) Stellen beschränkt.. Zumal ich finde das die viel cooler aussehen und besser abzulesen sind finde ich persönlich ;)
Oke gut :D Ich habe jetzt mal was gefunden zum Thema ISP-Programmierung.. Weil das mit den paar Wiederständen ja nicht so auf Begeisterung trift und das sicherlich auch seine Gründe hat hab ich bei Ulrich Radig folgendes Gefunden (Siehe Schaltplan): http://www.ulrichradig.de/home/index.php/avr/base_kit_avr Wenn ich das richtig sehe dient der 74HCT244 nur dazu, das Signal vom Parallelport auf 5V zu bringen/verstärken und das "I/O-Gewackel" zu verhindern.. Findet ihr das besser?
Ja, die Schaltung funktioniert gut ... ich habe meinen ersten Adapter auch nach diesem Schaltplan gebaut und es hat immer prima funktioniert. Ich hab' sogar einen LS verwenden können, einen HCT hatte ich nicht da. Zumindest an den parallelen Schnittstellen, auf die ich damals Zugriff hatte, ging das.
hahaha auch gut ich hab nämlich auch keinen HCT da sondern nur den LS ;D Aber laut datenblatt konnte ich da keine Großen unterschiede finden.. Also muss das gehen ;) Ist ja jetzt immernoch keine so komplizierte schaltung.. Kommt halt nur nen IC dazwischen...
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.