- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 10

Thema: was versteht man unter "Taster im Polling erfassen"!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    RN-Premium User Stammmitglied
    Registriert seit
    26.01.2005
    Ort
    Leipheim / Donau
    Beiträge
    53
    Hallo,

    freut mich das es jetzt funktioniert.
    Der ATiny2313 braucht nur den SPL, weil nur 128 Byte Ram zur Verfügung stehen
    da wäre die letze RAM Adresse 0x80, bei ATmega8 ist die letzte RAM Adresse 0x045F.
    Ich muss zugeben ich hab noch nie was mit dem 2313 gemacht ich nehme eigentlich nur
    ATmega16 oder aufwärts, die kann ich mit dem JTAGMKII debuggen.

    mfg ihle

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    20.08.2011
    Beiträge
    61
    So jetzt läufts astrein!
    Hier nochmal der überarbeitete Cod (ohne Stackp.)

    ; Projekt-Name: Projekt01 Datum: 24.01.2014

    ; Datei: Tiny2313-tasteprellen.asm

    ; AVR: Tiny2313-20PU

    .INCLUDE "tn2313def.inc" ; Deklaration für Tiny2313

    rjmp reset ; Reseteinsprung
    .ORG OVF0addr ; Interrupt-Vektor
    rjmp TIMER0_OVF ; Sprung zur ISR

    .def akku =r16
    .def temp17=r17 ; r17 zum Entprellen

    #define sw1 PIND,PD0

    reset:

    ;Timer0 initial.
    ldi akku,(1<<CS02)
    out TCCR0B,akku ; Prescale = 256
    ldi akku,(1<<TOIE0)
    out TIMSK,akku
    sei

    ;Vorbereitung PORTB und PIND
    ldi akku,(1<<PB0)|(1<<PB1)
    out DDRB,akku ; PB0 + PB1=Output

    clr akku ; alle Pins in r16=Low
    out DDRD,akku ; Datenricht. PD0-PD6=Input

    ldi akku,0x7F ; 0b0111.1111
    out PORTD,akku ; PD0 bis PD6=PULLUP

    ldi akku,0x00 ; beide LEDs zu Beginn AUS
    out PORTB,akku

    loop:
    halt1:
    sbic sw1 ; überspringe, wenn sw1=0
    rjmp halt1
    sbi PORTB,PB0 ; PB0=EIN
    rcall prellen
    ;-----------------------------------------------------
    halt2:
    sbic sw1
    rjmp halt2
    sbi PORTB,PB1 ; PB1=EIN
    rcall prellen
    ;-----------------------------------------------------
    halt3:
    sbic sw1
    rjmp halt3
    cbi PORTB,PB0 ; PB0=AUS
    rcall prellen
    ;-----------------------------------------------------
    halt4:
    sbic sw1
    rjmp halt4
    cbi PORTB,PB1 ; PB1=AUS
    rcall prellen
    ;-----------------------------------------------------
    rjmp loop

    prellen:
    ldi temp17,0x0F
    pause1:
    tst temp17 ; teste r17 auf LOW, LOW<<Z-Bit=1
    brne pause1 ; Verzweig. nach pause1,wenn Z=0
    ret

    TIMER0_OVF:
    push r2 ; Kopie r2 auf Stack, danach SP-1
    in r2,SREG ; Inhalt vom SREG nach r2
    dec temp17 ; r17 - 1
    out SREG,r2 ; Inhalt vom r2 nach SREG
    pop r2 ; SP+1, danach vom Stack in r2 laden
    reti
    .EXIT

Ähnliche Themen

  1. ATMega8 "verfused" Kann man den noch retten
    Von Bumbum im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 19.03.2013, 19:02
  2. RESET Benötigt? Was versteht man unter "ATMega 32"
    Von Merew im Forum AVR Hardwarethemen
    Antworten: 15
    Letzter Beitrag: 16.02.2008, 21:32
  3. Wie kommuniziert man "richtig" über RS232 mit C?
    Von Mad-Onion im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 26.11.2006, 16:51
  4. Wie kann man "Dicke"Motoren Stuern/Wo ne "Dic
    Von Involut im Forum Motoren
    Antworten: 7
    Letzter Beitrag: 19.07.2004, 14:55
  5. Drehmoment im Art. "Motoren" unter "Grundlage
    Von Fabian im Forum Motoren
    Antworten: 9
    Letzter Beitrag: 17.02.2004, 10:11

Berechtigungen

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

Solar Speicher und Akkus Tests