Arquitectura del Procesador
Digital de Señales
Semana 3 – Sesión 2
dsPIC30F4013 – Manejo de puertos de propósito
general - GPIO
dsPIC vs Microcontrolador
https://youtu.be/bC-PdbjvyX0?si=Vors21-7pLPdEOs1
¿Tienes alguna idea sobre?
• Microcontroladores
• Programación lenguaje C
Recordamos el tema de la sesión anterior
Agenda
• Logro de aprendizaje
• Activamos conocimientos previos
• Utilidad de la sesión
• Desarrollo del tema
• Practica de lo aprendido
• Conclusiones
Logro de aprendizaje de la sesión
Al finalizar la sesión el estudiante conoce el uso de los puertos de propósito
general del dsPIC30F4013.
Presentamos verbalmente el logro de aprendizaje de la sesión.
¿Qué debemos saber para la presente sesión?
• Programación en C
• Microcontroladores
Recogemos conocimientos previos para la presente sesión.
¿Cuál es la utilidad del tema para nuestro desarrollo?
- Identificar puertos de propósito general del dsPIC30F4013
Identificamos la utilidad del tema en nuestro desarrollo profesional.
Contenido
• Conocer los puertos de propósito general del dsPIC30F4013
Desarrollo del Tema
M anejo d e Puerto s G PIO en
d sPIC 30F4013 co n Leng uaje
Bienvenido a esta presentación sobre el manejo de puertos GPIO en el
dsPIC30F4013. Aprenderemos cómo controlar estos puertos usando el
lenguaje C. Este conocimiento es fundamental para interactuar con el
mundo exterior a través de este microcontrolador.
Arquitectura de los Puertos GPIO en el dsPIC30F4013
Puertos Disponibles Funciones Alternativas
El dsPIC30F4013 ofrece varios puertos: PORTA, PORTB, Cada pin GPIO puede tener varias funciones. Esto incluye
PORTC, etc. Cada puerto tiene un número específico de pines. entradas/salidas digitales, entradas analógicas, y funciones de
Algunos pines tienen funciones alternativas. Consulte el periféricos. La selección de la función se realiza mediante la
datasheet para detalles. configuración de registros.
Registros Clave para el
de Puertos
TRISx PORTx
Configura la dirección del pin Lectura del estado actual del
(entrada o salida). TRISx = 0: pin. Retorna el valor digital
Salida. TRISx = 1: Entrada. presente en el pin.
LATx
Escritura de datos al pin. Asigna un '1' o '0' para activar o desactivar
el pin.
Configuración de un Pin GPIO como Salida
Definir Dirección
Establecer el pin RA0 como salida:
TRISA0 = 0;
Encender LED
Activar el LED escribiendo un '1' en el pin:
LATA0 = 1;
Apagar LED
Desactivar el LED escribiendo un '0' en el pin:
LATA0 = 0;
Usar
__delay_ms(tiempo);
para visualizar el parpadeo. Revisar la corriente máxima del pin.
Configuración de un Pin GPIO como
Entrada
Definir Dirección
Establecer el pin RB1 como entrada:
TRISB1 = 1;
Leer Estado
Leer el estado del pulsador:
if (PORTBbits.RB1 == 1) { ... }
Pull-up/Pull-down
Usar resistencias para definir el estado lógico por defecto.
Considerar el ruido eléctrico y el uso de capacitores para filtrarlo.
Lectura d e Entrad as A naló g icas (A D C )
Pin como ANx Configurar ADC
Configurar el pin como entrada analógica 1 Configurar los registros del ADC (ADCON1,
(ANx). ADCON2, ADCON3).
2
Leer Resultado Iniciar Conversión
Leer el resultado: Iniciar la conversión:
4
3
ADC1BUF0; ADCON1bits.ADON = 1;
Esperar a que
ADCON1bits.DONE == 1
. Consulte la fórmula de conversión del sensor.
Interrupciones por Cambio de Estado en
Estado en Pines GPIO
Habilitar Global Habilitar IOCIE Configurar Pines
INTCON1bits.G IEC0bits.IOCI IOCBbits.IOCB
IE = 1; E = 1; 4 = 1;
ISR
Escribir la rutina de
atención:
void
__attribute__
((__interrupt
__))
_IOCInterrupt
(void) { ...
Detectar la}pulsación de un botón usando interrupciones para mayor eficiencia.
Control de Periféricos Simples a Través de GPIO
Motor DC Relé Comunicación Serial
Usar un transistor como switch Activar/desactivar un dispositivo de Enviar datos a una pantalla LCD
controlado por un pin GPIO para mayor voltaje usando un relé controlado utilizando comunicación serial simple a
controlar un motor DC. por GPIO. través de GPIO.
Los diagramas de conexión básicos son cruciales para implementar estos controles.
Buenas Prácticas y Consejos
el Manejo de Puertos
Datasheet Resistencias
Revisar las limitaciones de Utilizar resistencias pull-up/pull-
corriente y voltaje de los pines down cuando sea necesario
en el datasheet. para definir estados lógicos.
Entradas Analógicas
Desactivar las entradas analógicas si los pines se usan como digitales.
Proteger los pines con diodos para cargas inductivas. Documentar el código
y usar nombres descriptivos.
Conclusión y Recursos
Adicionales
Experimentación Recursos Online
La experimentación y la Explorar foros de Microchip,
práctica son fundamentales tutoriales en YouTube y blogs
para el dominio del manejo técnicos para ampliar
de puertos. conocimientos.
¡Preguntas!
¿Preguntas?
Gracias.
Trabajemos en grupo
Actividades de aplicación basado en aprendizaje colaborativo
Ejercicio 1
Hacer pruebas con los puertos del dsPIC30F4013, recibir y enviar señales
por los puertos de propósito general.
Actividades de aplicación basado en aprendizaje autónomo
¿Qué hemos aprendido en la sesión?
• Entender las diferencias entre microcontroladores y dsPIC. Uso de los
protocolos I2C y SPI
• Estructura general y estilos de programación en C
Identifiquemos los temas tratados en la sesión.