Forum: Mikrocontroller und Digitale Elektronik Reset als I/O pin nutzen


von Engel (Gast)


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

von Dietmar (Gast)


Lesenswert?

Geht denn der Hardware-RESET danach noch?

Gruß

Dietmar

von Hannes L. (hannes)


Lesenswert?

> Was fehlt, bzw was hab ich falsch gemacht?

Du hast im Datenblatt Seite 5 Tabelle 2 Fußnote 4 nicht gelesen...

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.