• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Introduccion a las herramientas libres GNU/Linux para la programacion de microcontroladores PIC

on

  • 2,860 views

 

Statistics

Views

Total Views
2,860
Views on SlideShare
2,860
Embed Views
0

Actions

Likes
0
Downloads
54
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduccion a las herramientas libres GNU/Linux para la programacion de microcontroladores PIC Introduccion a las herramientas libres GNU/Linux para la programacion de microcontroladores PIC Presentation Transcript

    • INTRODUCCIÓN A LAS HERRAMIENTAS LIBRES GNU/Linux PARA LA PROGRAMACIÓN DE MICROCONTROLADORES PIC Ing. Juan Dirceu Navarro A. 2006
    • Contenido ● ¿Que es un Microcontrolador? ● Diferencia entre un microprocesador y un microcontrolador. ● Diagrama de bloques y terminales. ● Mapa de la memoria. ● Manejo de los puertos. ● Herramientas Libres. ● Ejemplos de programación. ● Conclusiones.
    • ¿Que es un Microcontrolador? “Un Microcontrolador es un circuito integrado que contiene todos los componentes de un computador” [MI99] Un microcontrolador es una computadora de baja prestación, que está gobernada por un programa que convierte al microcontrolador en una computadora dedicada.
    • Diferencia entre un microprocesador y un microcontrolador Microprocesador o CPU Un microprocesador es un sistema abierto con el que puede construirse un computador con las características que se desee, acoplándose los módulos necesarios. [MI99]
    • Diferencia entre un microprocesador y un microcontrolador (cont. 1) Microcontrolador Un microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones limitadas que no se pueden modificar. [MI99]
    • Diferencia entre un microprocesador y un microcontrolador (cont. 2) Microprocesador o CPU Microcontrolador
    • Diagrama de bloques y terminales
    • Diagrama de bloques y terminales (cont. 1)
    • Mapa de la memoria
    • Manejo de los puertos Generalmente los puertos de un PIC se pueden configurar como entradas o salidas, analógicas o digitales. Ejemplo: Configurar los puertos A y B del PIC 16F84 con las siguientes especificaciones: Puerto A Puerto B RA0 Entrada RA3 Entrada RB0 Entrada RB3 Salida RA1 Salida RA4 Entrada RB1 Salida RB4 Entrada RA2 Salida RB2 Entrada RB5 Salida RB6 Entrada RB7 Entrada
    • Manejo de los puertos (cont. 1) Solución: Todas las Salidas = 0 (Binario) Todas las Entradas = 1 (Binario) En Hexadecimal: Asignar al Registro TRISA = 0x13 ò asignar a 0x5 <= 0x13 Asignar al Registro TRISB = 0xB5 ò asignar a 0x6 <= 0xB5 En Octal: Asignar al Registro TRISA = 0'19' ò asignar a 0'5' <= 0'19' Asignar al Registro TRISB = 0'265' ò asignar a 0'6' <= 0'265'
    • Manejo de los puertos (cont. 2) Pregunta: ¿Y cómo programo? Respuesta: Cambiando de banco de memoria, el registro STATUS permite cambiar de banco de memoria. Registro STATUS (0x3):
    • Manejo de los puertos (cont. 3) ;Ejemplo 1. Configuración de puertos ;Juan Dirceu Navarro Arias LIST P=PIC16F84 INCLUDE "p16f84.inc" ; Declaración de Variables ; STATUS equ 0x3 ; PORTA equ 0x5 ; TRISA equ 0x85 ; PORTB equ 0x6 ; TRISB equ 0x86 ; RP0 equ 0x5 ; Programa begin ORG 0 ; Iniciamos el programa en la posición 0 de la memoria BSF STATUS,RP0 ; Cambiamos al banco de memoria 1 MOVLW 0x13 ; Movemos 10011 al registro de trabajo W. MOVWF TRISA ; Configuramos el puerto A como salida, moviendo W -> f(registro). MOVLW 0xB5 ; Movemos 10110101 al registro de trabajo W. MOVWF TRISB ; Configuramos el puerto B como salida, moviendo W -> f(registro). BCF STATUS,RP0 ; Salimos del banco de memoria 1 al banco 0. END
    • Herramientas Libres GNU/Linux. ¿Que necesito para programar un Microcontrolador? ●Editor de textos: Emacs, vi, vim, gedit, kedit, kate, etc. ●Compilador, assembler: gpasm, tpasm, Jal, Pyastra, etc. ●Simulador: gpsim, miSim, SxSim, etc. ●Programador: ➢Software:Odyssey, prog84, PP06, picprg, MIPI, etc. ➢Hardware: EPIC, El Cheapo, Tait, JDM, Propic2, etc. Adicionales: GUIs, IDEs.
    • Herramientas Libres GNU/Linux. (cont. 1) Existen muchas herramientas libres GNU/Linux para programar PICs: http://www.gnupic.org/ GPUTILS Conjunto de herramientas para compilar el coligo fuente en ensamblador: GPASM (GNU/Linux) => MPAMS MS Windows GPSIM Simulador de GPASM. XGPASM Interfaz de usuario gráfica (GUI) de GPASM
    • Herramientas Libres GNU/Linux. (cont. 2) PIKDEV Entorno de desarrollo Integrado (IDE) para GPASM. Programadores: Software: Odyssey (Puerto paralelo) odyssey PIC16F877 write /home/user/PICs/Programas/suma.hex Picprog 1.7 (Puerto serial) picprog --burn --device=pic16f84 --input suma.hex --pic /dev/ttyS1 Hardware: El Cheapo (Puerto paralelo) EPIC Programmer (Puerto paralelo) YAP-II (Puerto serial) PICFun (Puerto serial)
    • Ejemplos de programación Ejemplo 2 Se desea encender 8 LEDs en forma secuencial, utilizando el PIC 16f877. Utilizando el puerto B Ejemplo 3 Se desea encender 8 LEDs en forma secuencial, utilizando el PIC 16f877. Utilizando el puerto B (Otro método)
    • EPIC Programmer Cortesía Ing. Ramiro Astete
    • Referencias Bibliográficas [WI05]Wikipedia La enciclopedia Libre, Procesador, http://es.wikipedia.org/wiki/Procesador [MI99] José M. Angulo Usategui, Ignacio Angulo Martinez, Microcontroladores PIC Diseño Práctico de Aplicaciones, Segunda Edición, Mc Graw Hill, 1999 [MK00] Myke Predko, Programing and Customizing PICmicro Microcontrollers, Second Edition, Mc Graw Hill, 2000
    • Recursos WEB ● Compilador GPASM http://gputils.sourceforge.net/ ● Simulador GPSIM para GPAMS http://www.dattalo.com/gnupic/gpsim.html ● Interfaz de Usuario Gráfica (GUI) para GPASM http://xizard.free.fr/logiciels/xgpasm/xgpasm.html ● Entorno de Desarrollo Integrado (IDE) para GPAMS http://pikdev.free.fr/
    • Recursos WEB (cont. 1) Software ● Programador Odyssey http://www.desert.cx/odyssey/ ● Programador Picprog http://hyvatti.iki.fi/~jaakko/pic/picprog.html ● Programador Prog84 http://home3.inet.tele.dk/frda/picasm/prog.html ● Programador PP06 http://pp06.sourceforge.net/ ● Trivial LVP programmer http://www.finitesite.com/d3jsys/
    • Recursos WEB (cont. 2) Hardware El Cheapo http://www.myke.com/elcheapo.htm EPIC Programmer http://www.melabs.com/products/epic.htm YAP-II http://books.mcgraw- hill.com/engineering/updatezone/predko/html/yap- ii.htm PICFun http://www.alanmacek.com/robot/programmer.html