Hallo, ich habe eine Schaltung gebaut, die eine 7Segmentanzeige ansteuern soll. Nun zeigt sie mir immer die "1" an.Obwohl kein Schalter gedrückt wurde. Könntet ihr mir sagen, ob was im Programm falsch ist. Die Schaltung besteht nur aus wirklich benötigten Teilen wie Quarz, Spannungsstabilisierung, Taster , und die 7-Segmentanzeige. Ich habe also keine externen Pullupwiederstände. Habe ich die internen richtig aktiviert? Gruß Max Hier mein Programm: $regfile = "2313def.dat" $crystal = 3686400 Dim Ledvar As Byte Portd = &B1111111 Config Portb = Output Config Portd = Input 'Port B = Ausgang Do Ledvar = 255 'Wenn keine Taste gedrückt leuchtet keine LED If Pind.0 = 0 Then Ledvar = 207 '1 If Pind.1 = 0 Then Ledvar = 145 '2 If Pind.2 = 0 Then Ledvar = 193 '3 If Pind.3 = 0 Then Ledvar = 71 '4 If Pind.4 = 0 Then Ledvar = 97 '5 If Pind.5 = 0 Then Ledvar = 61 'L If Pind.6 = 0 Then Ledvar = 183 'r Portb = Ledvar Loop
Hi, ich habe das Problem gelöst; es lag an einer Kabelverbindung. Nun ich habe aber noch ein Problem und zwar hängen die Leds (der Segmentanzeige)direkt am AVR. Um diesen zu entlasten will ich die den Strom etwas mindern. das kann ich ja durch PWM. Könnt ihr mir hier helfen , weil ich nicht weiss , wie ich das in mein Programm einbinden kann. Vielleicht könnt ihr mir sogar dies in den oben angefügten code schreiben -falls es nicht zuviel zeit in anspruch nimmt- Vielen Dank (: Gruß Max
Naja, nicht sofort... das hält der ziemlich lange aus (jedenfalls bei mir) aber er wird nach 'ner weile richtig warm :)
Hallo, ja das habe ich nun auch gemacht, aber mir wäre es lieber wenn ich die Helligkeit über die Software regeln kann. KLar würde es mit einem Poti gehen, aber wie gesagt die Helligkeit muss über Software verndert werden können, da der AVR mit einem anderen kommuniziert und von diesem in der Helligkeit geregelt werden muss. Gruß Max
Salve, also mit einem Poti würde es so einfach auch nicht gehen, weil unterschiedlich viele LEDs eingeschaltet sein können, und sich daher der Strom vervielfacht. Jede LED der 7-Segmentanzeige MUSS mit einem Vorwiderstand betrieben werden, damit der Strom auf das spezifizierte Maximum begrenzt wird. Man kann LEDs im Pulsbetrieb mit einem Vielfachen des erlaubten Dauerstroms betreiben - aber auch hier muß das Datenblatt zu Rate gezogen werden. Allerdings wird Dein AVR den entsprechenden Strom so einfach nicht liefern können. Ich persönlich würde es so machen: LEDs an Shiftregister (z.B. 595), dieses an SPI, Enable an PWM-Ausgang, und natürlich jede LED mit Vorwiderstand versehen. Das spart Pins und ist vorallem jederzeit auf beliebig viele Stellen erweiterbar, ohne einen Pin mehr zu kosten. Mark
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.