Está en la página 1de 8
BOLETIN TECNICO N° 14 PROGRAMA DEMO BASICO UTILIZANDO UN PIC16F84 Y MPLAB 4.0 Update (04 Mayo 1999) OVERVIEW El MPLAB-IDE es una plataforma de desarrollo integrada (Integrated Development Environment), compuesta basicamente de 7 partes - Editor Permite escribir los programas en lenguaje assembler 0 en C (si es que se tiene el compilador C instalado) = Administrador de proyectos Permite crear proyectos para mis tarde compilarlos y simularios -MPASM Ensamblador: Programa que permite transformar el archivo con las instruceiones en assembler a un cédigo hexadecimal. Este tiltimo es el que se grabard en el microcontrolador -MPSIM Simulador: Este parte del software permite simular (no en tiempo real) los programas. En el se pueden observar los cambios en los registros de ram, registros de uso especificos, periféricos, simular estimulos externos, simular interrupeiones, ete. -MPLIB Administrador de librerias: Permite crear librerias de programas que se pueden utilizar en muchas aplicaciones y asi no tener necesidad de escribirlos nuevamente. -MPLINK Linker: Permite enlazar distintos partes de un programa, desarrotlados en archivos distintos y a la vez incorporar librerias - PICSTART-PLUS Programador: Esta parte del MPLAB permite establecer comunicacign con la programador PicStart-Plus y finalmente programar los microcontroladores El uso de cada una de las partes mencionadas es totalmente transparente y todas compatibles con MPLAB y accesibles por medio de un sistema de menus Para actualizaciones del firmware del PicStart-Plus, lea el archivo Readme pls que esta incluido en el directorio donde se instalé el MPLAB Este programa demo solamente hace uso del Editor, el Ensamblador, el Simulador y el Programador Este programa se realizara utilizando el software suministrado por MICROCHIP, llamado MPLAB version 3.40, ineluido en el sistema de desarrollo PICSTART-PLUS, Esta version ya se encuentra disponible en internet, chip com) © en nuestro Departamento de Soporte Técnico. Este programa es solo una forma de n para los PICs. No presente ser una demostracién integra del software. INSTALACION DE MPLAB El software MPLAB se puede obtener de 2 formas. = Enntemet = En CD-ROM Microchip El “June 98 Techical Library CD-ROM” es una copia de la web de Microchip en Internet, por los que en ambos casos el proceso de instalacién es el mismo, 1 Insertar el CD-ROM. Automiticamente iniciara la aplicacién bajo Explorer 0 Nesteape, dependiendo de cual sea su browser. 2 Una vez dentro de la pagina web, seleccionar la opcién Development Tools, y luego un click sobre MPLAB-IDE. 3 Puede esooger bajar Ia instalacién completa en un solo archivo comprimido o en $ archivos distintos que pueden ser copiados cada uno en un disquete. Escoja la opeién que mas le acomode y luego siga las instruceiones del instalador. 5 Alfinal del proceso de instalaci6n, aparecerd un ventana llamada Microchip MPLAB. 6 Haga click sobre el icono llamado MPLAB para iniciar la aplicacion Antes de proceder al proceso de programacién, es fiuertemente recomendado leer primero los siguientes tépicos de la datasheet del microcontrolador de interés. ~ Overview de la arquitectura = Configuracién de los puestos HO (A y Ben este caso) = Interrupciones = Set de instrucciones DESCRIPCION DEL PROGRAMA. Este programa entrega un tren de pulsos de onda cuadrada de nivel TTL de aproximadamente 6mS de periodo. Se utilizara el pin RAO del puerto A como salida de datos. Para efectos diddcticos, utilizaremos el PIC16F84-04/P, microcontrolador con IKbyte en memoria de programa tipo flash eeprom, 68 bytes en ram para datos, 64 bytes de flash eeprom para datos y 13 pines 0. PASOS A SEGUIR PROG! Inicializacion Cargue el MPLAB Primero debe elegir el controlador a simular. Para ello elija la opeién Development Mode en el menti Option Aparecerd una ventana titulada “Development Mode”. Marque la opcién Mplab-Sim Simulator Escoja el controlador de interés (en este caso el PICIGF84) en el recuadro Procesor Haga click en RESET. El programa tomard un momento para configurarse. Creando un Programa Selecciones la opcién New en el ment File, Aparecerd una pagina en blanco. Si aparece un mensaje que dice “A proyect is not currently opened Would like create a new proyec?”, escoja la opcin NO y aparecera una pagina en blanco. Escriba alli el programa aqui descrito a continuacién, desde 1a marca indicada. Haga click en el indicador de ventana (esquina superior izquierda) y elija la opeién Toggle Line Numbers, para enumerar las lineas del programa, RAMA (escriba desde aqui) :Definicién del controlador para el ensamblador list p=picl6f84___;define el microcontrolador para MPASM sTabla de equivatencias STATUS, equ 3; corresponde a direecién de registro STATUS (ver datasheet) PORTA equ 5; corresponde a direcci TRISA TRISB PUNTEROI equ Oc ; direccién de ram ut PUNTE OPpTio del puerto A (ver datasheet) equ 5; corresponde a direccién del registro TRISA para configurar el puerto A (ver + datasheet). equ 6; corresponde a direccién del registro TRISB para configurar el puerto A (ver + datasheet). ida para producir retardo (ver datasheet). ERO2 equ Od ; direceién de ram utilizada para producir retardo (ver datasheets) IN_REG equ 1; direccién de registro OPTION INTCON equ Ob ; direccién de registro INTCON (ver datasheet) Direce ciones Assembler Comentario ; CONFIGURANDO INTERRUPCIONES: INICIO bsf STATUS,5 s pone en 1 bit RPO registro Status. Cambio a banco 1 de ; memoria (ver datasheet) movlw b"10000000" : carga un 16000000 (80h) en W (acumulador) movwfOPTION REG —_; carga el contenido de W en el registro OPTION, clock asignado al timer, ; interrupeién en pin RBO/INT por flaneo de bajada nado al timer (ver datasheet) movlw 0 movwf INTCON movlw 0 movwf TRISA movlw bo HLL movwf TRISB bef STATUS,5 OTRA2 bsf PORTAO call RETARDO- bef PORTAO call RETARDO. goto OTRA2 RETARDO movlw 4 movwf PUNTERO2 OTRAL movlw Of OTRA 10 movwf PUNTEROL decfsz PUNTEROL,1 goto OTRA deciz PUNTERO2,1 goto OTRAL return end ; carga el contenido de W on el registro INTCON : deshabilita todas las interrupeiones ; deshabilita interrupeiones por fin de eseritura de ; eeprom de datos : deshabilita interrupcién por timer overfow + deshabilita interrupeién en pin RBO'INT + Deshabilita interrupcién por cambios en puerto B : limpia flag TOIF. INTF, RBIF. > CONFIGURANDO PUERTOS: ; carga 0 en W (acumulador) ; configura puerta A como salida (ver datasheet) > FFaW : RBO-RB7 como entrada : SALIDA DE DATOS + RPO en bajo. Cambio a banco 0 de memoria + pone bit 0 puerto A en alto (pin RAO en alto) ; Hama rutina de retardo ; limpia bit 0 puerto A (pin PAO en bajo) ; llama rutina de retardo : RUTINA DE RETARDO 34 (00000100) a W 34a PUNTEROZ FF(11111111)aW a PUNTEROI ; decrementa PUNTEROL, si el resultado es cero, ejecuta la subsiguiente instruecién. alto incondicional a direecin OTRA ; decrementa PUNTERO2, si el resultado es cero, ; ejecuta Ia subsiguiente instruccion, ; salto incondicional a direccién OTRAI :wuelve de rutina in para ensamblador Una vez escrito el programa, sdlvelo seleccionando la opcién Save As en el menti File Escoja el directorio donde desea guardar el programa y pongale un nombre. El nombre debe tener extensién asm, para que el ensamblador lo reconozea mas tarde Por ejemplo: “demo_84.asm" Una vez salvado el programa, usted debe erear un proyecto donde podré compilar y Creando un Proyecto imular el programa aie ul 12 13 14 15 16 7 18 19 20 21 22 23 Para ello elija la opeién New Projec” en el ment Project. Aparecerd una ventana Hamada ait Proyect. En la recuadro Target Filename apareceri el nombre del archivo assembler con extensién hex (por ejemplo demo_84.hex). Este es el archivo que finalmente se programaré en el microcontrolador. En el recuadro Include Path, poner el directorio del archivo proyecto. Los recuadros Library Path y Linket Script Path no estan habilitados NOTA: Es fuertemente recomendado que los nombres y los directorios de los archivos asm y pit sean los mismos En el recuadro Lenguaje Tool Suite, escoger el tipo de lenguaje utilizado. La opeién Microchip corresponde al lenguaje assembler de los microcontroladores PIC. Las opeiones HI-TECH y By Craf corresponden a programacién en lenguaje C con compiladores de estos fabrieantes que son compatibles con MPLAB. En el recuadro Development Mode debe decir MPLAB-SIM. Si no es asi, haga click en el recuadro y escoja esta opeién en la ventana que aparecera, Si usted olvidé hacer lo indicado en el paso 3, puede corrajirlo con este paso. En el cuadro titulado Proyect File debe aparecer el nombre del proyecto con la extensién hex entre paréntesis cuadrados. Haga click sobre este archivo, entonces la opeién Node Properties se habilitara, Haga click sobre esta opci Aparecerii un cuadro del mismo nombre. En el cuadro Lenguaje Tool debe decir MPASM dado que usted esta programando en assembler. Si usted esté programando en lenguaje C y esti utilizando un compilador C de Microchip. encoja en este recuadro la opcion correspondiente al nombre y version de su compilador. Asuma los valores por defectos de este cuadro, Si desea cambiar alguno, dirijase a 1a opcién MPLAB Help del ment Help del ment principal y busque los temas relacionados para saber que significa cada opcidn. Haga click en OK Entonces se habilitara 1a opeién Add Node. Haga click en esta opeidn. Aparecert una ventana del mismo nombre. En el recuadro Browse busque el directorio y el archivo con extensién asm y nego haga click en OK En el recuadro Proyect File parecer el nombre del archivo assembler con la extension asin entre paréntesis cuadrados, Haga click en OK. Ensamblando o compilando el programa En el meni Project escoja la opeién Built All. MPASM compilard su programa y con ello erearé un archivo con extension hex (si la compilacién no presenta errores), otro con extension err (si la 24 25 26 27 28 29 30 32 33 34 35 Si la compilacién arroja errores, Mplab mostrar una ventana donde mostrar el niimero de fa linea de programa con error y una descripeién de mismo. Entonces dirijase a la (s) linea(s) mencionada(s) y corrija el(los) error(es). Luego repita el paso 25 Si la compilaci6n no arroja errores, aparecord una ventana llamada Build Result, donde diré Build completed suscessfully. Ahora esta listo para simular el programa click en el primer icono de izquierda a derecha en la barra de herramientas (debajo del ‘meni principal) hasta que aparezcan la serie de iconos pertenecientes al modo de proyecto (sematforos, pasos, iconos que dicen ROM, RAM. SFR, iconos con lentes, etc) Haga click en el icono SFR para ver los registros de uso espevificos (registro status, timer, puertos, acumulador, ete). La cantidad de registros de uso especificos depende de los periféricos del controlador. Haga click en el icono RAM para ver las direcciones de ram de interés (registros de uso general). Estos aparecerin en formato hexadecimal. Para verlos en formato de simbolos, haga click en el indicador de ventana correspondiente ¥ elija la opeién Simbolic Display. Si s6lo desea ver los registros que le interesan, haga click en el icono con lentes y seleccione de la lista, el registro de interés y luego haga click en Add. Si desea agregar otro registro, repita Ia biisqueda y haga click en Add. Finalmente haga click en Close Haciendo click en el ieono con pasos, se ejecutarin las lineas de programa, una por cada cli Los registros se pondrin rojos cada vez que cambien de estado y azul cuando no lo hagan. Si desea hacer una simulacién automatica, elija la opeién Animate, en la opeién Run del menit Debug. Se ejecutardn cada una de las lineas de programa en forma automatica, Cuando se ejecute una linea, se destacard con una franja negra, Para detener la simulacién, haga click en el icono con semaforo rojo. Si desea simular estimulos externos asincronos, haga click Asynchronous Stimulus, en la opein Simulator Stimulus en el menii Debug. Apareceri una ventana Hamada Asynchronous Stimulus Dialog con 12 cuadros de estimulos programables, Haga click sobre el botén derecho del mouse sobre unos de los cuadros. Luego selecciones el tipo de estimulo, Haga click con el bot6n derecho del mouse nuevamente sobre el mismo cuadro anterior y elija la opcién Assing Pin y asigne el pin que desea ser estimulado. Para aplicar el estimulo en alguna parte del programa, cuando se esté ejecutando en forma dindmica 0 en. forma manual paso a paso, haga click sobre el cuadro de estimulos ya configurado y el MPSIM asumira el estimulo. os 38 39 41 42 43 44 46 47 48 49 Usted puede ademas simular estimulos en forma de trenes de pulsos y estimulos en registros. En este caso no podrd simular estimulos extemos porque I programa sugerido no contempla esta opeién Programacién de PIC Primero debe conectar el programador PicStart-Plus a uno de los puertos seriales de su computador. Se recomienda el uso de la COM2. Para tales efectos, debe utilizar un adaptador DB9M/DB25H. Escoja la opeién Comunication Port Setup en la opcién Programmer Option del ment Options, y seleccione el puerto de comunicacién COM2. El sistema tomaré un leve momento para asumir el cambio icin, Luego elija la opcién Enable Programmer en el ment PicStart Plus, MPLAB establecer comuni con el programador y Ia vez mostrara la version del firmware del mismo (iiltima versién 1.50, viene con MPLAB 3.40) Aparecerdin 2 ventanas. Una de ellas muestra el cédigo hexadecimal del programa y la otra las opciones de programacién En a ventana llamada Piestart Plus Device Programmer, configure los opciones del microcontrolador - Device Corresponde a microcontrolador a programar - Oscillator Seleccionar el tipo de oscilador a utilizar (XT.RC,LP.HS, ver datasheets) - Watchdog Habilitar o deshabilitar. Si no se va a utiliza, debe estar deshabilitado (ver datasheets). - Processor Mode Opcién solo disponible para serie PICI7 (ver datasheets) - Brown Out Detector Habilita reset para cuando alimentacién cae por debajo de 4.2V (ver datasheet) ~ Code Protect Habilita opcién de proteccién contra lectura de la memoria de programa y datos eeprom de microcontrolador. Precaucién: Si se habilita esta opeién en las versiones con eprom (ventana), no necesariamente podri ser borrada nuevamente (ver boletin téenico n° 11 de Vietronies Ltda. Solicitelo por e-mail vicironi@eepricl o por fono 2253788, - Power Up Timer Habilita inicializacion del timer para aplicaciones de alta frecuencia o cristales inestables (ver datasheet) Haga click en Device ID. En este cuadro usted puede poner un niimero identificatorios, n® de serie del equipo, versidn firmware, ete. Es opeional. Haga click en la opcién Program/ Verify y seleccione las are programar Haga click en Program Si hay problemas de comunicacién o de verificacién en este proceso, MPLAB le indicaré el tipo de error Corrijalos y programe nuevamente. Es fuertemente recomendado tener a mano la datasheet del microcontrolador a utilizar, en este caso el del PICIGE84, cuando se esté programando. Circuito propuesto 18 Mhz PICIOFS4-047P PICI6CRE-04/P 2-33pF Jean Calderén Riquelme. Ingenieto (E) Electrénico Jefe Departamento Soporte Técnico E Ingenieria de Productos RAO osct vpp vss MCLR [> 88 A punta de osciloscopio

También podría gustarte