mikrocontroller.net

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


Autor: Engel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht denn der Hardware-RESET danach noch?

Gruß

Dietmar

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was fehlt, bzw was hab ich falsch gemacht?

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

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.