- LiFePO4 Speicher Test    Werbung      
Ergebnis 1 bis 10 von 20

Thema: 5 Minuten Timer mit Attiny 13

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.720
    Hallo John,
    Zitat Zitat von John13 Beitrag anzeigen
    ...Wie kann ich das Programm in z.B Bascom Programmieren? Ich habe leider kaum Ahnung vom Programmieren. Kann mir vielleicht einer weiterhelfen?...
    Um Programmieren zu können muß man das erst mal lernen. Meine ersten Schritte zum AVR Programmieren habe ich zB mit dem RN-Wissen Artikel AVR-Einstieg_leicht_gemacht getan.

    Dort wird zwar mit Mega16 bzw Mega32 gearbeitet. Eine Anpassung der einfachen Bascom Übungen auf ATtiny13 sollten aber kein Problem darstellen und Fragen dazu werden hier sicher auch beantwortet.

    Ansonsten solltest Du uns mehr über Deine Voraussetzungen erzählen.

    zB Hast Du Bascom schon auf dem PC installiert und damit schon den ATtiny13 geflasht?


    Gruß
    Searcher
    Geändert von Searcher (03.04.2011 um 07:35 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2011
    Beiträge
    7
    Hallo Searcher,

    Danke für den Link. Ich besitze das Mikrocontroller Lernpaket von Franzis und habe damit auch schon die Grundschaltungen Programmiert. Auf meinem Rechner habe ich übrigens Bascom, AVR Studio 4 und WinAVR. Mit Bascom und AVR Studio 4 habe ich auch schon kleine Programme (Blinkschaltung) geflasht. Natürlich alles nach dem Handbuch von Franzis.

    Gruß
    John13

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    05.04.2009
    Beiträge
    90
    Hallo, John13,
    das ist so ein schönes Anfängerproblem, dass Du das in kurzer Zeit selbst schaffst. Für den Anfang kannst Du es ja mit wait (Puristen weghören!) probieren, aber dann auf jeden mit dem Timer.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2011
    Beiträge
    7
    Hallo dolivo,

    ich habe mal versucht das programm zu schreiben, aber irgendwie haut das noch nicht so richtig hin.
    den quellcode habe ich im Anhang.

    Code:
    '5 Minuten Timer für Attiny13                                                   05.04.2011'
    
    'Einstellungen ---------------------------------------------------------------------------'
    
    $regfile = "attiny13.dat"
    $crystal = 1200000
    $hwstack = 0
    $swstack = 0
    $framesize = 0
    
    Config Portb.1 = Input                                      ' Taster(S1)
    Config Portb.2 = Output                                     ' LED1
    Config Portb.3 = Output                                     ' LED2
    Config Portb.4 = Output                                     ' Piezo-Summer
    Config Timer0
    
    'Hauptprogramm ---------------------------------------------------------------------------'
    
    Do
          if Portb.1 = 1 then
          Portb.2 = 1 
          Portb.3 = 1
          Waitms 300000
          then Portb.4 = 1
          Portb.2 = 0
          Portb.3 = 0
          Waitms 1000 
          then Portb.4 = 0
    Loop
    Die Grundlagen habe ich mir übrigens auch schon durchgelesen.
    Ich hoffe einer von euch kann mir da weiter helfen

    Gruß
    John13

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Ich hab die Bascom Feinheiten jetzt nicht im Kopf, aber wenn du einen Eingang abfragen willst, musst du das über PIN.X machen.

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2006
    Ort
    Dortmund
    Alter
    38
    Beiträge
    379
    Hallo!
    Also du hast ein paar Fehler in deinem Programm. Zunächst musst du lernen die If Abfrage richtig anzuwenden. Das Grundkonstrukt sieht folgendermaßen aus:
    Code:
    If BEDINGUNG then
    Hier der code der ausgeführt werden soll wenn If zutrifft
    End If
    Bei dir kommt das Wort "then" mehrfach vor. Das ist nicht notwendig, da alles was zwischen If und End If steht ausgeführt wird. Korrigiert würde dein Code so aussehen:
    Code:
    if PINB.1 = 1 Then
          Portb.2 = 1 
          Portb.3 = 1
          Waitms 300000
          Portb.4 = 1
          Portb.2 = 0
          Portb.3 = 0
          Waitms 1000 
          Portb.4 = 0
    Unter das letzte Loop gehört zusätzlich noch das Wort END. Was du auch noch beachten musst ist die richtige Schreibweise der eingebundenen Bibliothek.
    Du hast attiny13.dat geschrieben aber die Datei heißt glaube ich ATtiny13.dat. Also groß und kleinschreibung beachten!
    Das Confic Timer0 in deinem Quellcode ist überflüssig da du keinen Timer in deinem Programm benutzt Bild   und wie schon erwähnt wurde: Bei Inputs nimmt man
    PinX.X anstelle von PortX.X auch wenn viele sagen das es auch anders geht.
    Hoffe ich konnte helfen!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    05.04.2009
    Beiträge
    90
    nicht vergessen, den Summer wieder auszuschalten.

Ähnliche Themen

  1. Wartezeiten von mehreren Minuten
    Von MechMac im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 24.08.2010, 19:41
  2. Timer ATTiny - keine Funktion?
    Von dl1akp im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 19.02.2010, 15:03
  3. Antworten: 6
    Letzter Beitrag: 04.02.2009, 19:49
  4. Nach ca 15 Minuten etwas auslösen, ohne Timer zu benutzen?
    Von x8r im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 21.03.2007, 16:36
  5. Timer bei ATTINY 26 manuell reseten
    Von The Man im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 30.12.2006, 21:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

    Werbung      12V Akku bauen