Emprarem el programari MPLAB X IDE per preparar el programa en assemblador i enviar-lo al microcontrolador. Podeu trobar la darrera versió del programari al web de Microchip on anirem a la pestanya downloads i baixarem i instal·larem la darrera versió per al nostre sistema operatiu. En cas que us calgui baixar una versió anterior, les podreu trobar en aquesta pàgina.
Un cop instal·lat el programa, veurem una finestra similar a la de la figura següent:

Per preparar un programa, picarem sobre la icona
per crear un projecte nou. Ens sortirà una pantalla com la següent:

Al requadre central triarem Application Project(s) o Microchip Embedded i al de la dreta Standalone Project. Picarem a Next i passarem a la següent pantalla:

En aquesta pantalla, on diu Device, triarem el nostre microcontrolador (PIC 16F690). Picant a Next i passarem a la pantalla següent:

En principi, deixarem el valor None. A la pantalla següent ens demana que triem el gravador:




Podem fer servir tres gravadors diferents, PICkit 2, PICkit 3 i PICkit 4. Si tenim el gravador connectat a l'ordinador, veurem que el detecta i el podem triar. Ens dona un número de referència que podria ser útil si tinguéssim més d'un gravador connectat al mateix temps. Si en aquest punt no tenim el gravador connectat, no passa res. Marquem un d'ells i seguim ja que més endavant podrem triar-lo.
A la següent pantalla ens demana que triem el compilador. Com treballarem en assemblador, triarem mpasm:

A la darrera pantalla ens demana el nom del projecte i el directori on el volem guardar:

Per evitar problemes posteriors, cal que la ruta del directori triat sigui curta i que els noms dels fitxers i carpetes siguin curts i no tinguin espais en blanc (per exemple C:\PIC\programes\).
Per crear el nostre programa, anem al menú lateral i piquem sobre Source Files amb el botó dret:

Triem Other i s'obrirà una finestra per triar el tipus:

Triem AssemblyFile.asm i s'obrirà una finestra per triar el nom:

Un cop fet això, se'ns obrirà la finestra on podrem editar el nostre programa. En la figura següent hi ha l'exemple EL. Els exemples que trobareu en aquest web han estat preparats de manera que poden ser copiats de la pàgina web i enganxats directament al MPLAB X IDE.

Un cop tenim llest el programa, podem picar a la icona
que ens generarà el codi màquina. Un cop fet això, ens hem d'assegurar que el resultat és
BUILD SUCCEEDED (ho veurem la finestra de baix a la dreta). En cas contrari cal solucionar el problema i
tornar-ho a provar.

Important: En la finestra de l'MPLAB X podem tenir-hi més d'un projecte i dins del projecte hi podem tenir més d'un fitxer de programa. Quan li diem que ho enviï al microcontrolador, s'enviarà el projecte marcat com a Main Project, és a dir aquell que té el nom en negreta. És indiferent quin tinguem obert a la finestra de la dreta o quin estigui marcat en vídeo invers. De la mateixa manera, si un projecte té més d'un fitxer de programa s'enviaran tots al microcontrolador. Cal ser molt curosos amb això si no es volen tenir resultats inesperats. Una manera alternativa és fer els fitxers de programa amb un altre editor i tenir un únic projecte amb un únic fitxer a l'MPLAB X de manera que en cada moment n'esborrem el contingut i enganxem el que realment volem enviar. Cadascú pot triar la manera que li sigui més còmoda.
Quan ja tenim el codi màquina, podem fer:

I se'ns obrirà una finestra on veurem el nostre programa en codi màquina i també en ensamblador però amb tots els paràmetres en forma numèrica hexadecimal:

El nostre programa va de les línies 1 a 5 (adreces 0 a 4). A la quarta columna veiem les nostres instruccions en codi màquina hexadecimal. A la cinquena columna veiem les nostres etiquetes i altres etiquetes que es crea el compilador. Observem que a les fileres 6 i 7 hi ha unes instruccions que no hem posat nosaltres i que el compilador afegeix al final per prevenir problemes en cas que el programa estigui malament. A totes les fileres següents hi trobem el valor 3FFF que és el que tenen les posicions de la memòria de programa que no estan programades.
Quan ja tenim el programa en codi màquina, és el moment d'enviar-lo al microcontrolador. Si no ho havíem fet abans, cal triar el dispositiu programador. Per triar-lo, picarem amb el botó dret sobre el nom del projecte i marcarem Properties.

Se'ns obrirà una finestra nova on podrem triar-lo:

Abans de tancar aquesta finestra, ens posem sobre PICkit 2, PICkit 3 o PICkit 4 per ajustar les propietats:



L'estat de la casella Use target power always depèn de com alimentem la placa. Si nosaltres alimentem la placa des del PICkit 2 cal que estigui desmarcada. Si, en canvi, alimentem externament la placa mentre la programem, caldrà activar aquesta casella. En el cas del PICkit 3 o PICkit 4 cal marcar Power target circuit from PICkit3 (o PICkit 4) si no fem servir alimentació externa.
Si fem servir PICkit 2 també ens cal que estigui activat 3-State on 'Release from Reset', si no és així el polsador de la placa potser no funcioni.
Un cop tancada aquesta finestra, programarem el microcontrolador picant a la icona
. Si tot va bé, ens programarà el
microcontrolador i el posarà en marxa per poder veure el resultat. Si el nostre programa no hagués estat
compilat a codi màquina, amb aquesta icona podríem haver fet les tres operacions (compilar, programar i posar
en marxa) amb un sol botó.
Un cop ja hem enviat el programa, aquest es queda a la memòria del microcontrolador i es conserva encara que desconnectem l'alimentació. Si alimentem la placa amb una font d'alimentació externa, el programa que tingui gravat s'iniciarà des del començament.
Alguns cops el MPLAB X IDE ens diu que no pot programar. La majoria de cops això s'arregla tancant el programa i tornant-lo a obrir.
Quan vulgueu fer el vostre segon programa teniu dues opcions. La primera és sobrescriure l'antic. A mi em sembla la més pràctica per a petits programes d'aprenentatge ja que així es recorda de les configuracions. Jo em guardo els programes de prova en un fitxer a part (de text, per exemple) i quan els vull fer servir els copio i els enganxo sobre el fitxer que ja tinc creat amb MPLAB X IDE. L'altra possibilitat és crear cada cop un projecte nou cada vegada. En aquest cas és convenient eliminar-los del menú lateral de navegació quan ja no els necessitem.
Cal tenir present que si creem més d'un fitxer de programa dins el mateix projecte els compilarà tots junts i els intentarà executar al mateix temps. Això és útil quan una part del programa (per exemple una funció) està en un fitxer separat (com en el cas de l'exemple ST).
També podeu consultar la guia d'usuari del MPLAB X IDE al web de Microchip.

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