Programació en mpasm del PIC 16F690

Referència Trucs Perifèrics   Recursos CITCEA
Tutorial Exemples Projectes   Inici

Instruccions del PIC 16F690

El microcontrolador treballa en codi màquina mitjaçant un conjunt d'instruccions. Les instruccions del PIC 16F690 es codifiquen en valors de 14 bits. En aquests 14 bits s'hi emmagatzema la instrucció i, si s'escau, els paràmetres.

La majoria de les instruccions operen sobre registres que poden ser adreces de la memòria de dades o sobre un registre especial de treball anomenat acumulador (que representem per W). Com no hi ha instruccions que puguin operar sobre dues adreces de memòria diferents, l'acumulador (W) serveig de registre de treball.

Programar en codi màquina és complicat ja que la identificació de les instruccions és molt farragosa i és fàcil cometre errades. Normalment es programa en llenguatge assemblador que és una codificació de les instruccions en una forma fàcil d'identificar (que s'anomena mnemònica).

La configuració per defecte del microcontrolador és amb un rellotge de 4 MHz. Cada instrucció normal requereix quatre cicles de rellotge i, per tant, cada instrucció normal s'executa en un microsegon (us). Quan la instrucció que s'executa no és la següent (perquè hi ha un salt en el programa) es perden quatre cicles de rellotge i, per tant, triga 2 μs en executar-se.

A continuació veurem com algunes instruccions s'escriuen en forma mnemònica i com serien en codi màquina.

Les instruccions del PIC 16F690 són de quatre tipus: sobre variables, sobre valors, sobre bits i de salt.

Instruccions sobre variables

La instrucció es codifica amb 7 bits i en els altres 7 s'hi guarda l'adreça de la memòria de dades sobre la que es treballa.

Per exemple, la instrucció següent (movwf 06h) copia el valor que hi ha a l'acumulador sobre l'adreça 6 de la memòria de dades.

	movwf		0x06
movwf 06h

Instruccions sobre valors

La instrucció es codifica amb 6 bits i en els altres 8 s'hi guarda el valor sobre el que es treballa.

Per exemple, la instrucció següent (andlw F0h) fa una funció i entre el valor que hi ha a l'acumulador i el valor que li indiquem (F0h) i guarda el resultat a l'acumulador.

	andlw		0xF0
andlw F0h

Instruccions sobre bits

La instrucció es codifica amb 4 bits, el bit de treball en 3 bits i en els altres 7 s'hi guarda l'adreça de la memòria sobre la que es treballa.

Per exemple, la instrucció següent (bsf 07h,2) activa el bit 2 de l'adreça 7 de la memòria de dades.

	bsf		0x07,2
bsf 07h,2

Instruccions de salt

La instrucció es codifica amb 3 bits i en els altres 11 s'hi guarda l'adreça del salt.

Per exemple, la instrucció següent (goto 004h) salta a l'adreça 4 de la memòria de programa.

	goto		0x004
goto 004h

Podeu trobar la llista de les instruccions i la seva descripció a l'apartat 15 del document de característiques del PIC 16F690.

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.