Hallo Forenteam, bezüglich dem Reset und dann gleichzeit den Port anderweitig nutzen habe ich bereits gelesen. Nun bräuchte ich von diesem Port lediglich Bit0 -Bit5. Diese werden dann als Open-Collektor-Ausgänge benutzt. Meine LED-Anzeige lege ich dann halt auf einen anderen Port. Frage: ist es nun möglich diese Bit0-Bit5 anderweitig zu nutzen, aber den Reset so zu belassen, damit ich mit dem ISP in der Schaltung den Atmega trotzdem neu flashen kann? Wenn ich es richtig verstehe ist nur der /RESET (Pin1) das Problem. Miso, Mosi arbeiten dann, wenn der Reset anliegt. - Richtig?
PC-Freak schrieb: > bezüglich dem Reset und dann gleichzeit den Port anderweitig nutzen habe > ich bereits gelesen. Keine Ahnung, was du gelesen hast! PC-Freak schrieb: > Frage: ist es nun möglich diese Bit0-Bit5 anderweitig zu nutzen, aber > den Reset so zu belassen, damit ich mit dem ISP in der Schaltung den > Atmega trotzdem neu flashen kann? Keine Ahnung, welche Ängste dich plagen. PC-Freak schrieb: > Wenn ich es richtig verstehe ist nur der /RESET (Pin1) das Problem. Seit wann ist der Reset Pin ein Problem? Was hat er mit PC0 bis PC5 zu tun? (außer im gleichen Port zu wohnen)
Die Frage ist etwas unklar? Solange der Reset (C.6) in den Fuses als Reset deklariert ist, gibt es kein C.6 Heißt 6 (und auch 7)sind beim lesen immer Low und würden sie mit 1 beschrieben geht das ins leere/hat keinerlei Auswirkung. Ihn in den Fuses als Pin zu deklarieren macht ihn normalen Pin nutzbar, jedoch ISP funktioniert dann nicht mehr. PS Darauf achten das die Peripherie das Programmieren überlebt. Ein Motorschütz wäre nicht so "prikelnd" ;-) Und nicht zu stark belastet: Bei einer Ladungspumpe versagte ein MKII :-(
PC-Freak, versuche es nochmal neu, nachdem du ausgeschlafen hast und wieder nüchtern bist. Deine Frage ist ziemlich wirr und unvollständig. Wenn ich da mal sehr kreativ rate, möchtest du offenbar von außen fremde Spannung an PC0..PC5 anlegen, während der Mikrocontroller im RESET Zustand ist. Da diese Pins im RESET Zustand inaktiv/hochohmig sind, kannst du das im Rahmen der "absolute maximum ratings" machen.
Stefan F. schrieb: > PC-Freak, versuche es nochmal neu, nachdem du ausgeschlafen hast und > wieder nüchtern bist. Deine Frage ist ziemlich wirr und unvollständig. Hallo Stefan, ich bin und war nüchtern (außer den 5 Bierchen - grins - Kreuzberger Nächte), habe den Ausschnitt der Schaltung mal angehängt. Es geht mir darum, dass ich hier zum erstellen x-msle den Atmel flashen will, bis er tut was ich will. Mit einem Atmega32 klappte dies, weil der ja das ISP auf Pins hatte, die komplett frei sind. So konnte ich hier spielen. Hier soll nun ein Atmega8 bruzeln. Die habe ich auch schon alle da. Nun wollte ich diesen 7-Bit-Port (PC0-6) eben für die 7 Digits der 7-Segmentanzeige nutzen. Ich bin hier noch ziehmlich unerfahren. Ich könnte, klar, die Ports tauschen, um nicht in die Quere mit dem REset zu kommen. Ich könnte dann die Bits 0-5 als open-coll-Ausgänge zu meiner weiteren Schaltung benutzen, aber trotzdem /Reset(Pin1 - PC6) dann mit dem ISP-Proggi wieder ansteuern. Ich benötige die 7 Digits (A-G), 2 Pins für Multiplex, 5 Eingänge, 1 Ausgang der einen Optokoppler befeuert.
PC-Freak schrieb: > Es geht mir darum, dass ich hier zum erstellen x-msle den > Atmel flashen will, bis er tut was ich will. Bin ich zu alt? Was bedeutet "erstellen x-msle"? Und was bedeutet "den Atmel flashen, bis er tut was ich will"? Man schlage den Diener bis er tut, was sein Besitzer will. Oder wie ist das gemeint? Der Reset Eingang ist kein Ausgang, damit kannst du keine LED ansteuern. Wenn du ihn per Fuse als PC6 konfigurierst, hast du keine ISP Schnittstelle mehr, das willst du nicht. Zwingt dich denn irgendwer, dass alle 7 Digits zusammenhängend am selben Port sind? Das ist doch frei programmierbar, denke ich.
PC-Freak schrieb: > habe den Ausschnitt der Schaltung mal angehängt Merkwürdige Schaltung. Warum 100nF am Eingang, und warum offenbar nir die internen pull up dort, nur um das Signal schlechter zu machen ? Warum Pin8 bei einer LED-Anzeige verbunden, bei der anderen nicht. Warum keine strombegrenzenden Vorwiderstände vor die LED-Anzeige. Warum MISO,MOSI,SCLK freihalten. Warum AVCC nicht anschliessen aber PortC benutzen ? Reset mit G zu belegen geht halt nicht, aber du hast so viele Ausgänge frei, PD4-7, PB2-5, dass PC7 nicht benötigt wird. Wobei man klugerweise alle Segmente der Anzeige auf ein Port legt. Es ist gut, einen Transistor zu verwenden um die 140mA einer Displaystelle zu schalten, aber 10k Vorwiderstand sind heftig, 430uA Basisstrom reichen kaum um 140mA zu schalten, eher 470 Ohm. Und statt den PNP besser Dual-P-Kanal-LogicLevel-MOSFETs wie IRF7314, spart 5 Bauteile, schaltet besser. Ich würde eher die XTAL Anschlüsse frei lassen und die ISP Anschlüsse über die notwendigen 150 Ohm Vorwiderstände an die Segmente führen, die 20mA kann der Programmer schon liefern und so lange die Digits nicht freigeschaltet sind, blitzt da auch nichts (wobei nicht mal das stören würde, macht Arduino als willkommene Kontrolle ja auch).
Michael B. schrieb: > Merkwürdige Schaltung. Ja, und die wurde doch in den letzten Wochen schon mal diskutiert. An die Cs parallel zu den Transistoren erinnere ich mich gut ... Mir ist völlig unverständlich, warum man hier unbedingt den Resetpin benötigt. Der Mega8 hat doch genügend freie Pins! Und nein, wenn der Reset zu einem IO wird, dann geht ISP nicht mehr. Nur noch HV-Programmierung. Ich habe damals schon vorgeschlagen, PC für die Anodentreiber und die Hilfssignale zu nutzen, PD für die Segmentreiber (bei denen auch noch die Vorwiderstände fehlen) und die vier Eingänge auf PB zu legen. Auch andere Kombinationen sind möglich: die Segmenttreiber funktionieren auch auf PB; selbst wenn beim neu programmieren die Segmente mit wackeln, macht das nichts, denn die Spalten sind ja komplett aus bei dem Vorgang. Zudem: ist es zwingend, dass der Mega8 in der Schaltung programmiert werden muss? Fassung, STK500 (z.B.) zum Programmieren und ich brauch über das was in der Schaltung an MOSI, MISO und SCK hängt nicht mal nachdenken.
HildeK schrieb: > die wurde doch in den letzten Wochen schon mal diskutiert. Hab sie gefunden: Beitrag "Atmega8 vers. C - Interuptbehandlung"
Ja das mit den Widerständen hab i h einfach vergessen einzuzeichnen. Real sind die jetzt schon drin. 390 R habe ich da ausgewählt. Ich bring am Nachmittag die umgezeichenete Schaltung. Dort ist der 7digitport anders. Die 10 k für die Transistoren sind bisher einfach willkürlich gewählt.
HildeK schrieb: > komplett aus bei dem Vorgang. > Zudem: ist es zwingend, dass der Mega8 in der Schaltung programmiert > werden muss? In der Schaltung später nicht. Das will ich auch gar nicht. Aber hier zum entwickeln ist es einfacher. Programm zu ä den und schauen, was es macht.
Ich finde die Schaltung ist kompletter Quark. Der AVR hat genug freie Pins, zum zwei 7-Segment-Glieder ohne Multiplexing anzusteuern, selbst wenn man den Reset nicht als IO-Pin verbiegt. Bitte einmal darüber nachdenken wofür so viele freie Pins benötigt werden und dann einen korrekten Schaltplan liefern. Die fehlenden Widerstände wurden ja schon genannt, fehlende (korrekte) Stromversorgung des AVR, ich sehe da nicht mal einen Abblockkondensator, aber viel zu viele Fragezeichen. Mit sowas kann man nicht arbeiten, das ist nicht mehr als ein erster Entwurf.
PC-Freak schrieb: > Ich benötige die 7 Digits (A-G), 2 Pins für Multiplex, 5 Eingänge, 1 > Ausgang der einen Optokoppler befeuert. Lass PC6 in Ruhe. Ich würde nicht multiplexen, sondern mit Schieberegistern wie TPIC6B595 oder TPIC6C595 arbeiten. Dafür brauchst Du weniger Pins und hast weniger Stress - auch wenn da noch ein oder zwei weitere Stellen dazukommen. https://www.ti.com/lit/ds/symlink/tpic6b595.pdf https://www.ti.com/lit/ds/symlink/tpic6c595.pdf Diese Schieberegister können selbst 10 cm große Anzeigen direkt ohne weitere Treiber (aber mit LED-Vorwiderständen!) treiben. Es gibt natürlich wie immer haufenweise Alternativen. fchk
Frank K. schrieb: > Lass PC6 in Ruhe. Definitiv ja! > Ich würde nicht multiplexen, sondern mit Schieberegistern wie TPIC6B595 > oder TPIC6C595 arbeiten. Dafür brauchst Du weniger Pins und hast weniger > Stress - auch wenn da noch ein oder zwei weitere Stellen dazukommen. Warum denn nicht. Auch für weitere Stellen hat man noch Pins. Und wenn es noch mehr sein müssen, dann kommt der Schwenk auf MAX7219 oder MAX7221. Gut, die sind für Common-Cathode Displays, aber bei einer richtigen Planung von Anfang an ist das egal.
Ich füge hiermal das komplette Sheet ein. Habe hier die Ports gedreht. Mir geht es darum, die Schaltung am Steckbrett zu lassen, und mit dem AVR ISP ohne viel umsteckerei das Ding geändert zu Flashen. Michael B. schrieb: > Merkwürdige Schaltung. > > Warum 100nF am Eingang, und warum offenbar nir die internen pull up > dort, nur um das Signal schlechter zu machen ? Dieses eingerahmte ist bereits auf der ext. Schaltung. Hier kommt nur ein 10 pol. Pfostenstecker hin. ab den Punkten. Ben B. schrieb: > fehlende (korrekte) Stromversorgung > des AVR, ich sehe da nicht mal einen Abblockkondensator Die Stromversorgung kommt schon richtig. Es kommen 12V, diese werden mit 7805 zu 5V, weil ich 12V und 5V benötige. Mit Kondis. Die Spannungspins unterschlägt das Zeichenprogramm von haus aus. HildeK schrieb: > Mir ist völlig unverständlich, warum man hier unbedingt den Resetpin > benötigt. Der Mega8 hat doch genügend freie Pins! Ich hatte mich einfach daran orientiert, hier 7 Bits zu sehen, und dann halt daran gedacht diese gleich als 7-Segmente herzunehmen. Erst später hab ich bemerkt, dass ich mit /Reset in Konflikt komme. Aber so wie ich das nun gedreht habe sollte es doch passen?
PC-Freak schrieb: > Ich füge hiermal das komplette Sheet ein. AVCC und AREF schließt Du aber schon noch an, oder? fchk
PC-Freak schrieb: > Aber so wie ich das nun gedreht habe sollte es doch passen? Ja, passt so! Man muss halt anfangs überlegen, welche Sonderfunktionen man benötigt, die nur auf wenigen bzw. bestimmten Pins zur Verfügung stehen und die dafür reservieren (UART, ADC, Komparator usw.). Die GPIOs als normale IOs weist man dann für eine leichte Programmierung sinnvollerweise am Schluss zu.
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.