-         

Ergebnis 1 bis 3 von 3

Thema: NE555 im Mega8 per Software?

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274

    NE555 im Mega8 per Software?

    Anzeige

    Hi,

    ich möchte meinen ATmega8 (mit 8MHz-Quarz) an einem Ausgang als NE555 nutzen. Dabei sollte der Ausgang zw 90 und 140kHz machen.

    Grund ist das ich gerne mal einen PL-Modem aufbauen möchte und den NE555 dafür in den M8 haben möchte.

    Momentan sind noch alle Pins frei (ausser Vcc, Gnd, XTal1/2 und Reset)

    Gibt es einen Quellcode als Beispiel?

    Grüße
    Alex

  2. #2
    Moderator Roboter Genie
    Registriert seit
    26.08.2004
    Beiträge
    1.228
    Hi!
    Du könntest dafür z.B. den Timer1 im CTC-Modus benutzen.
    Code:
    $regfile = "m8def.dat"
    
    Config Portb.1 = Output
    
    Config Timer1 = Counter , Edge = Falling , Compare A = Toggle , Clear Timer = 1 , Prescale = 1
    Compare1a = 1234
    
    Do
    Loop
    Der Timer1 zählt nun bis zum Wert 1234 und Toggelt dann den Pin "OC1A" (beim Mega8 Portb.1).
    Es gilt die Formel: Freq. Pin = Freq. CPU / (2 * Prescaler * (1+Compare1a))
    Oder umgestellt nach Compare1a: Compare1a = Freq. CPU / (2 * Prescaler * Freq. Pin)) - 1

    Für 140kHz brauchst du also den Wert 27, für 90kHz den Wert 43 bei Prescaler = 1 und 8MHz CPU-Clock.
    Die gleiche Geschichte kannst du auch mit Timer2 machen, falls du Timer1 noch für was anderes brauchst.

    MfG
    Basti

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274
    Hi,

    danke ich werds gleich mal versuchen!

    EDIT: Perfekt! Danke Dir!

Berechtigungen

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