MICROCONTROLADOR
MICROELECTRONICA
MODALIDAD
 Teoría
 Programación
 Simulación
 Práctica
 Teoría
 Programación
 Simulación
 Práctica
Luis David Narvá...
DESARROLLO
LENGUAJE
 Lenguaje C  PIC C Compiler.
MICROCONTROLADORES
 PIC 18F2550
 PIC 18F4550
LENGUAJE
 Lenguaje C  ...
MATERIALES
• 1 PIC 18F2550
• 1 PIC 18F4550
• 1 FUENTE DC (min. 5v )
• 1 Protoboard
• 1 Grabador de PICs
• Pinzas y Cortado...
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 p...
GAMAS DE LOS PIC
GAMA SUPERIOR: PIC18FXXX
 Tecnología CMOS.
 MCU estática con convertidor A/D.
 Pila de 32 niveles, una...
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)
...
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 ...
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)...
C ESPECÍFICO PARA LOS PIC
#DEFINE id texto El identificador se sustituye por el texto adjunto.
#DEVICE chip Define el micr...
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_x...
GESTION DE PUERTOS I/O
REGISTROS –VARIABLES EN LA MEMORIA RAM:
Se definen los puertos como variables que se colocan en las...
NOTA IMPORTANTE
 El Registro TRIS controla la dirección de las líneas del
puerto a configurar.
 Un “cero” en el bit corr...
DEFINIENDO REGISTROS RAM
PORTX TRISX:
Directiva #BYTE
#BYTE TRISB = 0x93 // Define la variableTRISB
#BYTE PORTB = 0x81 // ...
DEFINIENDO REGISTROS RAM
El compilador de CCS incorpora una serie de funciones
integradas que permite manejar los bits de ...
DEFINIENDO REGISTROS RAM
Se puede trabajar directamente con una variable de un (1) bit.
Luis David Narváez
Se puede trabaj...
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...
FUNCIONES DEL COMPILADOR
Funciones para la gestión de Puertos E/S:
Luis David Narváez
Funciones para la gestión de Puertos...
FUNCIONES DEL COMPILADOR
Funciones para la gestión de Puertos E/S:
Luis David Narváez
Funciones para la gestión de Puertos...
PARPADEO DE LED’s
 Enunciado: Encender y apagar 4 LEDs conectados a los
pines RB0, RB1, RB2 y RB3 con una temporización d...
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...
MUCHAS GRACIASMUCHAS GRACIAS
PREGUNTAS /
COMENTARIOS
Luis David Narváez
Próxima SlideShare
Cargando en…5
×

1. microcontrolador

4.522 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
4.522
En SlideShare
0
De insertados
0
Número de insertados
3.589
Acciones
Compartido
0
Descargas
65
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

1. microcontrolador

  1. 1. MICROCONTROLADOR MICROELECTRONICA
  2. 2. MODALIDAD  Teoría  Programación  Simulación  Práctica  Teoría  Programación  Simulación  Práctica Luis David Narváez
  3. 3. 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
  4. 4. 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
  5. 5. INTRODUCCIÓN MICROCONTROLADOR PIC INTRODUCCIÓN MICROCONTROLADOR PIC PARTE I Luis David Narváez
  6. 6. DEFINICIONES  “SÚPER CHIPS”, basados en controladores comerciales (de la empresa MICROCHIP). Luis David Narváez
  7. 7. 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
  8. 8. 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
  9. 9. PIC 18F4550 MULTIMEDIA Luis David Narváez
  10. 10. 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
  11. 11. OSCILADORES DE CRISTAL Luis David Narváez
  12. 12. 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
  13. 13. OSCILADOR TIPO RC Luis David Narváez
  14. 14. Circuito de Reset Luis David Narváez
  15. 15. APLICACIONES Luis David Narváez
  16. 16. APLICACIONES Luis David Narváez
  17. 17. Introducción PIC C CompilerIntroducción PIC C Compiler PARTE 2 Luis David Narváez
  18. 18. DEFINICIONES CCS PIC COMPILER DESKTOP AUTHOR  LENGUAJE C CCS PIC COMPILER DESKTOP AUTHOR  LENGUAJE C Luis David Narváez
  19. 19. DEFINICIONES Luis David Narváez
  20. 20. ELEMENTOS BÁSICOS Luis David Narváez
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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:
  27. 27. 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.
  28. 28. 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.
  29. 29. FUNCIONES DEL COMPILADOR Funciones orientadas a trabajar con los puertos E/S: Luis David Narváez
  30. 30. FUNCIONES DEL COMPILADOR Funciones orientadas a trabajar con los puertos E/S: Luis David Narváez
  31. 31. 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:
  32. 32. 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:
  33. 33. 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:
  34. 34. 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
  35. 35. PARPADEO DE LED’s  Conexión de Leds: Luis David Narváez
  36. 36. 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
  37. 37. MUCHAS GRACIASMUCHAS GRACIAS PREGUNTAS / COMENTARIOS Luis David Narváez

×