Forum: Mikrocontroller und Digitale Elektronik Assembler


von Reinhard Wingen (Gast)


Lesenswert?

Hallo,

ich möchte z.B. PB0 setzen und PB1 Zeitverzögert (10 sek)setzen.
Kann mir jemand sagen welchen Befehl man in Assembler verwenden kann ???

von H. Howey (Gast)


Lesenswert?

Hallo...
Es ist unter anderem die Frage welchen Quarz du dran hast und was der Mc 
sonst noch so tun soll. Bei 4 MHz sieht es z.B. so aus:

Ausgang einstellen s. Tutorial und nun die Zeitverzögerung
; =============================
;   Warteschleifen-Generator
;     40000000 Zyklen:
; -----------------------------
; warte 39998607 Zyklen:
          ldi  R17, $FB
WGLOOP0:  ldi  R18, $E3
WGLOOP1:  ldi  R19, $E9
WGLOOP2:  dec  R19
          brne WGLOOP2
          dec  R18
          brne WGLOOP1
          dec  R17
          brne WGLOOP0
; -----------------------------
; warte 1392 Zyklen:
          ldi  R17, $02
WGLOOP3:  ldi  R18, $E7
WGLOOP4:  dec  R18
          brne WGLOOP4
          dec  R17
          brne WGLOOP3
; -----------------------------
; warte 1 Zyklus:
          nop
; =============================
Nun sind die 10sec um und nächsten Ausgang setzen

Diese zeitverzögerung wurde mit dem Programm "AVR delay loop generator" 
gemacht und gibt es kostenlos. Eine andere Möglichkeit ist es den Timer 
in einem MC zu nutzen oder aber einen NE555 mit der Aufgane als Monoflop 
zu betrauen. Doch dazu fehlen leider noch mehr Angaben von dir.
Gruß
H.Howey

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.