Forum: Mikrocontroller und Digitale Elektronik blinklicht


von tunzer (Gast)


Lesenswert?

hi,
habe hier ein board mit dem µC at90s8515 und versuche led's blinken zu
lassen. ich verwende die steinzeit-variante und benutze keinen timer
sondern eine schleife. wie man merkt bin ich anfänger und will
assembler lernen.
so weit bin ich gekommen, aber die leds blinken nicht.

.include "8515def.inc"       ;Definitionsdatei einbinden, ggf. durch

rjmp init

init:   ldi r16, 0xFF
        out DDRB, r16       ;Port B durch Ausgabe von 0xFF ins
                             ;Richtungsregister DDRB als Ausgang
konfigurieren
    ldi r16, 0xFF
    out PORTB,r16

        ldi r16, 0x00
        out DDRD, r16       ;Port D durch Ausgabe von 0x00 ins
                             ;Richtungsregister DDRD als Eingang
konfigurieren

main:
    ldi r16, 0x00
    out PORTB, r16
    ldi r17, 0xff
    rcall warteschleife
    rjmp main


warteschleife:
        dec r17
        brne warteschleife
      rcall warteschleife_end


warteschleife_end:
      ldi r16, 0xff
      out PORTB, r16
      ;in r23,pind
      ;out portb,r23
      ldi r17, 0xff
      ;rcall warteschleife
      rjmp main

von Daniel Nöthen (Gast)


Lesenswert?

Du musst zwei Warteschleifen verschachteln.
Von 255 auf 0 zu zählen schafft der µC so schnell, dass du es nicht
blinken siehst.
Ich tippe mal darauf, dass die LEDs dauernd an sind?

Gruß,
Daniel

von 3 Newton (Gast)


Lesenswert?

Mal mit einem Oszi gemessen was rauskommt?

3N
ps: versuchs mal lieber mit Bascom für den Einstieg, sonst ist es
leicht frustrierend

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.