1. microcontrolador
Upcoming SlideShare
Loading in...5
×
 

1. microcontrolador

on

  • 3,971 views

 

Statistics

Views

Total Views
3,971
Views on SlideShare
752
Embed Views
3,219

Actions

Likes
0
Downloads
35
Comments
0

3 Embeds 3,219

http://campusvirtual.pucesi.edu.ec 3050
http://davnarvaez.jimdo.com 164
http://www39.jimdo.com 5

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

1. microcontrolador 1. microcontrolador Presentation Transcript

  • MICROCONTROLADOR MICROELECTRONICA
  • MODALIDAD  Teoría  Programación  Simulación  Práctica  Teoría  Programación  Simulación  Práctica Luis David Narváez
  • DESARROLLO LENGUAJE  Lenguaje C  PIC C Compiler. MICROCONTROLADORES  PIC 18F2550  PIC 18F4550 LENGUAJE  Lenguaje C  PIC C Compiler. MICROCONTROLADORES  PIC 18F2550  PIC 18F4550 Luis David Narváez
  • MATERIALES • 1 PIC 18F2550 • 1 PIC 18F4550 • 1 FUENTE DC (min. 5v ) • 1 Protoboard • 1 Grabador de PICs • Pinzas y Cortadora. • Cable UTP. • 1 Barra de Leds • 1 Respack 330. • Osciladores 4 y 8 MHz. • 1 Dipswitch de 8. • 1Teclado Matricial. • 4 Displays 7 segmentos • 4 Decodificadores BCD • 4Transistores 3904, 3906. • Potenciómetros • 1 Pantalla LCD 2x16 • 1 Conector DB9 hembra. • 1 PIC 18F2550 • 1 PIC 18F4550 • 1 FUENTE DC (min. 5v ) • 1 Protoboard • 1 Grabador de PICs • Pinzas y Cortadora. • Cable UTP. • 1 Barra de Leds • 1 Respack 330. • Osciladores 4 y 8 MHz. • 1 Dipswitch de 8. • 1Teclado Matricial. • 4 Displays 7 segmentos • 4 Decodificadores BCD • 4Transistores 3904, 3906. • Potenciómetros • 1 Pantalla LCD 2x16 • 1 Conector DB9 hembra. Luis David Narváez
  • INTRODUCCIÓN MICROCONTROLADOR PIC INTRODUCCIÓN MICROCONTROLADOR PIC PARTE I Luis David Narváez
  • DEFINICIONES  “SÚPER CHIPS”, basados en controladores comerciales (de la empresa MICROCHIP). Luis David Narváez
  • FAMILIAS DE MICROCONTROLADORES  LAS GAMAS DE LOS PIC  Microchip dispone de cinco gamas de Microcontroladores de 8 bits para adaptarse a las necesidades de la mayoría de los clientes potenciales:  GAMA ENANA: PIC12FXXX  GAMA BAJA O BASICA: PIC16C5X  GAMA MEDIA: PIC 16FXXX  GAMA ALTA: PIC17CXXX  GAMA SUPERIOR: PIC18FXXX  LAS GAMAS DE LOS PIC  Microchip dispone de cinco gamas de Microcontroladores de 8 bits para adaptarse a las necesidades de la mayoría de los clientes potenciales:  GAMA ENANA: PIC12FXXX  GAMA BAJA O BASICA: PIC16C5X  GAMA MEDIA: PIC 16FXXX  GAMA ALTA: PIC17CXXX  GAMA SUPERIOR: PIC18FXXX Luis David Narváez
  • GAMAS DE LOS PIC GAMA SUPERIOR: PIC18FXXX  Tecnología CMOS.  MCU estática con convertidor A/D.  Pila de 32 niveles, una palabra de instrucción de 16 bits, múltiples interrupciones internas y externas, un set de 77 instrucciones.  Alto rendimiento de 10 MIPS (Millones de Instrucciones por Segundo) para una MCU. GAMA SUPERIOR: PIC18FXXX  Tecnología CMOS.  MCU estática con convertidor A/D.  Pila de 32 niveles, una palabra de instrucción de 16 bits, múltiples interrupciones internas y externas, un set de 77 instrucciones.  Alto rendimiento de 10 MIPS (Millones de Instrucciones por Segundo) para una MCU. Luis David Narváez
  • PIC 18F4550 MULTIMEDIA Luis David Narváez
  • EL OSCILADOR • INTOSC Oscilador interno de precisión (dos modos) • RC Oscilador con resistencia y condensador (dos modos) • XT Cristal / Resonador • HS Cristal de alta velocidad / Resonador. • LP Cristal para baja frecuencia y bajo consumo de potencia. • EC Reloj externo Nota: En el momento de programar o “quemar” el microcontrolador se debe especificar el tipo de oscilador que se usa. Esto se hace a través de unos bits llamados: “fusibles de configuración”. • INTOSC Oscilador interno de precisión (dos modos) • RC Oscilador con resistencia y condensador (dos modos) • XT Cristal / Resonador • HS Cristal de alta velocidad / Resonador. • LP Cristal para baja frecuencia y bajo consumo de potencia. • EC Reloj externo Nota: En el momento de programar o “quemar” el microcontrolador se debe especificar el tipo de oscilador que se usa. Esto se hace a través de unos bits llamados: “fusibles de configuración”. Luis David Narváez
  • OSCILADORES DE CRISTAL Luis David Narváez
  • OSCILADORES DE CRISTAL Tipo Frecuencia OSC1/C1 OSC2/C2 LP 32 Khz 200 Khz 68 – 100 pF 15 - 33 pF 68 - 100 pF 15 - 33 pF XT 100 Khz 2 Mhz 4 Mhz 100 – 150 pF 15 – 33 pF 15 – 33 pF 100 – 150 pF 15 – 33 pF 15 – 33 pF XT 100 Khz 2 Mhz 4 Mhz 100 – 150 pF 15 – 33 pF 15 – 33 pF 100 – 150 pF 15 – 33 pF 15 – 33 pF HS 4 Mhz 10 Mhz 15 – 33 pF 15 – 33 pF 15 – 33 pF 15 – 33 pF Luis David Narváez
  • OSCILADOR TIPO RC Luis David Narváez
  • Circuito de Reset Luis David Narváez
  • APLICACIONES Luis David Narváez
  • APLICACIONES Luis David Narváez
  • Introducción PIC C CompilerIntroducción PIC C Compiler PARTE 2 Luis David Narváez
  • DEFINICIONES CCS PIC COMPILER DESKTOP AUTHOR  LENGUAJE C CCS PIC COMPILER DESKTOP AUTHOR  LENGUAJE C Luis David Narváez
  • DEFINICIONES Luis David Narváez
  • ELEMENTOS BÁSICOS Luis David Narváez
  • C ESPECÍFICO PARA LOS PIC Las principales diferencias entre compiladores residen en las directivas (preprocessor commands) y en las funciones integradas (built-in functions). Directivas de Preprocesado más habituales: #ASM Las líneas entre estas dos directivas deben ser instrucciones #ENDASM Ensamblador que se insertan tal y como aparecen. #BIT id = x.y Se crea una variable tipo bit correspondiente al bit y del byte x en memoria. #BYTE id = x Se crea una variable y se sitúa en el byte x en memoria. Si ya existía esa variable, se coloca físicamente en la posición especificada. Las principales diferencias entre compiladores residen en las directivas (preprocessor commands) y en las funciones integradas (built-in functions). Directivas de Preprocesado más habituales: #ASM Las líneas entre estas dos directivas deben ser instrucciones #ENDASM Ensamblador que se insertan tal y como aparecen. #BIT id = x.y Se crea una variable tipo bit correspondiente al bit y del byte x en memoria. #BYTE id = x Se crea una variable y se sitúa en el byte x en memoria. Si ya existía esa variable, se coloca físicamente en la posición especificada. Luis David Narváez
  • C ESPECÍFICO PARA LOS PIC #DEFINE id texto El identificador se sustituye por el texto adjunto. #DEVICE chip Define el micro para el que se escribe el código. #FUSES options Define la palabra de configuración para la grabación del microcontrolador. #INCLUDE <fichero> Se incluye el texto del fichero especificado en el #INCLUDE “fichero” directorio o fuera de él. #INLINE La función que sigue a esta directiva se copia en memoria de programa cada vez que se le llame. Puede servir para mejorar la velocidad. #SEPARATE La función que sigue a esta directiva se implementa de manera separada (no INLINE). De esta manera se ahorra ROM #DEFINE id texto El identificador se sustituye por el texto adjunto. #DEVICE chip Define el micro para el que se escribe el código. #FUSES options Define la palabra de configuración para la grabación del microcontrolador. #INCLUDE <fichero> Se incluye el texto del fichero especificado en el #INCLUDE “fichero” directorio o fuera de él. #INLINE La función que sigue a esta directiva se copia en memoria de programa cada vez que se le llame. Puede servir para mejorar la velocidad. #SEPARATE La función que sigue a esta directiva se implementa de manera separada (no INLINE). De esta manera se ahorra ROM Luis David Narváez
  • C ESPECÍFICO PARA LOS PIC #ORG start Sitúa el código a partir de una determinada posición de la memoria de programa #INT_xxxx Indica que la función que sigue es un programa de tratamiento de la interrupción xxxx. #INT_GLOBAL Indica que la función que sigue es un programa genérico de tratamiento de interrupción. No se incluye código de salvaguarda de registros ni de recuperación como cuando se usa #INT_xxxx. #PRIORITY ints Establece un orden de prioridad en las interrupciones. #USE DELAY (clock = frecuencia en Hz) Define la frecuencia del oscilador que se va a utilizar, que se emplea para realizar los cálculos para funciones integradas de retardo. #ORG start Sitúa el código a partir de una determinada posición de la memoria de programa #INT_xxxx Indica que la función que sigue es un programa de tratamiento de la interrupción xxxx. #INT_GLOBAL Indica que la función que sigue es un programa genérico de tratamiento de interrupción. No se incluye código de salvaguarda de registros ni de recuperación como cuando se usa #INT_xxxx. #PRIORITY ints Establece un orden de prioridad en las interrupciones. #USE DELAY (clock = frecuencia en Hz) Define la frecuencia del oscilador que se va a utilizar, que se emplea para realizar los cálculos para funciones integradas de retardo. Luis David Narváez
  • GESTION DE PUERTOS I/O REGISTROS –VARIABLES EN LA MEMORIA RAM: Se definen los puertos como variables que se colocan en las posiciones reales en la memoria RAM de datos. (Memory Organization) FUNCIONES ESPECÍFICAS DEL COMPILADOR Se definen la dirección de los datos si es necesario. Uso de funciones propias del compilador. #USE FAST_IO #USED FIXED_IO #USE STANDARD_IO Luis David Narváez REGISTROS –VARIABLES EN LA MEMORIA RAM: Se definen los puertos como variables que se colocan en las posiciones reales en la memoria RAM de datos. (Memory Organization) FUNCIONES ESPECÍFICAS DEL COMPILADOR Se definen la dirección de los datos si es necesario. Uso de funciones propias del compilador. #USE FAST_IO #USED FIXED_IO #USE STANDARD_IO
  • NOTA IMPORTANTE  El Registro TRIS controla la dirección de las líneas del puerto a configurar.  Un “cero” en el bit correspondiente al pin lo configura como salida y pone el contenido de la memoria (latch) en el pin seleccionado.  Mientras que un “uno” lo configura como entrada y pone el correspondiente circuito de salida en alta impedancia.  El Registro TRIS controla la dirección de las líneas del puerto a configurar.  Un “cero” en el bit correspondiente al pin lo configura como salida y pone el contenido de la memoria (latch) en el pin seleccionado.  Mientras que un “uno” lo configura como entrada y pone el correspondiente circuito de salida en alta impedancia. Luis David Narváez
  • DEFINIENDO REGISTROS RAM PORTX TRISX: Directiva #BYTE #BYTE TRISB = 0x93 // Define la variableTRISB #BYTE PORTB = 0x81 // Define la variable PORTB Estas variables permiten controlar los puertos y se pueden utilizar en asignaciones: Luis David Narváez PORTX TRISX: Directiva #BYTE #BYTE TRISB = 0x93 // Define la variableTRISB #BYTE PORTB = 0x81 // Define la variable PORTB Estas variables permiten controlar los puertos y se pueden utilizar en asignaciones:
  • DEFINIENDO REGISTROS RAM El compilador de CCS incorpora una serie de funciones integradas que permite manejar los bits de una variable. Luis David Narváez El compilador de CCS incorpora una serie de funciones integradas que permite manejar los bits de una variable.
  • DEFINIENDO REGISTROS RAM Se puede trabajar directamente con una variable de un (1) bit. Luis David Narváez Se puede trabajar directamente con una variable de un (1) bit.
  • FUNCIONES DEL COMPILADOR Funciones orientadas a trabajar con los puertos E/S: Luis David Narváez
  • FUNCIONES DEL COMPILADOR Funciones orientadas a trabajar con los puertos E/S: Luis David Narváez
  • FUNCIONES DEL COMPILADOR Funciones para la gestión de Puertos E/S: Luis David Narváez Funciones para la gestión de Puertos E/S:
  • FUNCIONES DEL COMPILADOR Funciones para la gestión de Puertos E/S: Luis David Narváez Funciones para la gestión de Puertos E/S:
  • FUNCIONES DEL COMPILADOR Funciones para la gestión de Puertos E/S: Luis David Narváez Funciones para la gestión de Puertos E/S:
  • PARPADEO DE LED’s  Enunciado: Encender y apagar 4 LEDs conectados a los pines RB0, RB1, RB2 y RB3 con una temporización de 500ms, empleando las diferentes formas de configurar los pines en Lenguaje C.  Enunciado: Encender y apagar 4 LEDs conectados a los pines RB0, RB1, RB2 y RB3 con una temporización de 500ms, empleando las diferentes formas de configurar los pines en Lenguaje C. Luis David Narváez
  • PARPADEO DE LED’s  Conexión de Leds: Luis David Narváez
  • PARPADEO DE LED’s  Reto: Encender uno a la vez los pines del PORTD del Microcontrolador 18f4550  Reto: Encender uno a la vez los pines del PORTD del Microcontrolador 18f4550 Luis David Narváez
  • MUCHAS GRACIASMUCHAS GRACIAS PREGUNTAS / COMENTARIOS Luis David Narváez