PWM Signale mit 2313 mischen

Gast #102399
Lesenswert?

Genau so soll es sein!

An zwei Verschiedenen Eingängen E1 und E2 liegen verschiedene PWM
Signale an. Nun soll das eine Sinal von E1 ständig am Ausgang A1
anliegen. Wenn am Pin PD0 ein H-Signal ansteht soll das Signal von E1
am Ausgang A1 verschwinden und das Signal von E2 am Ausgang A1
anliegen.
müsste doch zu machen sein!

Grüsse Dirk
Gast #102400
Lesenswert?

.equ e1=0 ;Eingang1
.equ e2=1 ;Eingang2
.equ es=2 ;Steuereingang
.equ au=3 ;Ausgang

.def temp=r16     ;Register benennen

.include"def2313.inc" ;Definitionsdatei

;INT-Vektoren mal schnell weggelassen, da keine INTs benutzt...

 ldi temp,(1<<au) ;Ausgangsport
 out ddrb,temp    ;setzen

main:
 sbis pinb,es     ;Überprüfung des Steuereingangs
 rjmp ist_L       ;springe zur alternativen Abarbeitung wenn st=L ist

ist_H:          ;Steuereingang ist H, Eingang 1 wird durchgeschaltet
 sbic pinb,e1     ;Eingang1 L?
 sbi portb,au     ;nein, H setzen
 sbis pinb,e1     ;ja, Eingang1 H?
 cbi portb,au     ;nein, L setzen
 rjmp main        ;ja, von vorn

ist_L:          ;Steuereingang ist L, Eingang 2 wird durchgeschaltet
 sbic pinb,e2     ;Eingang2 L?
 sbi portb,au     ;nein, H setzen
 sbis pinb,e2     ;ja, Eingang2 H?
 cbi portb,au     ;nein, L setzen
 rjmp main        ;ja, von vorn

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren