Hoi,
Vandaag aan de hand van de PIC microcontroller tutorial mijn eerste stapjes in dit gebied gezet.
Ik heb echter kritisch proberen om te gaan met de code in de tutorial en kwam tot het resultaat zoals hier onderaan mijn post te vinden is. Bevat deze zichtbare fouten? (ik kan immers nog niet testen en ga pas de componenten kopen na mijn examenzittijd...)
Ik zit echter ook nog wat verveeld met het aantal klokcycles, ik heb geprobeerd om het mooi symetrisch te houden. Zodoende kom ik uit op 197363 cycles tussen uit en aan, kan iemand dit cijfer verifiëren?
197363 = 2 + 2 + 2 + [(255*3)+2]*255 + (255*3) + 2 + 5
setupPoortA EQU 0x085 ;Set label
poortA EQU 0x005 ;Set label
counter0 EQU 0x040 ;Set label
counter1 EQU 0x041 ;Set label
activity EQU 0x042 ;Set label
ORG 00h ;Start
BSF 0x003,5 ;Switch to bank1
BCF setupPortA,0 ;Set port direction to output
BCF setupPortA,1 ;Set port direction to output
BCF 0x003,5 ;Switch to bank0
BSF activity,0 ;Set activity
BSF poortA,0 ;Set port A0 active
NOP ;Adjust cycle time
NOP ;Adjust cycle time
preCycle MOVLW 0x0FF ;
MOVWF counter1 ;
outerCycle MOVLW 0x0FF ;
MOVWF counter0 ;
innerCycle DECFSZ counter0,1 ;
GOTO innerCycle ;
DECFSZ counter1,1 ;
GOTO outerCycle ;
testActivity BTFSS activity,0 ;If non-active set active
GOTO setActive ;
BTFSC activity,0 ;If active set non-active
GOTO setNonActive ;
setActive NOP ;Adjust cycle time
NOP ;
BCF poortA,0 ;Set port A0 non-active
GOTO preCycle ;
setNonActive BSF poortA,0 ;Set port A0 active
GOTO preCycle ;
END ;Stop
Alvast bedankt,
Geert
Ik heb geen zin om het na te rekenen. Laad het programma gewoon in MPLAB en simuleer het. In de stopwatch kun je dan zien hoeveel cycles een stuk code gebruikt. Eventueel moet je een aantal stimuli zetten om alle mogelijke paden door je code te testen.