INTRODUCCIÓN A LAS
HERRAMIENTAS LIBRES GNU/Linux
  PARA LA PROGRAMACIÓN DE
  MICROCONTROLADORES PIC




   Ing. Juan Dirce...
Contenido
●   ¿Que es un Microcontrolador?
●   Diferencia entre un microprocesador y un
    microcontrolador.
●   Diagrama...
¿Que es un Microcontrolador?

“Un Microcontrolador es un circuito integrado que
     contiene todos los componentes de un
...
Diferencia entre un microprocesador
y un microcontrolador
 Microprocesador o CPU
 Un microprocesador es un sistema abierto...
Diferencia entre un microprocesador
y un microcontrolador (cont. 1)
Microcontrolador
Un microcontrolador es un sistema cer...
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 digita...
Manejo de los puertos (cont. 1)
 Solución:

 Todas las Salidas = 0 (Binario)
 Todas las Entradas = 1 (Binario)

 En Hexade...
Manejo de los puertos (cont. 2)
Pregunta: ¿Y cómo programo?
Respuesta: Cambiando de banco de memoria, el registro
STATUS p...
Manejo de los puertos (cont. 3)
  ;Ejemplo 1. Configuración de puertos
  ;Juan Dirceu Navarro Arias

  LIST P=PIC16F84
  I...
Herramientas Libres GNU/Linux.

    ¿Que necesito para programar un Microcontrolador?

●Editor de textos: Emacs, vi, vim, ...
Herramientas Libres GNU/Linux.
(cont. 1)
 Existen muchas herramientas libres GNU/Linux para
 programar PICs: http://www.gn...
Herramientas Libres GNU/Linux.
(cont. 2)
PIKDEV
Entorno de desarrollo Integrado (IDE) para GPASM.

Programadores:
Software...
Ejemplos de programación

Ejemplo 2
Se desea encender 8 LEDs en forma secuencial, utilizando
el PIC 16f877. Utilizando el ...
EPIC Programmer




        Cortesía Ing. Ramiro Astete
Referencias Bibliográficas

 [WI05]Wikipedia La enciclopedia Libre,
  Procesador, http://es.wikipedia.org/wiki/Procesador
...
Recursos WEB

●   Compilador GPASM
    http://gputils.sourceforge.net/
●   Simulador GPSIM para GPAMS
    http://www.datta...
Recursos WEB (cont. 1)
Software
●   Programador Odyssey
    http://www.desert.cx/odyssey/
●   Programador Picprog
    http...
Recursos WEB (cont. 2)

Hardware
El Cheapo http://www.myke.com/elcheapo.htm
EPIC Programmer
  http://www.melabs.com/produc...
Upcoming SlideShare
Loading in …5
×

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

3,591 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,591
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
86
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. INTRODUCCIÓN A LAS HERRAMIENTAS LIBRES GNU/Linux PARA LA PROGRAMACIÓN DE MICROCONTROLADORES PIC Ing. Juan Dirceu Navarro A. 2006
  2. 2. 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.
  3. 3. ¿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.
  4. 4. 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]
  5. 5. 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]
  6. 6. Diferencia entre un microprocesador y un microcontrolador (cont. 2) Microprocesador o CPU Microcontrolador
  7. 7. Diagrama de bloques y terminales
  8. 8. Diagrama de bloques y terminales (cont. 1)
  9. 9. Mapa de la memoria
  10. 10. 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
  11. 11. 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'
  12. 12. 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):
  13. 13. 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
  14. 14. 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.
  15. 15. 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
  16. 16. 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)
  17. 17. 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)
  18. 18. EPIC Programmer Cortesía Ing. Ramiro Astete
  19. 19. 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
  20. 20. 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/
  21. 21. 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/
  22. 22. 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

×