Reset als I/O pin nutzen

Gast #331438
Lesenswert?
• ▲
▼
Hi,
ich habe folgendes Programm geschrieben und in einen ATtiny 12L
geschrieben. Zusätzlich hab ich das Fuse-Bit "RSTDISBL" für den
internen reset aktiviert.

Das Programm soll folgendes machen:
Wenn Taster 1 (an PB0) gedrückt wird, ist NUR PB3 high
Wenn Taster 2 (an PB1) gedrückt wird, ist NUR PB4 high
Wenn Taster 3 (an PB2) gedrückt wird, ist NUR PB5 high

Also eine Entprellung ist überflüssig. Trotzdem funktionieren nur
Taster 1 und 2. Wenn ich Taster 3 betätige, ist kein ausgang high. Hab
es zur Sicherheit auch noch nachgemessen.

Es handelt sich um diese Programm:

;--------------------------------------
;Eingangswahl
;--------------------------------------
; Datum: 2.5.06
; Version: 1.0
; Controller: ATtiny 12L
;--------------------------------------

.include "tn12def.inc"

;--------------------------------------
; Interruptvektoren
;--------------------------------------

              rjmp  main
              reti
              reti
              reti
              reti
              reti

;--------------------------------------
; Main
;--------------------------------------

  main:    ldi r16 , 0b11111000
        out DDRB , r16
        ldi r16 , 0b00000111
        out PORTB , r16

  mainloop:   wdr
        in r17 , PINB
        sbrs r17 , 0
        rjmp taster1
        sbrs r17 , 1
        rjmp taster2
        sbrs r17 , 2
        rjmp taster3
        rjmp mainloop

  taster1:  ldi r16 , 0b00001111
        out PORTB , r16
        rjmp mainloop

  taster2:  ldi r16 , 0b00010111
        out PORTB , r16
        rjmp mainloop

  taster3:  ldi r16 , 0b00100111
        out PORTB , r16

  rjmp mainloop

Ich nutze den ATtiny 12L, AVR Studio zum Programmieren und PonyProg zum
Brennen.

Was fehlt, bzw was hab ich falsch gemacht?

Mfg
 Engel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.