Hi Leute, bin neu hier und wollte mich in diesem Sinne bei euch vorstellen natürlich direkt auch mit einer frage... Also ich bin Anfänger ünd würde gerne einen Countdown-Zähler aus je 4 7-seg. Anzeigen bauen (kein LCD-Display) habe zuhause eine Atmega8515 rumfliegen und wollte ihn dafür nutzen auch wenn er dafür warscheinlich etwas zu überdimensioniert ist. Hatte auch mal gegooglet und habe ein Projekt einer Uhr gefunden. Habe den Schaltplan (siehe Anhang) nach gebaut und wollte lediglich den Code des µC ersetzen. Hab also meinen mit Bascom geschrieben und in dann mit PP auf den µC gebrannt ging super nur leider bleiben die seg. dunkel was hab ich falsch gemacht???
> siehe Anhang Wo ist der? > Hab also meinen mit Bascom geschrieben und in dann mit PP auf den µC > gebrannt ging super nur leider bleiben die seg. dunkel was hab ich falsch > gemacht??? Keine Ahnung,kenn mich mit Bascom leider nicht so aus. Wo war nochmal der Schaltplan? Zeig dochmal die Quellen, dann kann dir hier sicher jemand helfen.
Sorry das mit dem Anhang hat grade nicht geklappt... hier der neue Versuch ;-) Sowie die Page wo ich es gefunden hab http://blackstrom.derschwarz.de/avr/avr_uhr/index.shtml In die Hauptschleife lautet bei mir: Do 'Start Hauptschleife If Z1_sekunde = 0 And Z2_sekunde = 0 And Z1_minute = 0 And Z2_minute = 0 Then Portd.1 = 1 'Pin wird auf High, also 5V geschaltet Waitms 1000 Portd.1 = 0 'Pin wird auf Low, also 0V geschaltet Waitms 1000 Portd.1 = 1 'Pin wird auf High, also 5V geschaltet Waitms 1000 Portd.1 = 0 'Pin wird auf Low, also 0V geschaltet Waitms 1000 Else If Z1_sekunde > 0 Then Z1_sekunde = Z1_sekunde - 1 Else Z1_sekunde = 9 If Z2_sekunde > 0 Then Z2_sekunde = Z2_sekunde - 1 Else Z2_sekunde = 5 If Z1_minute > 0 Then Z1_minute = Z1_minute - 1 Else Z1_minute = 9 If Z2_minute > 0 Then Z2_minute = Z2_minute - 1 End If End If End If End If End If Waitms 1000 ' ### Uhr stellen ### ' Wird der Taster "T_min_stellen" betätigt werden die Minuten um eins erhöht. ' Wird der Taster "T_h_stellen" betätigt werden die Stunden um eins erhöht. ' Werden beide gleichzeitig betätigt werden Stunden und Minuten auf Null gesetzt. ' Wird einer der Taster länger betätigt (> 150ms) gibt es einen schnellvorlauf If T_min_stellen = 0 Then 'Wird "T_min_stellen" betätigt Waitms 150 'Entprellen If T_min_stellen = 0 Then 'Ist der Taster immer noch betätigt Incr Z1_minute 'wird Minute um eins erhöht Z1_sekunde = 0 'Sekunden auf Null setzen Z2_sekunde = 0 End If End If If T_min_stellen = 0 And T_h_stellen = 0 Then 'Wenn "T_Min_stellen" und "T_H_stellen" gleichzeitig betätigt Z1_minute = 0 'dann werden Minuten und Stunden auf 0 gestzt Z2_minute = 0 Z1_sekunde = 0 Z2_sekunde = 0 End If Loop 'Ende Hauptschleife End 'Programm Ende die Varieablen sind bei mir auch etwas anders wie man sied. Natürlich habe ich auch in der Deklaration des µC $regfile = "m8515.dat" $crystal = 4000000 eingegeben. Über eure hilfe wär ich sehr dankbar da ich echt noch ein µC Neuling bin...
als erstes: der Code ist kompletter Mist. Nimm nen Timer und dessen Interrupt, um das Display anzusteuern (10ms Interrupt etwa), nebenbei ist das dein Zeitgeber für die Uhr. Ansonsten seh ich keine keinerlei Ansteuerung des Displays - kein Wunder, wenn das nicht funktioniert:-)
Hi crazy horse, also danke für deine Antwort aber glaube du hast mich nicht richtig verstanden.... 1. ich möchte KEIN Display verwenden sondern insge. 4 * 7Seg.-Anzeigen 2. Das mit dem PortD1 soll bei 00:00 ein blinken erzeugen sprich wenn der Counter runtergelaufen ist soll eine LED blinken... 3. Ist warum ist mein code mist was hab ich falsch gemacht hast du vielleicht eine Idee??? Meine obige Schleife ist natürlich nur in verbindung mit dem auf blackstrom stehenden Code zubringen. Aber im Anhang ist mein gesammter Code nochmal in na txt-Datei...
In dem Link oben und in deinem PDF sehe ich nur den Schaltplan für einen Aufbau mit einem anderen AVR. Es würde Sinn machen, wenn du exakt deinen Aufbau skizzieren würdest. No panic, das muss kein pikkobello 1a Schaltplan sein. Mach auch Angaben zu den verwendeten Bauteilen insbesondere den 7-Segmentanzeigen (PDF, Link oder wenigstens Teilebezeichnung und -nummer). Nach dem Originalplan sollen das Common-Anode Anzeigen sein, die ca. 20 mA pro Segment abkönnen. Was hast du an Test- und Messmöglichkeiten? Multimeter für Spannungsmessungen an den Displays und Strommessungen durch die Transistoren? Low-Current-LED-Logik-Spion? LED-Tester für die Anzeigen? Bis das Multiplexing für vier Anzeigen sicher arbeitet, würde ich erst mal nur mit einer Anzeige oder gar mit 1-4 Einzel-LEDs arbeiten. Nicht dass per Sourcecode mehrere Anzeigen gleichzeitig aktiv sind. @ crazy horse In dem nachträglich beigebrachten Code (counter.txt) sind zwei Timer Interrupts benutzt. Timer0 fürs Multiplexing und Timer1 für die Zeitbasis. Bascom wäre nicht meine erste Wahl, ich bin bekennender C-ler, der seit kurzem mit Python fremd geht, aber warum nicht... Unabhängig von der Programmiersprache sieht man leider schlecht, was Originalcode (angenommen getestet und funktionsfähig) und was Änderungen von Michael (ungetestet und möglicherweise fehlerhaft) sind. Ich bemühe mich bei Änderungen den Originalcode als Kommentar o.ä. stehen zu lassen.
Hallo Stefan Schaltplan ist mit meinem identisch nur das ich den 8515 verwende also sprich ich habe die Anschlusspins verändert... z.B. RESET , Ports usw. Die Segmentanzeigen sind auch die die du erwändt hast (so wie bei blackstrom)
Der Punkt ist, daß man auch bei der Verdrahtung (z.B. Steckbrett) vertun kann. Solange Du keine exakte Beschreibung, also Schaltung oder Screeshot von Deinem Aufbau schickst, kann Dir wirklich niemand weiter helfen. Gruß
Stefan "stefb" B. wrote:
> Low-Current-LED-Logik-Spion? LED-Tester für die Anzeigen?
Hallo,
wollte mal fragen was du mit "Low-Current-LED-Logik-Spion" meinst?
Danke
Gruß
Die professionelle Version nennt sich Logiktester und ist dafür ausgelegt die zu untersuchende Schaltung möglichst wenig (gar nicht) zu stören/belasten, in dem z.B. ein sehr hoher Eingangswiderstand benutzt wird und die eigentliche Anzeige (LEDs an/aus) nicht aus der Schaltung gespeist wird. Spezialfeatures können z.B. einmalige, schnelle Pegelwechsel (Spikes) fangen und anzeigen. Billiger Selbstbau der Einfachstversion z.B. für +5V wäre ^^ +)------###----|>--------------(- >1K5 Low-Current-LED Bei + und - kann man Krokoklemmen oder eine Pieksnadel oder .... anbringen. Low-Current, weil man da bei geringen Strömen um 1 mA bereits was sieht (in der Bastelbude, nicht Draussen). Das Ding kann man an Leitungen klemmen, bei denen man vermutet, dass ein HIGH Pegel anliegt. + an fragliche Leitung und - an GND. Wenn ja, sieht man das (wenn sich die Pegel nicht zu schnell ändern). Kann man auch an Leitungen klemmen, bei denen man vermutet, dass ein LOW Pegel anliegt und ggf. dort angeschlossene ICs ca. 1-2 mA abkönnen. + an Vcc und - an fragliche Leitung. Wenn ja, sieht man das (wenn sich die Pegel nicht zu schnell ändern). Man kann es auch an Leitungen klemmen, an denen man voraussetzt, dass Vcc dort anliegt. + an fragliche Leitung und - an GND. Wenn ja, sieht man das. Und man kann es auch an Leitungen klemmen, an denen man voraussetzt, dass GND dort anliegt. + an Vcc und - an fragliche Leitung. Wenn ja sieht man das. Das Umklemmen kann man sich sparen, wenn man zwei LEDs gegenpolig, parallel einbaut. Bei anderen Spannungen (z.B. -12V beim spionieren an TX /RX von RS232) muss man den Vorwiderstand anpassen.
Stefan "stefb" B. wrote: > Die professionelle Version nennt sich Logiktester und ist dafür > ausgelegt die zu untersuchende Schaltung möglichst wenig (gar nicht) zu > stören/belasten, in dem z.B. ein sehr hoher Eingangswiderstand benutzt > wird und die eigentliche Anzeige (LEDs an/aus) nicht aus der Schaltung > gespeist wird. Spezialfeatures können z.B. einmalige, schnelle > Pegelwechsel (Spikes) fangen und anzeigen. > > Billiger Selbstbau der Einfachstversion z.B. für +5V wäre > > ^^ > / / > +)------###----|>--------------(- > >1K5 Low-Current-LED > Vielen Dank Gruß Paulo
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.