que cumpla con las siguientes condiciones (se debe ajustar el hardware quesea necesario):
Lea cuatro bits de un puerto paralelo
en la tarjeta conectados a un dipswitch. El dipswitch manejara los 8 leds de la explorer 8.
El primer bit leído del dipswitch maneja los leds
D4 y D5 de la tarjeta explorer, el segundo dip maneja los leds D3 y D6, el tercer dip los leds D2 y Timer0 se configuro con un valor de 1ms ya que D7, el cuarto dip los leds D1 y D8. este es el 50% del duty de una frecuencia de 0.5 Hz, se utiliza como reloj para la ejecución de la Interprete cada bit leído como un indicador de secuencia. que se debe hacer titilar o no el grupo de leds correspondientes al bit, a una frecuencia de 0.5 Hz Con el valor obtenido del div, se determina la con ciclo útil de 50%, siempre y cuando los restantes bits no estén activos. Si más de un bit está secuencia a ejecutar. El valor del div estará de 1 a activo, los leds activos deben titilar alternadamente, 15, por lo tanto se tendrán 15 casos y en cada uno un ciclo por grupo de leds, a la frecuencia de 0.5 Hz de estos se manejaran 4 datos y 1 caso (entre 1 y 4) para cada ciclo, como se observa en la figura N°1. que dependerá de los grupos a encender, encender (D4, D5), (D3, D6), (D2, D7) y (D1, D8). El firmware se debe desarrollar haciendo uso de funciones en C para el manejo de periféricos, así Teniendo el valor de los 4 datos y el caso, se ejecuta como usar uno de los TIMERS del la secuencia, cada caso se determina según el microcontrolador para la base de tiempo del número de switch activos es decir máximo 4, por proyecto. ejemplo para el caso 2 switch activos: MAQUINA DE ESTADOS.
En la siguiente figura se muestra la máquina de
estados que describe el funcionamiento del algoritmo para cumplir el objetivo planteado.
Se da inicio con un reset del valor del Div, seguido
de adquirir el valor del Div. Si este valor es 0 es decir todos 4 switch en 0, se imprime 0 en los Leds y se retoma al inicio. Si el valor es mayor que 0, se inicia el timer 0. Se manejan 2 datos, la cuenta arranca 1, se imprime el valor del dato 1, se retorna el valor de cuenta, y se suma 1 a cuenta, si se mantiene el valor del div ingresa nuevamente al caso pero con cuenta en 2 y FACULTAD SEDE SOGAMOSO MAESTRÍA EN INGENIERÍA BÁSICA III ING. CAMILO ANDRES SANABRIA TOTAITIVE
RICARDO ALEXIS LARA GALLEGO
de esta manera sigue la ejecución hasta que cuenta - configuracion_puertos(void),configura los para el caso 2 llega a 4. puertos a utilizar. - escribir_leds(), imprime el valor deseado e Asumiendo que están activos switch 1 y switch 2 se los leds ubicados en (d1,d8). observaría de la siguiente manera: - configuracion_timer0(), configura los parámetros del timer para el caso presentado se realizó con un prescaler de 1:128, por lo tanto los valores de TMR0L= 0xDC y TMRH=0x0B. - testo_timer0(), Realiza a ejcucion del timer con los parámetros establecidos. - leer_DIP4(), Lee el valor suministrado por le div, de forma decimal. - salida(), Contiene las posibles secuencias a ejcutar. Switch 1: línea verde, Switch 2 línea purpura. RESULTADO. Al llevar cuenta a su valor final dependiendo del caso, se asignara 8 (El máximo valor pasos de la Se realizó un monitoreo en un osciloscopio para secuencia) y cuenta volverá a 0, si se mantiene el verificar los parámetros característicos del valor del div se ejecutara de nuevo esta secuencia de algoritmo y la ejecución del mismo. lo contrario se ara inicio a una nueva. En las siguientes graficas se observa el resultado de: DESCRIPCION DEL PROGRAMA 1. Activar Switch 1, 2,3,4. (ARCHIVOS .C y .H)
Los archivos utilizados en el programa fueron.
Main.c, programa principal que llama:
pic18f46k20.h (Este archive contiene la descripción
de todos los as señales del pic. )
configuracion_pic18.h, (Contiene la configuración
e los registros del pic.)
perifericos.h, (Contiene Parámetros de frecuencia
del pic, valores que se asignaran como bajo y alto al CONCLUSION. Timer0 y llamado de funciones utilizadas en el programa). - El desarrollo de este proyecto permitió evaluar y poner a puno los conocimientos periféricos.c, contiene el desarrollo de las funciones adquiridos en la clase, generando interés de utilizadas: investigación por la materia.