Fehler im Code

OP #1113607
Lesenswert?

Hallo zusammen,
irgendwo in anliegendem Assemblercode stecken mindestens zwei Fehler,
und ich finde sie einfach nicht. Ein PIC16F84 spricht einen ISD1016 (ich
weiß, altes Zeug, aber davon habe ich halt noch einige rumliegen)an; das
funktioniert auch soweit gut, weil der ISD alle drei Texte nacheinander
fehlerlos plappert und dann wieder von vorne beginnt. Nun soll er aber
den ersten Text erst aufsagen, wenn ich RB7 auf low setze (high ist er
durch den internen pull-up). Den BTFSC-Befehl für RB7 ignoriert der PIC
genauso wie den für RA4, der über einen 10kOhm auf high liegt. Ich kann
die beiden Portbits auf Masse legen oder auch nicht, es macht keinen
Unterschied. Es wäre nett, wenn sich die PIC-Profis den Code mal ansehen
und mir verraten, wo mein Denkfehler steckt.

Danke und viele Grüße
Roland
Angehängte Dateien:
Gast #1113724
Lesenswert?

...wenn RB7 0 ist, springst Du zum return. Bei 1 ruftst du Delay auf und 
landest dann beim return.

GOTO START wird nicht erreicht.

Immer dran denken: ein skip überspringt immer genau einen 
assemblerbefehl.


BEDINGUNG1
  BTFSC  PORTB,7
  CALL  DELAY
  RETURN
  GOTO  START



Viele Grüße,
McS
OP #1113810
Lesenswert?

mcs wrote:
> ...wenn RB7 0 ist, springst Du zum return. Bei 1 ruftst du Delay auf und
> landest dann beim return.
>
> GOTO START wird nicht erreicht.
>
> Immer dran denken: ein skip überspringt immer genau einen
> assemblerbefehl.


danke für die Antwort. "DELAY" hatte ich bei RB7 nachträglich ohne 
wirklich zu überlegen eingefügt, nachdem alle meine zig Versuche 
fehlgeschlagen waren. Ursprünglich war's die gleiche Befehlsfolge wie 
später im Code für RA4. Leider ignoriert der PIC auch die BTFSC-Befehle, 
wenn "DELAY" entfernt ist und "START" erreicht wird. Auch wenn ich alles 
auf BTFSS umschreibe, werden diese Befehle nicht ausgeführt. Sehr 
seltsam....

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