SlideShare a Scribd company logo
1 of 58
Download to read offline
E/S DIGITALES
MICROELECTRONICA
MODALIDAD
 Teoría
 Programación
 Simulación
 Práctica
Luis David Narváez
DESARROLLO
LENGUAJE
 Lenguaje C  PIC C Compiler. V. 5.008
SIMULADOR
 PROTEUS 8.1
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.
• 1 Teclado Matricial.
• 4 Displays 7 segmentos
• 4 Decodificadores BCD
• 4 Transistores 3904, 3906.
• Potenciómetros
• 1 Pantalla LCD 2x16
• 1 Pantalla GLCD 128x64
• 1 Conector DB9 hembra.
Luis David Narváez
REPASO E/S DIGITALES
MICROCONTROLADOR PIC
PARTE I
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.
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”.
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
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
PIC C Compiler
PARTE 2
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.
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
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.
Luis David Narváez
GESTION DE PUERTOS I/O
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.
Luis David Narváez
DEFINIENDO REGISTROS RAM
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
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
Luis David Narváez
Se puede trabajar directamente con una variable de un (1) bit.
FUNCIONES DEL COMPILADOR
Luis David Narváez
Funciones orientadas a trabajar con los puertos E/S:
FUNCIONES DEL COMPILADOR
Luis David Narváez
Funciones orientadas a trabajar con los puertos E/S:
FUNCIONES DEL COMPILADOR
Luis David Narváez
Funciones para la gestión de Puertos E/S:
FUNCIONES DEL COMPILADOR
Luis David Narváez
Funciones para la gestión de Puertos E/S:
FUNCIONES DEL COMPILADOR
Luis David Narváez
Funciones para la gestión de Puertos E/S:
MODALIDAD
 Encendido y Apagado.
 Rotación de bits.
 Traslado de bits.
 Interruptores y Switchs.
 Rebotes
 Contadores
Luis David Narváez
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.
Luis David Narváez
PARPADEO DE LED’s
 Conexión de Leds:
Luis David Narváez
RETO:
 Semáforos en una intersección, incluido
Stop y Go para Peatones
 Enunciado: Realizar una emulación de dos
semáforos en una intersección mediante el
Encendido y Apagado de Leds, con indicadores de
stop y go para peatones.
ENCENDIDO Y APAGADO
Luis David Narváez
 Para rotar los bits a la izquierda empleamos las
funciones:
 rotate_left( adress, bytes);
 En donde address puede ser un identificador de un
array o la dirección a un byte o a una estructura,
bytes es el número de bytes implicados en la
rotación.
 Ejemplo: var = 0x40;
 rotate_left(&var,1); // var=0x80
ROTACIÓN DE BITS
Luis David Narváez
TRASLADO DE BITS
 La misma explicación es válida para:
 rotate_right( adress, bytes)
 Otra forma de realizar el mismo efecto es empleando el
operador
 desplazamiento (>> derecha, << izquierda)
 Ejemplos: var=0x40;
 var=var<<n // n es el número de bits a desplazar
Luis David Narváez
 Enunciado: Se trata de hacer encender 8 LEDs de
manera consecutiva, sin que permanezcan
encendidos dos de ellos simultáneamente. Los LEDs
están conectados al PORTB<RB7:RB0>, y al
PORTD <RD7:RD0>.
PRÁCTICA
Luis David Narváez
FLUJOGRAMA
Luis David Narváez
SIMULACIÓN
Luis David Narváez
RETO:
 Enunciado:
 Encender secuencialmente, a la izquierda dos (2) a
la vez, los 8 LEDs conectados al PORTB con un
retardo de 500ms. Y al mismo tiempo a la
izquierda tres (3) a la vez, l 8 LEDs conectados al
PORTD con un retardo de 1s.
Luis David Narváez
RETO:
 Enunciado:
 Realizar el juego de luces del auto fantástico con
8 LEDs conectados al PORTB, con un retardo de
50ms.
Luis David Narváez
Interruptores y Switchs
Entradas Digitales
Luis David Narváez
ENTRADAS DE DATOS
 Los dispositivos de entrada de datos encontramos con
frecuencia en sensores de alarmas (magnéticos, de
movimiento, infrarrojos, etc.), sensores digitales
industriales (sensores digitales de proximidad, finales de
carrera, pulsadores de marcha y paro de motores, etc.).
Rebotes en un pulsador
 El problema en la utilización de estos dispositivos son los
rebotes que aparecen en el momento en que cambian de
posición, cuya duración depende de la fuerza con que se
presione este dispositivo, y a su estructura interna.
Luis David Narváez
ENTRADAS DE DATOS
Luis David Narváez
ELIMINAR REBOTES
 Para eliminar este problema se suele realizar
por dos medios:
 Hardware mediante el empleo de un flip-flop, un
condensador, etc.
 Software utilizando los retardos de cerca de
10ms que es lo que normalmente una persona
tarda en presionar y soltar una tecla.
Luis David Narváez
 Enunciado:
 Se desea controlar una lámpara desde dos puntos
diferentes por medio de 2 interruptores. La
lámpara está conectada al RB0 y los interruptores
a RA0 y RA1
Luis David Narváez
PRÁCTICA
DESARROLLO
 Como podemos observar en el circuito, cuando los
interruptores están abiertos introducen un “0L”
(conectados a través de resistencias pull-down). De
acuerdo a las condiciones del enunciado, la lámpara
debe funcionar de acuerdo a la siguiente tabla de
verdad:
S1 (RA1 S0 (RA0)
SALIDA
(RB0)
Observaciones
0
0
1
1
0
1
0
1
0
1
1
0
Apagado
Encendido
Encendido
Apagado
Luis David Narváez
DESARROLLO
 Como se mencionó anteriormente, en lenguaje C,
para realizar la lectura de un puerto se utiliza la
función
 var= input_port_y ()
// Pone en var el valor de los pines del port_y
 Según analizamos anteriormente, la sentencia case es
la herramienta más indicada a utilizarse en este caso.
Luis David Narváez
SIMULACIÓN
Luis David Narváez
 Enunciado:
 Realizar un programa que permita visualizar, el
estado (on/off) de 5 switchs conectados en el
puerto B (<RB4:0>), mediante 5 diodos LED
conectados en el puerto D (<RD4:0>). La
conexión de los switchs se realizará empleando
resistencias pull-up, de tal forma que, cuando un
switch esté abierto el microcontrolador reciba un
“1L”. En esta posición el LED correspondiente
estará apagado.
Luis David Narváez
PRÁCTICA
DESARROLLO
 En este circuito, los switchs, al estar en posición OFF
(abiertos), sus pines están conectados a través de la
resistencia de 10KΩ a 5V, dando un estado lógico alto
(1L), en esa posición el LED correspondiente debe estar
apagado, entonces se requiere invertir el valor leído en el
puerto B para sacar un estado lógico bajo (0L) que
apague el LED.
 La misma lógica se aplicará en la posición ON (cerrado).
Luis David Narváez
SIMULACIÓN
Luis David Narváez
 Enunciado:
 Se desea realizar un programa que cuente los
pulsos provenientes de un pulsador
(CONTADOR) conectado a RD1 y los visualice en
forma binaria en LEDs conectados al PORTB. El
número máximo de conteo será 12, momento en
el cual se detiene y activa una señal visual (LED) o
sonara (Zumbador, conectado al RD2) por 5 veces.
El reinicio del conteo se realiza presionando la
tecla REINICIO conectada al pin RD0
Luis David Narváez
PRÁCTICA
DESARROLLO
 En este caso vamos a utilizar las funciones de
verificación del estado de un pin del puerto,
 If (bit_test(var,3) || !bit_test(var,1)) // o
el bit 3 de var es 1 o el bit 1 es 0.
 El mismo efecto se tiene si se emplea
 if(input(pin_x) || !input(pin_y))
 Para el incremento utilizaremos:
 var++ // equivale a var=var+1
Luis David Narváez
DESARROLLO
Luis David Narváez
 El programa se ha realizado de tal forma que el
incremento en el conteo se realiza solo si se suelta
la tecla de conteo.
 Además se han utilizado unos pequeños retardos
para eliminar los rebotes.
 Otra situación importante que hay que remarcar es
que el reinicio se sucede únicamente si el contador
ha llegado al valor máximo (12 decimal).
SIMULACIÓN
Luis David Narváez
RETO:
 Enunciado:
 Realizar un contador binario tal que, con un
pulsador cuente en forma ascendente hasta llegar
a 255(Puede ser hasta 25 por pruebas) y luego
sea descendente. Un led conectado en RA3 se
encenderá cuando el contador este al máximo o
al mínimo (0 y 255).
Luis David Narváez
RETO:
 Enunciado:
 Realizar un contador binario con dos pulsadores,
uno ascendente hasta 255 y con otro
descendente hasta 0. El cambio de ascendente a
descendente se realiza en cualquier instante
según se presione el pulsador correspondiente.
Existirá además un botón de reinicio.
Luis David Narváez
MUCHAS GRACIAS
PREGUNTAS /
COMENTARIOS
Luis David Narváez

More Related Content

What's hot

Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Luis Zurita
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1Luis Zurita
 
Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Hamiltonn Casallas
 
Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Raphael Raphael
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2Luis Zurita
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5Luis Zurita
 
Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Hamiltonn Casallas
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3Luis Zurita
 
Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80Pablo Chumania
 
Comunicación Serial Asíncrona con el Stellaris
Comunicación Serial Asíncrona con el Stellaris Comunicación Serial Asíncrona con el Stellaris
Comunicación Serial Asíncrona con el Stellaris Alejandro Zaraos Vázquez
 
upc algoritmos 02
upc algoritmos 02upc algoritmos 02
upc algoritmos 02upc
 

What's hot (19)

Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4
 
Micro2 tema 4
Micro2 tema 4Micro2 tema 4
Micro2 tema 4
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11
 
Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5
 
Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3
 
Usart
UsartUsart
Usart
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
Ejemplos pic c
Ejemplos pic cEjemplos pic c
Ejemplos pic c
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80
 
Comunicación Serial Asíncrona con el Stellaris
Comunicación Serial Asíncrona con el Stellaris Comunicación Serial Asíncrona con el Stellaris
Comunicación Serial Asíncrona con el Stellaris
 
Sistema competencias con el Stellaris
Sistema competencias con el StellarisSistema competencias con el Stellaris
Sistema competencias con el Stellaris
 
upc algoritmos 02
upc algoritmos 02upc algoritmos 02
upc algoritmos 02
 

Similar to Entradas salidas digitales 2015

2. entradas salidas digitales
2. entradas salidas digitales2. entradas salidas digitales
2. entradas salidas digitalesDavid Narváez
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosmarco calderon layme
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
2. entradas salidas digitales ingenieria - PIC
2. entradas salidas digitales   ingenieria - PIC2. entradas salidas digitales   ingenieria - PIC
2. entradas salidas digitales ingenieria - PICDavid Narváez
 
4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadoresDavid Narváez
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesiDavid Narváez
 
Introducpic2
Introducpic2Introducpic2
Introducpic2conalep
 
Introducpic
IntroducpicIntroducpic
Introducpicconalep
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2Luis Zurita
 
Ejercicio pic assembler
Ejercicio pic assemblerEjercicio pic assembler
Ejercicio pic assemblerAlexis Rivera
 
2. Entradas salidas digitales Arduino PUCESI 2017
2. Entradas salidas digitales    Arduino PUCESI 20172. Entradas salidas digitales    Arduino PUCESI 2017
2. Entradas salidas digitales Arduino PUCESI 2017David Narváez
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 

Similar to Entradas salidas digitales 2015 (20)

1. microcontrolador
1. microcontrolador1. microcontrolador
1. microcontrolador
 
2. entradas salidas digitales
2. entradas salidas digitales2. entradas salidas digitales
2. entradas salidas digitales
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltos
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
2. entradas salidas digitales ingenieria - PIC
2. entradas salidas digitales   ingenieria - PIC2. entradas salidas digitales   ingenieria - PIC
2. entradas salidas digitales ingenieria - PIC
 
4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadores
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Tarea final
Tarea finalTarea final
Tarea final
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Micro2 tema 1
Micro2 tema 1Micro2 tema 1
Micro2 tema 1
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Ejercicio pic assembler
Ejercicio pic assemblerEjercicio pic assembler
Ejercicio pic assembler
 
2. Entradas salidas digitales Arduino PUCESI 2017
2. Entradas salidas digitales    Arduino PUCESI 20172. Entradas salidas digitales    Arduino PUCESI 2017
2. Entradas salidas digitales Arduino PUCESI 2017
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Taller cruce por cero
Taller cruce por ceroTaller cruce por cero
Taller cruce por cero
 

More from David Narváez

3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdf3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdfDavid Narváez
 
1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdf1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdfDavid Narváez
 
Muestreo Aleatorio - Bioestadística
Muestreo Aleatorio - BioestadísticaMuestreo Aleatorio - Bioestadística
Muestreo Aleatorio - BioestadísticaDavid Narváez
 
Protocolos y Acceso a la Red
Protocolos y Acceso a la RedProtocolos y Acceso a la Red
Protocolos y Acceso a la RedDavid Narváez
 
Procedimientos Estadística Descriptiva
Procedimientos Estadística DescriptivaProcedimientos Estadística Descriptiva
Procedimientos Estadística DescriptivaDavid Narváez
 
Variables Recolección Datos
Variables Recolección DatosVariables Recolección Datos
Variables Recolección DatosDavid Narváez
 
2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdf2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdfDavid Narváez
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfDavid Narváez
 
1. Redes en la Actualidad
1. Redes en la Actualidad1. Redes en la Actualidad
1. Redes en la ActualidadDavid Narváez
 
3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidad3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidadDavid Narváez
 
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdfDavid Narváez
 
Procedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdfProcedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdfDavid Narváez
 
2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdf2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdfDavid Narváez
 
2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdf2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdfDavid Narváez
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfDavid Narváez
 
1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOT1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOTDavid Narváez
 
Seguridad de la información
Seguridad de la informaciónSeguridad de la información
Seguridad de la informaciónDavid Narváez
 
Virtual private network VPN e IPSec
Virtual private network VPN e IPSecVirtual private network VPN e IPSec
Virtual private network VPN e IPSecDavid Narváez
 
Listas de control de acceso - ACL
Listas de control de acceso - ACLListas de control de acceso - ACL
Listas de control de acceso - ACLDavid Narváez
 
Recomendación X.800 UIT
Recomendación X.800 UITRecomendación X.800 UIT
Recomendación X.800 UITDavid Narváez
 

More from David Narváez (20)

3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdf3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdf
 
1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdf1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdf
 
Muestreo Aleatorio - Bioestadística
Muestreo Aleatorio - BioestadísticaMuestreo Aleatorio - Bioestadística
Muestreo Aleatorio - Bioestadística
 
Protocolos y Acceso a la Red
Protocolos y Acceso a la RedProtocolos y Acceso a la Red
Protocolos y Acceso a la Red
 
Procedimientos Estadística Descriptiva
Procedimientos Estadística DescriptivaProcedimientos Estadística Descriptiva
Procedimientos Estadística Descriptiva
 
Variables Recolección Datos
Variables Recolección DatosVariables Recolección Datos
Variables Recolección Datos
 
2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdf2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdf
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdf
 
1. Redes en la Actualidad
1. Redes en la Actualidad1. Redes en la Actualidad
1. Redes en la Actualidad
 
3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidad3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidad
 
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
 
Procedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdfProcedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdf
 
2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdf2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdf
 
2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdf2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdf
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdf
 
1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOT1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOT
 
Seguridad de la información
Seguridad de la informaciónSeguridad de la información
Seguridad de la información
 
Virtual private network VPN e IPSec
Virtual private network VPN e IPSecVirtual private network VPN e IPSec
Virtual private network VPN e IPSec
 
Listas de control de acceso - ACL
Listas de control de acceso - ACLListas de control de acceso - ACL
Listas de control de acceso - ACL
 
Recomendación X.800 UIT
Recomendación X.800 UITRecomendación X.800 UIT
Recomendación X.800 UIT
 

Recently uploaded

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 

Recently uploaded (20)

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 

Entradas salidas digitales 2015

  • 2. MODALIDAD  Teoría  Programación  Simulación  Práctica Luis David Narváez
  • 3. DESARROLLO LENGUAJE  Lenguaje C  PIC C Compiler. V. 5.008 SIMULADOR  PROTEUS 8.1 MICROCONTROLADORES  PIC 18F2550  PIC 18F4550 Luis David Narváez
  • 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. • 1 Teclado Matricial. • 4 Displays 7 segmentos • 4 Decodificadores BCD • 4 Transistores 3904, 3906. • Potenciómetros • 1 Pantalla LCD 2x16 • 1 Pantalla GLCD 128x64 • 1 Conector DB9 hembra. Luis David Narváez
  • 5. REPASO E/S DIGITALES MICROCONTROLADOR PIC PARTE I Luis David Narváez
  • 6. 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. Luis David Narváez
  • 7. 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”. Luis David Narváez
  • 9. 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 HS 4 Mhz 10 Mhz 15 – 33 pF 15 – 33 pF 15 – 33 pF 15 – 33 pF Luis David Narváez
  • 10. OSCILADOR TIPO RC Luis David Narváez
  • 11. Circuito de Reset Luis David Narváez
  • 14. PIC C Compiler PARTE 2 Luis David Narváez
  • 17. 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. Luis David Narváez
  • 18. 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 Luis David Narváez
  • 19. 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. Luis David Narváez
  • 20. GESTION DE PUERTOS I/O 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
  • 21. 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. Luis David Narváez
  • 22. DEFINIENDO REGISTROS RAM 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:
  • 23. DEFINIENDO REGISTROS RAM Luis David Narváez El compilador de CCS incorpora una serie de funciones integradas que permite manejar los bits de una variable.
  • 24. DEFINIENDO REGISTROS RAM Luis David Narváez Se puede trabajar directamente con una variable de un (1) bit.
  • 25. FUNCIONES DEL COMPILADOR Luis David Narváez Funciones orientadas a trabajar con los puertos E/S:
  • 26. FUNCIONES DEL COMPILADOR Luis David Narváez Funciones orientadas a trabajar con los puertos E/S:
  • 27. FUNCIONES DEL COMPILADOR Luis David Narváez Funciones para la gestión de Puertos E/S:
  • 28. FUNCIONES DEL COMPILADOR Luis David Narváez Funciones para la gestión de Puertos E/S:
  • 29. FUNCIONES DEL COMPILADOR Luis David Narváez Funciones para la gestión de Puertos E/S:
  • 30. MODALIDAD  Encendido y Apagado.  Rotación de bits.  Traslado de bits.  Interruptores y Switchs.  Rebotes  Contadores Luis David Narváez
  • 31. 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. Luis David Narváez
  • 32. PARPADEO DE LED’s  Conexión de Leds: Luis David Narváez
  • 33. RETO:  Semáforos en una intersección, incluido Stop y Go para Peatones  Enunciado: Realizar una emulación de dos semáforos en una intersección mediante el Encendido y Apagado de Leds, con indicadores de stop y go para peatones. ENCENDIDO Y APAGADO Luis David Narváez
  • 34.  Para rotar los bits a la izquierda empleamos las funciones:  rotate_left( adress, bytes);  En donde address puede ser un identificador de un array o la dirección a un byte o a una estructura, bytes es el número de bytes implicados en la rotación.  Ejemplo: var = 0x40;  rotate_left(&var,1); // var=0x80 ROTACIÓN DE BITS Luis David Narváez
  • 35. TRASLADO DE BITS  La misma explicación es válida para:  rotate_right( adress, bytes)  Otra forma de realizar el mismo efecto es empleando el operador  desplazamiento (>> derecha, << izquierda)  Ejemplos: var=0x40;  var=var<<n // n es el número de bits a desplazar Luis David Narváez
  • 36.  Enunciado: Se trata de hacer encender 8 LEDs de manera consecutiva, sin que permanezcan encendidos dos de ellos simultáneamente. Los LEDs están conectados al PORTB<RB7:RB0>, y al PORTD <RD7:RD0>. PRÁCTICA Luis David Narváez
  • 39. RETO:  Enunciado:  Encender secuencialmente, a la izquierda dos (2) a la vez, los 8 LEDs conectados al PORTB con un retardo de 500ms. Y al mismo tiempo a la izquierda tres (3) a la vez, l 8 LEDs conectados al PORTD con un retardo de 1s. Luis David Narváez
  • 40. RETO:  Enunciado:  Realizar el juego de luces del auto fantástico con 8 LEDs conectados al PORTB, con un retardo de 50ms. Luis David Narváez
  • 41. Interruptores y Switchs Entradas Digitales Luis David Narváez
  • 42. ENTRADAS DE DATOS  Los dispositivos de entrada de datos encontramos con frecuencia en sensores de alarmas (magnéticos, de movimiento, infrarrojos, etc.), sensores digitales industriales (sensores digitales de proximidad, finales de carrera, pulsadores de marcha y paro de motores, etc.). Rebotes en un pulsador  El problema en la utilización de estos dispositivos son los rebotes que aparecen en el momento en que cambian de posición, cuya duración depende de la fuerza con que se presione este dispositivo, y a su estructura interna. Luis David Narváez
  • 43. ENTRADAS DE DATOS Luis David Narváez
  • 44. ELIMINAR REBOTES  Para eliminar este problema se suele realizar por dos medios:  Hardware mediante el empleo de un flip-flop, un condensador, etc.  Software utilizando los retardos de cerca de 10ms que es lo que normalmente una persona tarda en presionar y soltar una tecla. Luis David Narváez
  • 45.  Enunciado:  Se desea controlar una lámpara desde dos puntos diferentes por medio de 2 interruptores. La lámpara está conectada al RB0 y los interruptores a RA0 y RA1 Luis David Narváez PRÁCTICA
  • 46. DESARROLLO  Como podemos observar en el circuito, cuando los interruptores están abiertos introducen un “0L” (conectados a través de resistencias pull-down). De acuerdo a las condiciones del enunciado, la lámpara debe funcionar de acuerdo a la siguiente tabla de verdad: S1 (RA1 S0 (RA0) SALIDA (RB0) Observaciones 0 0 1 1 0 1 0 1 0 1 1 0 Apagado Encendido Encendido Apagado Luis David Narváez
  • 47. DESARROLLO  Como se mencionó anteriormente, en lenguaje C, para realizar la lectura de un puerto se utiliza la función  var= input_port_y () // Pone en var el valor de los pines del port_y  Según analizamos anteriormente, la sentencia case es la herramienta más indicada a utilizarse en este caso. Luis David Narváez
  • 49.  Enunciado:  Realizar un programa que permita visualizar, el estado (on/off) de 5 switchs conectados en el puerto B (<RB4:0>), mediante 5 diodos LED conectados en el puerto D (<RD4:0>). La conexión de los switchs se realizará empleando resistencias pull-up, de tal forma que, cuando un switch esté abierto el microcontrolador reciba un “1L”. En esta posición el LED correspondiente estará apagado. Luis David Narváez PRÁCTICA
  • 50. DESARROLLO  En este circuito, los switchs, al estar en posición OFF (abiertos), sus pines están conectados a través de la resistencia de 10KΩ a 5V, dando un estado lógico alto (1L), en esa posición el LED correspondiente debe estar apagado, entonces se requiere invertir el valor leído en el puerto B para sacar un estado lógico bajo (0L) que apague el LED.  La misma lógica se aplicará en la posición ON (cerrado). Luis David Narváez
  • 52.  Enunciado:  Se desea realizar un programa que cuente los pulsos provenientes de un pulsador (CONTADOR) conectado a RD1 y los visualice en forma binaria en LEDs conectados al PORTB. El número máximo de conteo será 12, momento en el cual se detiene y activa una señal visual (LED) o sonara (Zumbador, conectado al RD2) por 5 veces. El reinicio del conteo se realiza presionando la tecla REINICIO conectada al pin RD0 Luis David Narváez PRÁCTICA
  • 53. DESARROLLO  En este caso vamos a utilizar las funciones de verificación del estado de un pin del puerto,  If (bit_test(var,3) || !bit_test(var,1)) // o el bit 3 de var es 1 o el bit 1 es 0.  El mismo efecto se tiene si se emplea  if(input(pin_x) || !input(pin_y))  Para el incremento utilizaremos:  var++ // equivale a var=var+1 Luis David Narváez
  • 54. DESARROLLO Luis David Narváez  El programa se ha realizado de tal forma que el incremento en el conteo se realiza solo si se suelta la tecla de conteo.  Además se han utilizado unos pequeños retardos para eliminar los rebotes.  Otra situación importante que hay que remarcar es que el reinicio se sucede únicamente si el contador ha llegado al valor máximo (12 decimal).
  • 56. RETO:  Enunciado:  Realizar un contador binario tal que, con un pulsador cuente en forma ascendente hasta llegar a 255(Puede ser hasta 25 por pruebas) y luego sea descendente. Un led conectado en RA3 se encenderá cuando el contador este al máximo o al mínimo (0 y 255). Luis David Narváez
  • 57. RETO:  Enunciado:  Realizar un contador binario con dos pulsadores, uno ascendente hasta 255 y con otro descendente hasta 0. El cambio de ascendente a descendente se realiza en cualquier instante según se presione el pulsador correspondiente. Existirá además un botón de reinicio. Luis David Narváez