lunes, 21 de marzo de 2011

Cómo simular en MPLAB IDE

Las simulaciones son las herramientas más utilizadas por los diseñadores para poder probar y depurar sus diseños. Por este motivo Microchip integro en MPLAB IDE un simulador: MPLAB SIM.
A continuación les traigo un tutorial con las instrucciones básicas para poder realizar una simulación. 



1. Iniciamos  MPLAB IDE.

2. Creamos un nuevo proyecto.

3. Antes de empezar, deseo aclarar que el programa que se encuentra a continuación es solo usado como ejemplo para poder explicar las herramientas básicas para la simulación. Además intentaré ser lo más claro posible para que podamos comprender el funcionamiento de este algoritmo  y con ello visualizar por medio de la simulación su adecuado funcionamiento.




.INCLUDE "P30F4013.INC"
.TEXT
.GLOBAL                            __reset
;------CONFIGURANDO LA PILA------
__reset:                               MOV                   #0x800,W15
                                           MOV                   #0x8FE,W0
                                           MOV                   W0,SPLIM
                                           GOTO                  INICIO
;-----------SUBRUTINAS-----------
;DELAY_L1, TEMPORIAZION POR BUCLE
DELAY_L1:                          MOV                   #11,W0
XX:                                      MOV                   #60605,W1
X:                                        DEC                     W1,W1
                                           BRA                     NZ,X
                                           DEC                     W0,W0
                                           BRA                     NZ,XX
                                           RETURN
;DELAY_L2, TEMPORIZACION POR TIMER
DELAY_L2:                         CLR                      TMR1
Y:                                       MOV                    #23437,W0
                                          CP                         TMR1
                                          BRA                      NZ,Y
                                          RETURN
;----CONFIGURACION DE PUERTOS----
;CONFIGURANDO EL PUERTO B COMO DIGITAL
INICIO:                                MOV                   #0xFFFF,W0
                                           MOV                   W0,ADPCFG
;CONFIGURANDO ENTRADAS
                                           BSET                    TRISB,#8
                                           BSET                    TRISD,#3
;CONFIGURANDO SALIDAS
                                           BCLR                    TRISD,#8
;----CONFIGURACION DEL TIMER-----
                                            MOV                   #0x8030,W0
                                            MOV                   W0,T1CON
;---ALGORITMO---
AQUI:                                   BTSS                    PORTB,#8
                                            GOTO                   L1
                                            BTSS                    PORTD,#3
                                            GOTO                   L2
                                            GOTO                  AQUI

L1:                                       BSET                    PORTF,#6
                                            CALL                    DELAY_L1
                                            BCLR                    PORTF,#6
                                            GOTO                  AQUI

L2:                                       BSET                    PORTF,#6
                                            CALL                    DELAY_L2
                                            BCLR                    PORTF,#6
                                            GOTO                  AQUI
.END

Este algoritmo da como solución al siguiente problema: Se tienen dos pulsadores P1 y P2. Al ser oprimido P1 se enciende el led L1 durante 2 segundo (temporización por bucles) y si se oprime P2 se enciende el led L1 durante 6 segundos (temporización por timer).

El vídeo-tutorial que se encuentra a continuación  fue elaborado por el  Ingeniero Oscar Escobar (oscar.oae@hotmail.com), en el cual se explica de manera sencilla como simular en MPLAB IDE.



2 comentarios:

  1. Muy buena la página. Próximamente... simulación avanzada, Programación de áreas especiales de memoria (que es Datos, PSV y EEPROM?) y quien quita, ADC... abriría un blog yo mismo, pero este aguanta bastante.

    ResponderBorrar