-         

Ergebnis 1 bis 3 von 3

Thema: Atmega 128 mit Uhr

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.08.2006
    Beiträge
    20

    Atmega 128 mit Uhr

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich möchte gern beim Atmega 128 eine Uhr implementieren. Der Chip ist mit 4 MHz intern getaktet, an den Anschlüssen außen ein 32,768 kHz Quarz. Bis jetzt beschrenken sich meine Erfahrungen auf einfache Aufgaben, die Uhr stellt mich vor Problemen.
    Also die Uhr sollte relativ genau laufen und jede Minute auf dem externen LCD die Zeit aktuallisieren. Wer kann mir dazu Tips etc. geben ?
    Besten Dank
    Andreas

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.05.2005
    Ort
    Rott am Inn
    Alter
    29
    Beiträge
    373
    hallo schmidtkoe,
    also das mit dem 32,768 kHz Quarz ist schon mal ziemlich genau. du musst dann eben ein programm schreiben welches mit einem timerinterrupt eine variable hochzählen lässt. bei jedem interrupt A = A + 1 und dann eben z.B. schreiben if A = 60 then Locate Lcd and A = 0 end if
    mfg franzl

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.03.2004
    Beiträge
    185
    BASCOM kann das von Hause aus. Lies mal:
    Code:
    CONFIG CLOCK = soft
    falls Du zusätzlich weitere Dinge in der 1sec-ISR behandeln willst oder Bascom beim MEGA128 die Register falsch setzt (kann das nicht testen) hier ein Beispiel für den MEGA169, wie Du die Register und ISR selber behandelst:
    Code:
    'Set Timer Register Mega169
       Assr = &B1000 'Async with ext. Crystal Oscillator
       Tccr2a = &B0101 'prescaler 128: 32.768Hz/(128*256) = 1sec
       Tifr2 = &B0011 'Clear Timer/Counter2 - Interrupt Flag TIFR2
       Timsk2.toie2 = 1 'Enable Timer2 - Timer/Counter2 Interrupt Task Register TIMSK2
    On Ovf2 Isr_softclock Nosave 'OVF2 =$00a ;Overflow2 Interrupt
    
    '...
    
    '*********ISR Timer2 - Async ***************************************
    '---------------------------------------------------------------
    'Interrupt:  Isr_softclock
    'Call from:  Interrupt Vector Timer2
    'Purpose:    increment RTC: clock and date
    '            external 32kHz Oscillator (Async Modus)
    'Result:     _sec, _min, _hour, _day, _month, _year
    '---------------------------------------------------------------
    $external _soft_clock
    Const _sectic = 0   'Compilerstatement for CONFIG CLOCK = USER , GOSUB <> SECTIC
    
    Isr_softclock:
    $asm
       'internal Bascom ISR-Routine: Softclock
       JMP    _SOFT_CLOCK  'original RETI
    $end Asm
    Return

Berechtigungen

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