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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.