Búsqueda personalizada
Regístrate gratis para participar de los foros, o si ya estás registrado haz login.
| comentario del autor | Sab Jul 25, 2009 11:39 am | |
|
Con un PIC 16F84A-04 quiero usar el TIMER pero no los retardos porque el PIC queda como esclavo. La tarea que debo hacer es la sigiente: 1- En el pin RB0 debe tener una salida de 100ms en 1 y 100ms en 0. Así oscilando una señal cuadrada a esa velocidad. 2- En el pin RA4, al pulsarlo en 1 (5V), se para el timer y se detiene el pin RB0 a 0V. El pin RA4 es para activar y desactivar el timer y su salida RB0. ¿Cuál es el código necesario pra hace esto? Saludo. |
||
| solución | Dom Jul 26, 2009 9:53 pm | |
Cita:"...pero no los retardos porque el PIC queda como esclavo" Este es un concepto erroneo.- Por lo tanto si comprendes el funcionamiento de una interrupcion no dirias eso.- El Pic en cuestion posee 4 fuentes de interrupcion: 1)-Interrupción externa por patilla RB0/INT. 2)-Desbordamiento del Timer 0 (TMR0). 3)-Cambio en el estado de los bits 4 a 7 del puerto B. 4)-Escritura de EEPROM finalizada. El sistema de interrupciones consiste en un mecanismo por el cual un evento interno o externo, puede interrumpir la normal ejecución de éste produciendo automáticamente un salto a una subrutina, de manera que pueda atender inmediatamente el evento, y retomar luego la ejecución del programa exactamente en donde estaba en el momento de ser interrumpido. Comprendido esto no necesariamente necesitas hacer uso del timer para lo que vos solicitas.- Simplemente con una subrutina de retardo, una interrupcion por cambio de estado solucionas todo.- Ahora si encambio lo queres hacer con el timer0 tenes que contar los desbordes del mismo, el cual te va a generar una interrupcion, eso si asignando al prescaler a un valor correcto para tus 100ms.- Espero que entiendas.- Saludos.- |
||
| comentario del autor | Dom Jul 26, 2009 10:01 pm | |
|
Retardos. Código:
¿En TIMER es más difícil? Gracias por la ayuda. |
||