www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lauflicht schalten


Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe nun das Lauf licht gesteckt.
Programmcode siehe hier:

$regfile = "m8def.dat"
$crystal = 1000000

Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output

Do

  Portc.0 = 1
  Portc.0 = 0
  Waitms 100
  Portc.1 = 1
  Portc.1 = 0
  Waitms 100
  Portc.2 = 1
  Portc.2 = 0
  Waitms 100

Loop

End

Aber es leuchten die Led's immer dauerhaft...und nur ganz schwach!
Das sind eigentlich ultrahelle LED's warum leuchten die denn so schwach? 
selbst wenn dich die Widerstände kleiner wähle bleiden sie  so schwach.

Oder muss ich noch unter Fuses iwas einstellen?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein Wunder du schaltest sie auch gleich wieder aus.

Das hier:
Portc.x = 0
gehört hinter waitms

eigentlich sollten sie gar nicht leuchten.

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
$regfile = "m8def.dat"
$crystal = 1000000

Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output

Do

  Portc.0 = 1
  Waitms 500
  Portc.1 = 1
  Waitms 500
  Portc.2 = 1
  Waitms 1000
  Portc.0 = 0
  Portc.1 = 0
  Portc.2 = 0
  Waitms 200

Loop

End

Jetzt hab ich versuch das sie nacheinander an gehen und dann alle 
aus...aber die leuchten trotzdem nur so schwach und dauerhaft...
Der USBsmart light Programmer liefert ja die 5V....aber das die so 
dunkel sind versteh ich net.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie genau hast du sie denn angeschlossen?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht eigentlich ok aus. Gib mal ein paar mehr infos (Controller, 
Aufbau...)

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Atmega8 ist der Controller...
Auf dem Brett ist jetzt der myusbsmart stick mit dem controller 
verbunden. (auslesen und flashen geht)
Dann hab ich am Pin 22-23 die led's hängen mit Vorwiderstand.

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich jetzt im AVR Studio 4 auf "Read Signature" klicke dann blinken 
die drei Led's ganz schnell aber alle gleichzeitig und richtig hell....

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm mal ein paar andere Pins als die für SPI. Da gibts wenn ich mich 
richtig erinnere bestimmte "Regeln".

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche, würdest du empfehlen?
Ich soll dann einfach mal Port D nehmen?

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Fuses muss ich nichts einstellen?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass die Fuses mal, die sind meist ganz gut.

Sry, ich hab grad geschlafen, PORTC ist ja gar kein SPI. Eigentlich 
müsste es funktionieren. Überprüfe vielleicht deinen Aufbau nochmal: Es 
sollte so aussehen: PORTC -> Vorwiderstand + LED -> GND

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias H. schrieb:
> aber die leuchten trotzdem nur so schwach und dauerhaft...

sicher dass dein uC mit 1 MHz läuft?
Wenn er mit 8 MHz laufen würde, könnte das das Fehlerbild erklären.

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Floh schrieb:
> sicher dass dein uC mit 1 MHz läuft?
> Wenn er mit 8 MHz laufen würde, könnte das das Fehlerbild erklären.

Hab ich auch schon gedacht, aber die längeren Wartezeiten (500ms) 
schließen das aus.

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der Aufbau ist so...PortC Vorwiderstand LED...
Ich weiß echt net an was es liegt.
Wo kann ich schauen ob er wirklich mit 1 MHZ läuft...

Aber das flashen läuft ohne Probleme!

Autor: Matthias H. (heili)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also hier hab ich nen unterschied gefunden....bei mir fehlt dieses 
Bauteil an Pin 9...
Kann das der Fehler sein?
Doch der Atmega8 kann doch selbst intern den Takt erzeugen...

Soll ich doch mal Port D verwenden, denn Port C hat bei dem Atmega8 ne 
Sonderrolle wie ich grad gelesen hab!

Autor: Sam .. (sam1994)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
In Bascom kenne ich mich recht wenig aus. In c würde das so aussehen:
#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>

int main()
{
    DDRC = 0x07;
    uint8_t i = 1;
    for(;;)
    {
        PORTC = i;
        i << 1;
        if(i == 8)
            i = 1;
        _delay_ms(1000);
    }   
}

Im Anhang ist auch ein HexFile. Das kannst du mal Testen.

PS: Ich hoffe ich hab jetzt kein Fehler zusammengehackt.

Matthias H. schrieb:
> Also hier hab ich nen unterschied gefunden....bei mir fehlt dieses
> Bauteil an Pin 9...
> Kann das der Fehler sein?
> Doch der Atmega8 kann doch selbst intern den Takt erzeugen...

Das stimmt, das Bauteil kannst du weglassen. Ist ein Quarzoszillator.

> Soll ich doch mal Port D verwenden, denn Port C hat bei dem Atmega8 ne
> Sonderrolle wie ich grad gelesen hab

Nein, das war mein Fehler. Am SPI/ISP gibt es manche Regelungen, genauso 
wie am JTAG.

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selbes Problem...
Ich warte jetzt mal bis mein neues Klembrett kommt und teste es dann 
nochmal!
Danke, für die Hilfe.
Meld mich dann wieder

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias H. schrieb:
> Also hier hab ich nen unterschied gefunden....bei mir fehlt dieses
> Bauteil an Pin 9...
> Kann das der Fehler sein?

Nein. Den kannst du weglassen.

Das heißt aber auch, das hier ist NICHT deine Schaltung. Richtig?

Hast du AVcc beschaltet?

Autor: Matthias H. (heili)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ich habe eine andere Schaltung, da war die Rede davon das man ihn 
nicht braucht weil der Atmega8 den Takt intern erzeugt!

Autor: Thomas Kiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaue kurz mal bei halvar nach..

http://halvar.at/elektronik/kleiner_bascom_avr_kur...

habe auch so begonnen..erstmal mit einem LED..Step by Step...

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm... bekommt die Schaltung genügend Strom? Probier das mal an einem 
Labornetzteil. Ich hab schon komische Effekte erlebt, wenn die Schaltung 
zu wenig Strom bekam. Seitdem hängt alles was ein paar LEDs hat an einen 
Netzteil/Batterie.

Autor: visitor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

ist der Controller vielleicht ständig im reset?
Miss doch mal die Spannung am Reset-Pin.
Oder zieh mal den ISP Stecker ab und versorge deine
Schaltung über en Netzteil/Batterie.

Gruß

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.