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
- 101.IODigital8Bits_v00.01.00.pdf: Esquemático y PCB (v.0.1.0 beta 1)
Histórico
Versión 1.0.0
- Fecha: 23/09/2008
- Ficehros PDF: 101.IODigital8Bits_v00.01.00.pdf
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.
/** +001+ * Nombre: PortD.c * Descripción: Este programa realiza un barrido del puerto D del PIC para comprobar que el módulo es correcto. * Autor: Ranganok Schahzaman * Asociación de Robótica y Domótica de España * http://www.webdearde.com * Revisiones: * +RRR+ AAAA/MM/DD Nombre Descripción * --------------------------------------------------------------------------------------------- * +001+ 2009/02/23 Ranganok Cambiada cabecera */ #include <p18cxxx.h> #include <p18f452.h> #include <delays.h> #pragma code void main(void) { TRISD = 0; PORTD = 0xEF; /* Loop forever */ while (1) { Delay10KTCYx(50); Rrncf(PORTD,1,0); } }
