Entrenadora:Módulo I/O digital 8 bits

De Asociación de Robotica y Domótica de España (A.R.D.E.)

Tabla de contenidos

Características

Objetivos

El objetivo de este módulo es el de servir como visualizador de las salidas de un puerto o como método sencillo de entrada de datos al mismo.

Esta pensado para que los principiantes puedan empezar a depurar.

Características Técnicas

Las características más importantes de este módulo son las siguientes:

  • Posibilidad de cambiar de nivel las entradas.
  • Se debe recordar que las señales no están aisladas por lo que un fallo en las entradas o salidas puede provocar un mal funcionamiento del módulo procesador.

Hardware

Opciones de Montaje

El conector de potencia J1 junto con el jumper S10 y el diodo D9 se pueden eliminar en caso de no querer adaptar los niveles de señal. En este caso se deberán puentear las entradas 1 y 2 del jumper.

Orden de montaje

Se recomienda seguir el siguiente orden a la hora de montar:

  • Resistencias: R1 a R8
  • Diodo: D9
  • Resistencias: R9 y R10
  • Pulsadores: S1 a S8
  • Leds: D1 a D8
  • Transistores: Q1 a Q8
  • Switch: S9
  • Jumper: S10
  • Conectores: J1 a J3

Documentos

Histórico

Versión 1.0.0

Software

Programa de ejemplo

  • Procesador: PIC18F452
  • IDE/Compilador: MPLAB IDE v8.00 / C18
  • Frecuencia: 10MHz
  • Este programa realiza un barrido del puerto D del PIC para comprobar que el módulo es correcto.

  1. /** +001+
  2.  * Nombre: PortD.c
  3.  * Descripción: Este programa realiza un barrido del puerto D del PIC para comprobar que el módulo es correcto.
  4.  * Autor: Ranganok Schahzaman
  5.  * Asociación de Robótica y Domótica de España
  6.  * http://www.webdearde.com
  7.  * Revisiones:
  8.  * +RRR+ AAAA/MM/DD Nombre Descripción
  9.  * ---------------------------------------------------------------------------------------------
  10.  * +001+ 2009/02/23 Ranganok Cambiada cabecera
  11.  */
  12.  
  13. #include <p18cxxx.h>
  14. #include <p18f452.h>
  15. #include <delays.h>
  16. #pragma code
  17.  
  18. void main(void)
  19. {
  20. TRISD = 0;
  21.  
  22. PORTD = 0xEF;
  23.  
  24. /* Loop forever */
  25. while (1)
  26. {
  27.  
  28. Delay10KTCYx(50);
  29. Rrncf(PORTD,1,0);
  30. }
  31. }

Herramientas personales