XORFW funktioniert nicht auf PORTA

OP #1268055
Hi, ich habe eine Frage zu den folgenden zwei einfachen Programmen:
1
STATUS equ 03
2
TRISA  equ 85
3
PORTA  equ 05
4
COUNT1 equ 20
5
COUNT2 equ 21
6

7
 bsf   STATUS,5
8
 clrf  TRISA
9
 bcf   STATUS,5
10
 movlw 02
11
 movwf PORTA
12
 clrf  COUNT1
13
 clrf  COUNT2
Hier unterscheiden sich die beiden Programme jetzt:
Programm 1:
1
Start
2
 bsf   PORTA,1
3
 call  Delay
4
 bcf   PORTA,1
5
 bsf   PORTA,2
6
 call  Delay
7
 bcf   PORTA,2
Programm 2:
1
 movlw 06
2

3
Start
4
 call  Delay
5
 xorwf PORTA
Ab hier sind beide Programme wieder gleich:
1
goto  Start
2

3
Delay
4
 decfsz COUNT1
5
 goto   Delay
6
 decfsz COUNT2
7
 goto   Delay
8
 return
9

10
 end

RA1 und RA2 sollten meiner Meinung nach in beiden Fällen abwechselnd 
blinken. Beim zweiten Programm ist das Ergebnis auf meinem PIC16F627 
aber, dass erst RA1 dann RA2 angeht und danach nichts mehr passiert. 
Woran kann das liegen? Wenn ich das XORWF durch ein ANDWF austausche, 
geht RB1 nach dem ersten Delay aus. Bei IORWF tritt der gleiche Zustand 
wie bei XORF ein und bei COMF gehen alle RA an. Es ist, als würde der 
PIC beim Lesen von PORTA nur 0 lesen. Ist dem so? Und, wenn ja, warum?

teh-JaR
OP
Hi noch mal.
Das hier funktioniert ohne Probleme:
1
__config 3D18
2
STATUS equ 03
3
PORTA  equ 05
4
TRISA  equ 85
5
CHANGE equ 20
6
COUNT1 equ 21
7
COUNT2 equ 22
8

9
 bsf    STATUS,5
10
 clrf   TRISA
11
 bcf    STATUS,5
12
 movlw  6
13
 movwf  CHANGE
14
 clrf   COUNT1
15
 clrf   COUNT2
16
 movlw  2
17
 movwf  PORTA
18

19
Begin
20
 call   Delay
21
 xorwf  CHANGE,0
22
 movwf  PORTA
23
 goto   Begin
24

25
Delay
26
 decfsz COUNT1
27
 goto   Delay
28
 decfsz COUNT2
29
 goto   Delay
30
 return
31

32
 end
Ich wüsste trotzdem gerne, woran es liegt, dass von PORTA nicht gelesen 
werden kann, wenn PORTA als Ausgang geschaltet ist und wo ich diese 
Information im Datenblatt finden kann.

teh-JaR

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.