13.11.2012 Views

PIC 16F628

PIC 16F628

PIC 16F628

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Microchip <strong>PIC</strong> <strong>16F628</strong> M. Deloizy 19<br />

IV..<br />

Programmation logicielle<br />

IV.1. Ecriture de programmes<br />

IV.1.a. Instructions sur octets<br />

'f' : registre (file register), de 0 à 7Fh<br />

'd' : destination<br />

si d=0 → résultat dans W<br />

si d=1 → résultat dans 'f'<br />

Exemples :<br />

CLRW 0 → W<br />

DECF CNT,1 CNT-1 → CNT<br />

DECF CNT,0 CNT-1 → W<br />

ENCORE DECFSZ REG,1 décrémente REG ; SKIP * si Zéro<br />

GOTO ENCORE brancher à ENCORE si REG ≠ 0<br />

SUITE<br />

f défini = 1<br />

SWAP RG1,f si RG1=F4h ⇒ RG1=4Fh<br />

SUBWF AB,W AB-W → W ; C=1 si résultat ≥ 0<br />

W défini = 0<br />

(*) : n'exécute pas l'instruction suivante.<br />

IV.1.b. Instructions sur bits<br />

'b' : numéro du bit affecté par l'opération (0 à 7)<br />

'f' : registre<br />

Exemples :<br />

BCF REG,3 met à 0 le bit 3 de REG<br />

BTFSC CNT,7 test du bit 7 de CNT ; SKIP si = 0<br />

IV.1.c. Opérations littérales et de contrôle<br />

'k' : constante de 8 ou 11 bits, ou valeur littérale<br />

Exemples :<br />

ADDLW 23 W+23 → W ; k sur 8 bits<br />

CALL TOTO appel du sous pgm TOTO ; k sur 11 bits<br />

GOTO SUITE<br />

MOVLW 0x03 03h → W<br />

CLRWDT remise à 0 du Watchdog<br />

SLEEP mise en veille (réveil par RESET, iT ou WDT)<br />

RETLW 0x12 ⇔ W=12h ; RETURN

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!