Está en la página 1de 13

REFERENCIA RÁPIDA MPLAB-X

Misceláneos

Carpeta dist contiene el .hex de salida

Para importar un .hex necesariamente hay que crear un proyecto “Prebuilt”

Al actualizar a una nueva versión de XC8, igual queda instalada la anterior. Hay que desinstalarla manualmente,
borrar la carpeta, y en Tools -> Options -> Embedded -> Build Tools remover la versión vieja.

PROYECTOS
1. New Project

2. Microchip Embedded
a. Standalone Project para un nuevo proyecto
b. Prebuilt si es para importar un .hex
3. Select Device

4. Select Header: si aparece este cuadro, no seleccionar ningún Debug Header


5. Select Tool: seleccionar Simulator

6. Select Compiler
a. mpasm si se va a programar en assembler.
b. XC8 si se va a programar en C.
7. Seleccionar nombre de proyecto y ubicación
a. Tildar Set as main project

b. Si se va a programar en asembler, seguir en 16..


c. Si se va a programar en C, seguir en 8..

8. Crear un archivo fuente


a. Archivo C: botón derecho sobre Source Files, luego New, luego C Source File.
Darle un nombre y guardarlo

9. Escribir el programa
10. Compilar el proyecto. Para compilar Build Project compila sólo los archivos que cambiaron desde la
última vez, y Clean and Build Project compila todos los archivos sin importar si han cambiado o no

11. Simular el programa. Usar el ícono Debug Project. Para que el simulador no corra a tiempo real,
previamente ir a Tools, Options, seleccionar ícono Embedded, seleccionar Generic Settings y en Debug
Startup setear Halt at main
Para simular paso a paso usar Step Over (o F8) o Step Into (o F7)

12. Para poner/quitar un Breakpoint hacer click en el número de línea, se pone un cuadrado rojo y la línea se
resalta en rojo

13. En Windows -> Debugging se pueden seleccionar varios tipos de ventanas para ver variables, breakpoints.
En Windows -> PIC Memory Views se pueden seleccionar ventanas para ver SFR, memoria, etc.
En Windows -> Simulator se pueden seleccionar ventanas para señales de stymulus. La de I/O Pins está
interesante para cambiar valores de puertos de entrada.

14. Si hay que modificar el programa, antes de hacerlo hay que finalizar la sesión de Debug

15. Para grabar se usa el mismo botón Debug Project, al iniciar con este la sesión debug => compila el
programa y graba el micro (siempre que como herramienta se haya seleccionado algún grabador en lugar
del simulador). Mejor grabar con otra aplicación (PicKit 2, WinPIC 800, etc)
16. Crear un archivo fuente
a. Botón derecho sobre Source Files, luego New, luego Empty File

Darle un nombre y guardarlo con extensión .asm


17. Escribir el programa

Seguir en 10.

 Para ver y modificar VARIABLES GLOBALES y SFRs utilizar WATCHES WINDOW (Windows -> Debugging ->
Watches). La vista actual se puede guardar en un archivo para utilizarla en otra sesión u otra máquina.
 Para ver y modificar VARIABLES LOCALES (variables que no tienen dirección permanente y que existen en
el stack) utilizar VARIABLES WINDOWS (Windows -> Debugging -> Variables). Se pueden mostrar
WATCHES (SFRs y variables globales) con los controles a la izquierda.
 Para mediciones de tiempo utilizar STOPWATCH (WINDOW (Windows -> Debugging -> Stopwatch). En File
-> Project Properties -> Simulator setear la frecuencia de instrucción (1/4 del cristal).

PARA OPTIMIZAR EL COMPILADOR (de FREE a PROF, para generar menos código)

 Entrar a las propiedades del proyecto


 En “XC8 compiler”, seleccionar “Optimizations” y en “Operation mode” seleccionar “PRO”.
PLANTILLA PARA ASSEMBLER

list p=16F84A

#include <p16F84a.inc>

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ;bits de configuracion

; Los puertos del PIC cumplen las siguientes funciones:

;SARASA

;------------------------------------------------------------------------

ORG 0

CLRF INTCON; todas las interrupciones deshabilitadas

BSF STATUS,RP0; me posiciono en banco 1 de RAM

MOVLW 0xFF

MOVWF TRISA; PORTA como entrada

MOVLW 0x01

MOVWF TRISB; RB0 entrada, RB1-RB7 salidas

BCF STATUS,RP0; me posiciono en banco 0 de RAM

BUCLE MOVF PORTA,W; leo PORTA

;aca programa principal

GOTO BUCLE

END
PLANTILLA PARA C (XC8)

#include <xc.h> //header que se utiliza cuando se trabaje con XC8.


//Es un header global que termina apuntando a un header
particular
//del micro usado, el cual contiene los "nombres amigables"
//de los registros (como PORTB, INTCON, INTCONbits.TMR0IE,
etc)

// CONFIG
#pragma config FOSC = XT // Oscilador XT oscillator
#pragma config WDTE = OFF // Watchdog Timer deshabilitado
#pragma config PWRTE = ON // Power-up Timer habilitado
#pragma config CP = OFF // Code Protection deshabilitado

// Los puertos del PIC cumplen las siguientes funciones:


//SARASA

unsigned char
salida[8]={0b10100000,0b11100000,0b00010000,0b01110000,0b00000100,0b01000100,
0b00010100,0b01010100}; //tabla de verdad
unsigned char puntero; //variable para direccionar la tabla de verdad

void main (void)


{
INTCON = 0; //interrupciones deshabilitadas
TRISA = 0x1F; //PORTA todo entrada
TRISB = 0b00000001; //PORTB todo salida menos RB0
while (1) //bucle infinito programa principal
{
puntero = PORTA; //leo PORTA
puntero = puntero & 0b00000111; //enmascaro RA4 y RA3 (no usadas)
PORTB = salida[puntero]; //saco valores en PORTB
}
}

También podría gustarte