Hi,
gestern ist endlich mal mein Breadboard gekommen und ichd achte mir, dass ich n bischen mit Assembler spiel, weil ich mich noch nicht so wirklich mit C oder Bascom beschäftigt hab.
Gut... Also mald as Tutorial von mikrocontroller.net geschnappt und gebastelt.
Nur weiss ich nicht, warum dieses programm keine LED zum leuchten bringt:
Code:
.include "m16def.inc"
ldi r16, 0xFF
out DDRB, r16
out PORTB, r16
loop: rjmp loop
Die LEDs hängen an PORTB6 und PORTB7. Eigentlich müssten die ja leuchten.
Bei diesem Programm tun sie es brav:
Code:
.include "m16def.inc" ;Definitionsdatei einbinden
ldi r16, 0xFF ;0xFF ins Arbeitsregister r16 laden
out DDRB, r16 ;Inhalt von r16 ins IO-Register DDRB ausgeben (Ausgabe)
ldi r16, 0x00 ;0xFF ins Arbeitsregister r16 laden
out DDRD, r16 ;Inhalt von r16 ins IO-Register DDRD ausgeben (Eingabe)
loop:
sbic PIND, 7 //Wenn PIND7 0 ist, nächsten Befehl überspringen
rjmp loop
sbi PORTB, 7 //PORTB7 auf 1 setzen
ende: rjmp ende
Natürlich erst, wenn man den Taster drückt....
Anmerkung: Wenn ich den Taster drücke ist LOW am Controller, weil ich nen Pullup Widerstand zu VCC dabei hab.
Kann mir da jemand helfen?
Der Controller ist auch nicht kaputt. Diese Blinkschaltung in Bascom funktioniert zum Beispiel einwandfrei:
Code:
$regfile = "m16def.dat"
$crystal = 8000000
Config Pinb.7 = Output
Config Pinb.6 = Output
Do
Portb.7 = 1
Portb.6 = 0
Wait 1
Portb.7 = 0
Portb.6 = 1
Wait 1
Loop
Lesezeichen