ich hatte den code nicht gepostet, da er meiner Meinung nach nicht Fehlerhaft ist, wenn der Code in einem anderen AVR ohne Probleme läuft.
hier der Code:
Das ist der Testcode, mit dem ich Testen wollte, ob überhaupt etwas aus dem uC kommt.
Code:
.INCLUDE "tn15def.inc"
main:
ldi r16, 0xFF
out DDRB, r16
ldi r16, 0xFF
out PORTB, r16
Hier der Code der eigentlich funktionieren sollte(ist bisschen schlampig geschrieben)
Code:
; Prozessor definieren
.NOLIST
.INCLUDE "tn15def.inc" ; ATtiny15
.LIST
; Register definieren
.DEF temp = R16
.DEF zaehler = R17
.CSEG ; Hier beginnt das Code-Segment
.ORG 0x00 ; Die Adresse auf Null
; Hauptprogramm
main:
ldi temp, 0b11111110 ; Ein- und Ausgangspins configurieren
out DDRB, temp ; PINB0 Eingang PINB1-5 Ausgang
ldi temp, 0x00
out PORTB, temp
; loop (Endlosschleife zum Abfragen des Tasters)
loop:
sbic PINB, 0
rjmp delay
; loop2 (Zweite Abfrage des Tasters)
loop2:
sbic PINB, 0
rjmp an_aus
rjmp loop
; delay (warte Schleife zum entprellen des Tasters)
delay:
ldi zaehler, 0x10
wait:
dec zaehler
brne wait
rjmp loop2
; an_aus (Überprüfen Ausgänge Überprüfen und An- oder Ausschalten)
an_aus:
sbic PORTB, 1
rjmp aus
rjmp an
; an (schalte Ausgänge An)
an:
sbi PORTB, 1
rjmp loop
; aus (schalte Ausgänge Aus)
aus:
cbi PORTB, 1
rjmp loop
Ich habe am Eingang einen Pulldown in meiner Schaltung
Funktionsbeschreibung: Mit einem Taster Ein und Ausschalten der PortB Bits.
Lesezeichen