INTRODUCCIÓN A LAS INTRODUCCIÓN A LAS HERRAMIENTAS LIBRES GNU/Linux HERRAMIENTAS LIBRES GNU/Linux PARA LA PROGRAMACIÓN DE PARA LA PROGRAMACIÓN DE MICROCONTROLADORES PIC MICROCONTROLADORES PIC Ing. Juan Dirceu Navarro A. Ing. Juan Dirceu Navarro A. 2006 2006
22
Embed
INTRODUCCIÓN A LAS HERRAMIENTAS LIBRES GNU/Linux PARA LA PROGRAMACIÓN DE MICROCONTROLADORES PIC
Breve introducción a la programación de microcontroladores usando herramientas libres.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
INTRODUCCIÓN A LAS INTRODUCCIÓN A LAS HERRAMIENTAS LIBRES GNU/Linux HERRAMIENTAS LIBRES GNU/Linux
PARA LA PROGRAMACIÓN DE PARA LA PROGRAMACIÓN DE MICROCONTROLADORES PICMICROCONTROLADORES PIC
Ing. Juan Dirceu Navarro A.Ing. Juan Dirceu Navarro A.20062006
●¿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.
ContenidoContenido
“Un Microcontrolador es un circuito integrado que contiene todos los componentes de un
computador”
¿Que es un Microcontrolador?¿Que es un Microcontrolador?
[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 Diferencia entre un microprocesador y un microcontroladory 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 Diferencia entre un microprocesador y un microcontrolador (cont. 1)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 Diferencia entre un microprocesador y un microcontrolador (cont. 2)y un microcontrolador (cont. 2)
MicrocontroladorMicroprocesador o CPU
Diagrama de bloques y terminalesDiagrama de bloques y terminales
Diagrama de bloques y terminalesDiagrama de bloques y terminales(cont. 1)(cont. 1)
Mapa de la memoriaMapa de la memoria
Manejo de los puertosManejo 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 ARA0 Entrada RA3 EntradaRA1 Salida RA4 EntradaRA2 Salida
Manejo de los puertos Manejo de los puertos (cont. 1)(cont. 1)
Solución:
Todas las Salidas = 0 (Binario)Todas las Entradas = 1 (Binario)
En Hexadecimal:Asignar al Registro TRISA = 0x13 ò asignar a 0x5 <= 0x13Asignar 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 Manejo de los puertos (cont. 2)(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 Manejo de los puertos (cont. 3)(cont. 3);Ejemplo 1. Configuración de puertos;Juan Dirceu Navarro Arias
LIST P=PIC16F84INCLUDE "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
beginORG 0 ; Iniciamos el programa en la posición 0 de la memoriaBSF STATUS,RP0 ; Cambiamos al banco de memoria 1MOVLW 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.