Code:
;**************************************************************
;*
;* Pinbelegung
;* ----------------------------------
;* PORTA:
;* Pin Funktion
;* 0 Ausgang
;* 1 Ausgang
;* 2 Ausgang
;* 3 Ausgang
;* 4 Ausgang
;* 5 Ausgang
;*
;* PORTB:
;* Pin Funktion
;* 0 Ausgang
;* 1 Ausgang
;* 2 Ausgang
;* 3 Ausgang
;* 4 Ausgang
;* 5 Ausgang
;* 6 Ausgang
;* 7 Ausgang
;*
;* PORTC:
;* NN
;*
;*
;**************************************************************
; Includedatei für den 16F84 einbinden
list p=16f876
#include <P16f876.INC>
ERRORLEVEL -302 ; SUPPRESS BANK SELECTION MESSAGES
;**********************************************************
; Variablennamen vergeben
dx EQU 0x20
dy EQU 0x21
org 0 ; Programmstart immer bei 0
goto init ; Init ausführen
;**********************************************************
; Anfangsinitialisierung
init
CLRF dx ; Schleifenende
CLRF dy ; Schleifenzaehler
MOVLW H'55' ; Schleifenlaenge ins W-Register setzen`
MOVWF dx ; Schleifenlaenge aus W-Register nach dx
BSF STATUS, RP0 ; auf Bank 1 umschalten
BCF STATUS, RP1 ;
MOVLW B'00000000' ; PortA alle output
MOVWF TRISA
MOVLW B'10001111' ; PortA dig output
MOVWF ADCON1
MOVLW B'00000000' ; PortB alle output
MOVWF TRISB
BCF STATUS, RP0 ; auf Bank 0 zurückschalten
CLRF PORTA ; alle Port A Latches ausschalten
CLRF PORTB ; alle Port B Latches ausschalten
;**********************************************************
; Hauptprogrammschleife
Main
MOVF dx,0 ; lädt Schleifenende
MOVWF dy ; setzt Schleifenzähler
SchleifeBegin
MOVF dy,0 ; hohle Schleifenzähler ins W-Register
NOP
MOVWF PORTA ; W-Register auf PORT A ausgeben
XORLW H'FF' ; Komplement bilden
MOVWF PORTB ; Komplement auf PORT B ausgeben
DECF dy,1 ; dy um eins erniedrigen
MOVF dy,1 ; Prüfen auf 0 und Zero-Flag setzen
BNZ SchleifeBegin
NOP ; ende
end
Ich hab also das Problem das er meiner Meinung nach eigentlich dy auf PORTA ausgeben sollte! Und da er das ja nach dem MOVWF PORTA ja noch im Accu hat sollte das mit der Komplementierung kein Problem sein! Die anschließende Ausgabe auf PORTB müsste dann ja auch noch möglich sein, schließlich hat der das ja alles noch im Accu und kanns direkt schreiben.
Ich versteh einfach nicht wieso der das nicht hinkriegt!!
*heul*
Lesezeichen